本文为 WB二次开发 专篇的第 4 篇。专栏文章索引详见下文:
ANSYS WB二次开发专栏文章索引
在学习WB脚本知识前,学员还需掌握一个点,那就是ANSYS中的Python均为IronPython,那么什么是IronPython呢?
简单来讲,IronPython 是一个在微软的 .NET 平台上运行的 Python 实现。它允许开发者使用 Python 编程语言在.NET 框架中进行开发,与其他.NET 语言(如C#和VB.NET)集成,访问.NET 框架的库和功能。它 是一种 Python 的实现,它被设计成可以在.NET 平台上运行。这使得 Python 开发者可以使用他们熟悉的编程语言在.NET 生态系统中构建应用程序。
或者我们也可以这么理解,ANSYS软件采用的底层语言为C#,如果用户能用C#来开发,那肯定最好,然而C#的入门相比于Python来讲,难度系数不是提高了一点点,同时隔壁竞争对手ABAQUS与Python的兼容性已经非常友好了,故为了挽留用户,ANSYS也做了这样可供用户使用Python来进行二次开发的接口,那么这个接口通过C#与Python的中间产物IronPython来实现。
这也是为什么ANSYS的脚本可以用Python,但是他的API函数帮助却全是基于C#格式,特别是SpaceClaim API函数,这对用户使用API带来了一定的干扰。
IronPython官网:https://ironpython.net/,大家可点击去了解下。
IronPython目前最新版本为3.4,而ANSYS目前中的脚本版本为2.7,也即ANSYS中的Python语法格式遵从Python2.7的语法,这一点大家尤其要注意!
我们在实际二次开发中,由于各个三方库对Python版本的要求,故而软件主程序一般采用Python3编写,而ANSYS的脚本文件则采用Python2.7编写,两者在部分语法上面具有一定的差异,例如print函数.
Python2.7: print “水哥的课程还不错!”
Python3.7: print(“水哥的课程还不错!”)
虽然版本不同,但IronPython 和 Python3 共享相同的 Python 语法和核心语言特性,两者之间共享大部分 Python 代码,这也为我们二次开发提供了强有力的保证。
关于三方库的引用,水哥这里提醒大家,由于ANSYS是采用已经封装好了IronPython,所以给用户使用的时候也不需要安装类似Pyccharm的解释器,但这样有一个坏处就是用户无法联网进行第三库函数的包装,也即用户如果要使用三方库,只能使用软件提前封装好的库。
例如我们在Python中经常使用到数组库Numpy,这个库ANSYS没有封装,我们也不能通过类似pip的方法来为他添加,针对数组方面的功能,用户只能自己写函数解决。
已安装好的库可在 安装目录\ANSYS Inc\v231\scdm\Lib中查询
为更加方便大家系统学习WB脚本知识及软件二次开发流程,水哥特推出《基于Python脚本ANSYS Workbench 软件二次开发专题教程》,本教程分为5篇,分别为基础知识篇、SpaceClaim脚本知识篇、Mechanical脚本知识篇、Workbench项目管理脚本知识篇、项目脚本调试篇以及项目软件二次开发篇,通过本教程,学员可系统性的掌握利用Python语言进行二次开发的相关技巧,课程详情请点击下方文章了解:
基于Python脚本ANSYS Workbench二次开发专题教程
更多即时资讯,欢迎扫描如下二维码关注本站微信公众号:ANSYS结构院
暂无评论内容