成为CAE界老司机,二次开发占什么地位?

浏览:4688 回答:30


QQ截图20161205160328.jpg

知道如何区分CAE菜鸟和老司机吗?技术邻专家智创仿真表示:“首先,你要会CAE,其次,你要很熟悉一类分析,最重要的,你已经被这类无止无休的CAE分析,折磨的遍体鳞伤。其实更简单,问他是否会二次开发,是否写过小命令。为什么?这还用为什么吗,有限元二次开发,CAE界装X第一利器。”

几乎所有的CAE软件均有自己的脚本语言,利用这些脚本语言或者再结合其他程序语言可实现CAE软件的二次开发,二次开发可对CAE软件原有的功能进行补充,也可以将复杂的操作过程高度参数化、流程化自动化。

CAE分析的最终目的是指导产品的设计,一个顶尖的CAEer,自然是所做的CAE分析能够真实用于产品的设计,CAE的二次开发在这个过程中能够有效发挥的地方究竟有多少?二次开发仅仅只是为了让分析的速度更快一些?CAE从业人员需不需要花费很多时间在二次开发上?CAE分析技术和CAE二次开发有必然联系吗?

本周我们讨论的话题:成为CAE界老司机,二次开发占什么地位?

Ps:特别鸣谢技术邻专家长安CAE智创仿真对本周话题的大力帮助。


赶紧在下方“写评论”,说出对于CAE二次开发的任何观点


还是原来的套路,对于被选中的评论,将送上10元抵用券【全场通用】

抵用券发放时间:12月12日(哇哦~双十二技术邻学院视频有优惠活动)



邀请回答 我来回答

全部回答

(22)
默认 最新
海阔天空5
‘工欲善其事,必先利其器’。无论是对个人操作,还是商业使用,CAE的二次开发对今后都意义深长,就类似于一台机器的优化改进,能够降低成本,提高效率,更加专业化,简化使用方法。目前通用的CAE已经得到充分发挥,但也并不能满足所有企业和个人的愿望,那么不同程度的二次开发,能够在建模、分析流程、使用方法、结果统计分析等各方面更好的满足需求。这就是老司机们应当干的事儿了,丰富的CAE软件工程师对自身行业了如指掌的情况下,便能够探索更强大的功能,对软件升级完善,满足广大需求者需求企业的应用需求,更能扩充原软件的工恩功能。目前对于ANSYS/MSC在实际应用中可以看到很多的二次开发的成果,这也将是一个趋势,国内这方面软件为什么不如人家国外的,还需要去花钱购买,也正因为为此类问题贡献的人太少 精力财力不足且不精。
2016年12月6日
评论 点赞 3
峰过无痕
从软件开发角度来说,对先有商品化软件功能的第三方外部扩展,称为软件的二次开发。为了支持二次开发,通常软件会开发一些API接口给外部的应用调用(如tcl, python脚本,c/c++库等等)。二次开发的目的,主要是为了满足客户对软件定制化的要求。对于一般CAE从业人员,有没有必要弄,还是根据自己的兴趣爱好和实际项目的需要来定吧。。
2017年1月5日
评论 点赞
技术邻7号
小编来了l本期获得抵用券的名单:@胡坤 @ph007 @蓝牙 @长安CAE @糖豆CAE @海阔天空5 @大磊abaqus @dyna_focus 以上是本期互动讨论被选中的评论哦~ 互动讨论进行到了第九期,每期都收到了众多会员的热烈讨论,其中产生了许多有价值的内容。 技术邻感谢大家关注和支持。飞吻~
2016年12月12日
评论 点赞
微信公众号:FILWTBY
等我学懂了再来畅谈哦
2016年12月12日
评论 1 点赞
飞象
二次开发相当重要啊,正想学
2016年12月11日
评论 点赞
ph007
我觉得我们企业的CAE部门应该有3种人:第1类的人往高看,往深挖,解决不断面临的新问题,攻克一个个难点,当然只有很少的一部分人能胜任。第2类的人就是这次所说的二次开发人才,在我们的实际工作中主要有两方面的作用,一是效率类,将人从繁琐的建模,结果后处理的工作的解脱出来,而且大大降低出错率;二是模版类,将企业的知识,尤其是第1类人所积累的知识以模版的形式保留下来,降低使用者的门槛。这类人不需要太多,并且除了编程能力,往往还需要较好的人际协调能力。第3类人则是普通的大多数,按部就班的完成常规的日常工作即可。
2016年12月8日
评论 1 点赞
蓝牙

我的观念是: 二次开发挺重要 


二次开发不知道楼主如何定义其范围的,用户自定义材料和用户自定义单元,算不算二次开发,我就沿用胡坤的定义方式(以求解器作为界定标准),把用户自定义单元和材料也纳入到二次开发的范畴。

 按照用户需求进行分类: 

1. 以科研为主导的二次开发,我以有ABAQUS开发应变梯度单元为例,经典弹塑性理论不能考虑材料的尺度效应,我们需要对传统的单元形式进行拓展,引进高阶应变梯度,这时我可以利用ABAQUS的二次开发接口自定义单元。对于这部分用户而言,二次开发的重要作用不言而喻。二次开发几乎就是贯彻和展示自己idea的全部。 

2. 减小重复工作为主导的二次开发,对于这部分用户,二次开发是替代重复劳动的工具,不是非去编写代码不可,“懒人”总想着提高效率节省时间好去维护世界和平嘛,这个时候二次开发的重要性要降一档,但二次开发的作用还是很重要 


3.为复杂工作进行封装,提供用户友好界面的二次开发。这类二次开发,举例,比如设计院或者研究所,自己也知道如何使用经验公式也会使用软件,但是真个操作太繁琐,找个高校把这部分内容封装起来,他们只用在用户界面输入几个参数就可以出结果。这类二次开发是工作的本事,重要性也是可想而知的

 4.还有一类二次开发,就是自娱自乐型的。 比如用ansys 的gui 十几分钟就可以搞定的事情,但是非要用APDL写。用abaqus gui建模半个小时搞定的事情,费用用python去写个脚本。这类用户估计有强迫症,比如我就是!非要把简单的问题复杂化,总是希望有一天还能用到。 对于这类人,二次开发是良药,可以治疗强迫症的良药,重要性可见一斑!


 总之,个人认为二次开发在我这的地位很重要。但是二次开发还是要花大量的时间学习的,需要大量的实践机会去巩固,所需要的付出更多!

2016年12月8日
评论 1 点赞
周游
二次开发的过程是比较纠结的,但当完成后还是比较有成就感的,有限元的二次开发我倒是没做过,不过以前设计铣刨鼓的设计开发,专门用matlab开发了一套软件,那个时候感觉自己就是造物主,想让哪个按钮干啥就干啥,而且之后设计效率也是提高了非常多,以前设计一套排布需要一周,有了二次开发后二十分钟就够了,不过个人感觉不是学计算机的,没系统培训过,写代码时还是比较吃力,本来一两句可以整好的,我可能需要一两页,而且自己也感觉比较啰嗦
2016年12月8日
评论 点赞
复合材料力学
简单说一下自己对abaqus二次开发的看法吧,当初也是没办法才搞的二次开发,一方面软件前处理环节,自带的功能建模效率太低,有些功能手动也无法实现,所以只能python二次开发。另一方面,软件自带的本构无法满足个别行业一些问题的求解,就不得不写一些子程序(FORTRAN),如UMAT/VUMAT/USDFLD/VUSDFLD/VFRIC/GAPCON等。总之,二次开发的目的就是实现软件自身所不能实现的,提高软件执行效率。个人感觉,Fortran子程序开发相对重要一些,python的参数化建模也好,插件也好,平台也罢都是辅助性的,不能作为主要工作来做,否则就有些本末倒置了。
2016年12月8日
评论 点赞
工程计算与仿真
本人做了很久的anays二次开发,简单说一说自己的感受。如果要用ansys来做完整的一套,二次开发必须会,不然用ansys很麻烦。命令流简化了很多重复性工作,类似的东西,只要稍微改几个命令就可以重现,提高效率,节省时间。不过现在可以借助其他软件建模划分网格,只用ansys求解就没有必要掌握ansys命令流。但是其他软件的二次开发也很有必要,不然大部分时间只会浪费在不停的改方案的过程中。工程实践中用二次开发的很少,因为学习和编写程序需要时间,如果编写成功了,后面就可以节省大部分时间。为了更高效,成为CAE大牛,二次开发必不可少!
2016年12月8日
评论 点赞

没解决?试试专家一对一服务

换一批