首页/文章/ 详情

SCDM中如何使用Python自动参数化建模

6月前浏览20692

本文摘要(由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与脚本参数:radiusheight,并将圆柱参数代码中参数进行动态绑定,代码如下:
将上述代码整合到一起,通过脚本编辑器中运行或者是批处理调用,都可以自动创建参数化。




SpaceClaimACT结构基础流体基础几何处理二次开发代码&命令通用
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-09-03
最近编辑:6月前
小田老师
硕士 | 仿真工程师 欢迎关注ANSYS仿真与开发!
获赞 649粉丝 3774文章 62课程 4
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈