SCDM中如何使用Python自动参数化建模
本文摘要(由AI生成):
文章主要介绍了在SCDM中通过Python脚本自动创建参数化的过程和思路。首先,通过反编译SpaceClaim.exe,查找到创建脚本组和脚本参数的实现代码,然后使用Python代码实现创建脚本组和脚本参数,并将圆柱参数代码中的参数进行动态绑定。最后,将上述代码整合到一起,通过脚本编辑器中运行或者是批处理调用,都可以自动创建参数化。
在SCDM中可以使用脚本建模创建全参数化模型,然后创建脚本组(Script Group)和脚本参数(Script Parameter),最后绑定脚本中参数即可完成参数化,详情参见《SCDM二次开发系列:参数化建模》。
在上面操作过程中:编写完建模代码后,还需要我们人工操作,不够自动化,不够偷懒!!!
那么能否在SCDM中,通过Python脚本自动创建参数化呢?当然可以!!!并且结构和流体全流程都可以自动仿真参数化!!!
今天小田老师就以圆柱体参数化模型为例,和大家分享实现自动参数化实现的过程和思路。
在SCDM的开发文档中,并没有脚本组和脚本参数创建的API,所以通过标准的API无法直接创建。SCDM界面中每一个按钮都对应着一个Command名称,比如我们可以获取脚本参数(NamedScript)相关Command的名称,代码如下。通过以下命令可以创建默认的脚本组和默认的脚本参数:Command.Execute(“CreateNamedScriptGroup”)Command.Execute(“CreateNamedScriptParameter”)上述两个命令虽然可以自动创脚本组和脚本参数,但是没法返回相应的对象引用,所以我们无法继续更改脚本参数的名称和数值,更无法编辑脚本组增添脚本代码!好在SCDM是基于.NET框架开发的,所以可以使用dnSpy反编译大 法:将SpaceClaim.exe放入dnSpy反编译,通过搜索“CreateNamedScriptParameter”可以找到一个事件函数如下。参照上面CreateNamedScriptParameter_Execute事件函数的实现代码,我们可以通过如下Python代码实现:相同的方式通过搜索“CreateNamedScriptGroup”,通过反编译代码查找实现,可以通过如下Python代码实现:最后,创建脚本组:scriptAuto与脚本参数:radius、height,并将圆柱参数代码中参数进行动态绑定,代码如下:将上述代码整合到一起,通过脚本编辑器中运行或者是批处理调用,都可以自动创建参数化。