首页/文章/ 详情

ANSYS ACT系列:SCDM中仿真向导开发详解

2月前浏览7664

本文摘要(由AI生成):

本文主要介绍了如何使用参数化脚本和ACT进行开发,创建一个简易的仿真向导,以达到简化和固化我们的仿真建模流程的目的。首先,通过参数化建模提取关键几何及拓扑参数,形成参数化的脚本,然后通过XML定义向导界面,绑定界面中的回调函数实现交互。在ACT开发中,通过指定XML中的回调函数来绑定界面事件,回调函数需定义在对应的IronPython脚本中。最后,通过编译生成二进制文件.wbex文件,方便部署和安装。


在前期文章《SCDM脚本工具开发详解》中,给大伙分享SCDM中如何采用WinForms技术开发脚本工具;在本节中,我们来演示如何基于参数化脚本采用ACT进行开发,创建一个简易的仿真向导,以达到简化和固化我们的仿真建模流程的目的。

1、实施路线

《SCDM二次开发系列:参数化建模》中某齿轮几何为对象,对其关键几何及拓扑参数进行提参,形成了参数化的脚本,然后通过XML定义向导界面,绑定界面中的回调函数实现交互,实施路线如下:

01.png

2、IronPython脚本开发

SCDM中的Python脚本和ACT接口是完全兼容的,所以创建的建模脚本直接可以使用,我们将代码中需要更改的参数提取出来,并封装成CreateGear函数方法,代码如下:

c1.png

3、ACT向导界面设计

向导界面可以打开ANSYS ACT欢迎界面,采用APP Builder进行可视化创建:指定文件目录,添加SpaceClaim产品,然后创建新的向导,向导步骤数为1,控件定义和布局如下:

02.png

如果想深入了解ACT向导中XML中数据结构,可以阅读《ANSYS ACT宝典 - 带你快速上手仿真向导开发全流程》。界面设计完成后导出脚本扩展,指定导出文件夹,然后进行下一步编辑。

03.png

如果对ACT WizardXML数据结构了解,可以直接编写,源代码如下:

c2.png

4、定义回调函数

ACT开发中,我们通过指定XML中的回调函数来绑定界面事件;回调函数需定义在对应的IronPython脚本中,这里我们只需要定义onupdate回调函数:需要以step为参数,表示当前向导的步骤用户界面的输入值可以通过代码:step.Properties["propName"].Value来得到,最后调用CreateGear方法,传入对应参数完成模型的创建。

c3.png

将SCDM中封装的Python建模代码拷贝到ACT的脚本文件中,将脚本文件重命名为main.py,并在XML中通过<script src="main.py" />来进行绑定。

然后在<step>标签下的<callbacks>元素中指定<onupdate>GenerateGear</onupdate> ;XML代码中指定如下。

04.png

5、ACT插件加载

定义好XML文件、IronPython脚本以及其他帮助和图标文件后,需要将脚本文件需放在与XML文件同名的文件夹中,文件层次结构如下。

05.png

然后在SCDM<准备>标签下打开ACT Start Page,首先点击<Manage Extension>按钮,然后点击设置按钮,激活Debug模型,选中插件文件所在文件夹,这样脚本化的插件就会导入插件管理面板,然后点中插件图标加载。

06.png

然后回到ACT Start Page后,点击<Launch Wizards>按钮后,选中<GearApp>向导加载;如果加载出错或者代码执行出错,可以通过Log工具进行查找排查问题所在。

07.png

6、ACT插件编译发布

脚本化的ACT插件只适合开发及调试阶段,如果后续对插件进行发布的话,就可以对脚本化插件进行编译,生成二进制文件.wbex文件,这样插件的部署与安装会更方便,也可以达到保护源代码的目的;编译的过程如下所示。

08.png

编译好的.wbex文件可以直接安装使用:<Extension Manager>标签页,点击“+”后选择需安装插件,然后加载使用。

09.png

安装启动后效果如下:

gear.png

7、后记

ANSYS ACT作为ANSYS系列产品的统一二次开发平台,提供了强大的仿真功能及流程定制化能力,即使我们不是专业的编程人员,也能快速上手,为仿真工作流程创建定制化的应用插件,以达到对仿真经验和规范的封装,提升整体的工作效率。
从上面的整个开发流程来看,简易向导界面可以通过App Builder来定义,复杂和具有丰富交互功能的界面还需要了解ACT中的XML数据结构。但只有界面远远是不行的,还需要实现仿真功能,不然插件就只是一个空壳子,可以说脚本开发是整个流程中最核心的部分

SpaceClaimACT
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-03-24
最近编辑:2月前
小田老师
硕士 | 仿真工程师 欢迎关注ANSYS仿真与开发!
获赞 626粉丝 3670文章 62课程 4
点赞
收藏
作者推荐
未登录
2条评论
火星木星土星
签名征集中
10月前
小田老师,对于学生来说,课程小贵,能打个对折吗?
回复
帆
签名征集中
3年前
小田老师 你擅长C#做SCDM的Addin吗?
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈