学Python当然有用了,至于是否高端则需要看你做了什么。
毕业设计的时候,需要利用Abaqus做钢结构分析,利用Python开发了Sap2000到Abaqus的关联程序S2A(sap2000 to Abaqus)。只需要在通用结构分析软件里创建好模型,S2A可以读取Sap2000生成的*.s2k信息,按照Abaqus的需要生成*.inp文件。因为Sap2000建模非常容易,并且在编译的过程中,可以根据自己的需要,将其中的一个或者几个数值参数化,从而批量生成一系列的Abaqus模型,进行结果比较。当时给教授和他的博士生演示的时候,效果挺不错的。
这是当时做的Vogel U的 Calibrating frames分析:
/>
inp文件格式就是这样,就是看一下每一个信息在Sap2000的哪个位置,然后依次写出来。 />
后来工作后,为了做超高层地震分析,需要从美国一个网站上下载一些地震数据,然后按照Abaqus的需要改写数据形式。移动硬盘不在身边,改天找一下当时做的ppt再补充。
再后来因为Revit API开发的缘故,用C#比较多,用Python反而少了。但是心有不甘啊,Python真是太友好了,所以最近玩Dynamo的时候,又开始利用Python写用户自定义节点。
谈一下自己的感受,土木工程师做开发还是挺容易的(主要是相对于建筑师:),因为我们的思维方式还有数学功底在那里。Python相对于其他语言比较自由相对容易上手,没有那么多的格式限制。还有开发真的会提升你的工作效率,尤其是很多重复的数据,写一个循环语句,一个数据也是用它处理,一万个数据还是用它处理.......
但是切忌开始就买一本Python的书试图学习语言,小心你的锐气在漫长的学习语言过程中消磨殆尽。因为我们毕竟主业是要做设计,Python开发也是为了提供一种捷径,所以没必要像程序员那样精通一门语言。并且看一遍也不能保证你会,所以我都是想好要干什么,然后拆分一下,直接去书里相关章节找内容,就像查字典一样。
还有从简单开始,不要一开始就想玩票大的,无论是Python还是C#实现"Hello World!"是最最重要的!
另外我写的东西实现自己的需求即可,从来没有试着让专业开发校对,对他们来说,无论我们怎么努力,都是小儿科的东西。