本文摘要(由AI生成):
这篇文章主要介绍了二次开发的作用和优势,以及在 SimLab 中进行二次开发的方法和优势。具体来说,二次开发可以减少重复劳动、固化方法、流程和经验,提高 CAE 工程师的工作效率。在 SimLab 中进行二次开发具有基于命令流、开发语言为 Python、快速定制界面工具等优势,可以实现风扇叶片自动分析、叉速器壳体自动模态分析、自动读取 csv 文件等功能。
对,你猜得没错!
就是二次开发~
二次开发让CAE工程师变成了半个程序员,和IT行业扯上了半点关系,听起来就高大上。实际上二次开发真的很有用,下面请听我掰扯掰扯~
二次开发可以有效减少重复劳动
比如手动操作需要点击100次,二次开发之后可能只需要点击两三次,可以显著提高CAE工程师的工作效率
二次开发可以固化方法、流程和经验
在汽车、航空航天等行业往往有成熟的仿真流程和方法,大量的CAE工程师也积累了丰富的经验,通过二次开发可以将整个团队的工作方法、流程和经验固化下来,即使是新手也可以快速上手做出准确的仿真结果。
相信很多 Altair 用户都或多或少接触过基于HyperMesh的二次开发,HyperMesh中做二次开发的最大优势是接口非常丰富,内置上千个API可以让工程师随心所欲地定制自己想要的功能。
SimLab是一个多物理场仿真平台,集成了Altair的结构、流体、电磁和模流求解器,可以在一个环境下完成多学科仿真的前处理、分析设置和结果后处理。简洁的操作界面、基于几何特征的网格生成方法和基于Python的命令流可以快速实现前后处理流程自动化,可高效完成多物理场仿真工作。
SimLab中可以非常方便地进行二次开发,即使没有任何编程经验,只要会操作SimLab就能做二次开发。
简单来说,SimLab中做二次开发有以下三大优势:
基于命令流进行二次开发
开发语言为Python
快速定制界面工具
优势1:基于命令流进行二次开发
很多软件都有命令流,可以记录软件中的每一步操作,比如HyperMesh的命令流文件名为command.tcl,一般保存在“我的文档”文件夹下。
SimLab和其他软件的命令流有何区别呢?
以划分面网格为例,HyperMesh的命令流如下图所示:
一共两行代码,格式为命令名称加上一串数字。如果不看帮助文档,*defaultremeshsurf后面那13个数字鬼知道什么意思。
SimLab中划分面网格的命令流是怎样的呢?
为方便对比,下面左图是SimLab中划分面网格工具的界面,右图是命令流,我用箭头进行了标注。
(点击图片可查看大图)
可以清楚地看出,SimLab的命令流其实就是对软件工具界面进行了翻译,对于会用SimLab的人来说,一眼就能看懂命令流中每个参数的具体含义。
所以,零编程经验做二次开发绝对不吹牛~
优势2:开发语言为Python
近年来,Python在各大热门编程语言排行榜上都位居前列,热度非常高,最新排行榜IEEE Spectrum2021 Python排名第一。
知乎有个问题叫“现在为什么 Python 这么火?”,我摘抄了一个答案。
请大家看看几位热门编程语言之父的照片,非常生动地说明了Python的优势。
JAVA之父-詹姆斯・高斯林
C++之父-本贾尼・斯特劳斯特卢普
Python之父-吉多・范罗苏姆
看出来了吗?Python简单易用,开源工具库非常多,不费头发。人生苦短,我用Python~
优势3:快速定制界面工具
二次开发程序通常都需要手动输入一些数据,比如载荷大小,约束面等,这就需要给每一段代码都配置一个简单的界面用于数据交互。
比如下图中的界面可以输入压力、预紧力、压力加载面、约束位置等参数。
那么问题来了,功能代码写好的基础上,手动做这样一个简单的界面需要多长时间呢?即使是熟练的二次开发工程师,至少也需要20分钟。
你猜在SimLab中定制上图中的界面,需要多少时间?
3分钟!不能再多了。
SimLab中内置了界面定制神器——UI Customization,可由Advanced>UI Customization>Dialog Designer进入下图所示的定制界面,简单几步操作即可完成界面定制,常用的界面形式都已支持。
SimLab二次开发能做啥?
命令流脚本实现风扇叶片自动分析
叉速器壳体自动模态分析
自动读取csv文件,3分钟创建148个载荷
(点击图片可查看大图)
以上就是关于SimLab二次开发特点的介绍啦。