首页/文章/ 详情

Mechanical 2019R3新功能,你真的了解吗?

4年前浏览5520

今天给大家详细介绍与Mechanical自动化相关的新功能:用户按钮(User Buttons),使用此功能可以非常轻松地对ACT Python脚本功能进行封装,同时也便于我们去分享脚本文件。

一、自动化新功能

在2019R2以上版本中,ACT Python自动化脚本很容易地链接到一个用户按钮上,通过点击按钮就能执行自动化脚本。

01.png

如果我们想为ACT脚本提供GUI交互的话,可以使用WinForms库进行扩展。例如点击定义的BracketDemo按钮,可以打开预定义的GUI界面供交互,使用效果如下。

03.png

二、自定义用户按钮

在Mechanical界面中Automation标签下,点击<Manage>图标打开按钮编辑器,首先定义一个按钮名称,然后输入功能描述,接下来选择一个图标,粘贴Python脚本代码,最后点击保存。
如果想导出、编辑和删除已定义的按钮,可以点击<查看按钮>,然后选择相应操作。点击<导入按钮>图标后,选择按钮文件,可以将他人分享的用户按钮导入。


02.png

三、案例实战

在定义用户按钮之前,我们首先需要具备Mechanical脚本自动化的知识:详情点击上一篇文章《学好ANSYS ACT,轻松上手Mechanical脚本自动化》学习了解。
如果需要为ACT脚本添加GUI交互功能,需要熟悉IronPython中WinForms开发技术,这里给大家分享两个学习资源:
WinForms Ref & Tutorial:
  • http://www.voidspace.org.uk/ironpython/winforms/

  • http://zetcode.com/tutorials/ironpythontutorial/
接下来我们以《案例:结构仿真分析参数化Step by Step》中的支架模型为例,演示用户按钮定义的方法流程。完成后的使用效果如上BracketDemo按钮所示。
1、ACT脚本开发

按照支架仿真设置流程,使用Mechanical的ACT自动化API编写脚本,并将脚本封装为函数,其中网格单元尺寸(elemSize)、固定支撑NS(fixedName)、压力加载NS(pressName)和压力载荷值(pressValue)等变量作为Preprocess函数的形参,代码如下。

c1.png

2、GUI代码开发

使用WinForms类库开发GUI界面。窗体的组成结构如下,大家可以自行编写界面代码。整体的编写难度不大但是比较费时,由于界面代码内容较长,此处不再罗列。

04.png

3、功能交互开发

窗体界面代码开发之后,需要编写功能交互代码,涉及的功能汇总如下:
  • 启动窗体之后,需要自动读取Named Selections下面的对象列表,并显示在界面的cboxFixedSub和cboxPress下拉框中,通过InitCbox方法实现。
  • 选择cboxFixedSub和cboxPress下拉框中Named Selection对象时,Mechanical中自动激活此对象并高亮显示,通过cbox_TextChanged方法实现。
  • 点击<加载载荷>按钮后,读取界面输入值,并调用Preprocess函数执行自动化前处理操作,设置完成弹出提示窗口,通过btnLoad_Click方法实现。
  • 点击<计算求解>按钮后,Mechanical开始计算求解,求解完成后弹出提示窗口,通过btnSolve_Click方法实现。
  • 最后将控件的事件和对应的方法绑定在一起,通过AppEventHandler方法实现。
通过Application.Run方法调用窗体实例可以启动界面。完整代码如下所示,采用面向对象的思想构建窗体类,有一定的上手难度。

c2.png

4、发布用户按钮

按钮发布参照“二、自定义用户按钮”中内容操作,将上述所有的代码复制到编辑框中,然后定义名称、图标和说明等,最后保存文件。按钮使用效果如下所示。

btnRun.gif

微信后台回复关键词“WS17”,即可获得本案例完整代码及使用说明。

四、后记

用户按钮功能为我们提供了封装Mechanical脚本的功能,非常方便我们去固化仿真功能和流程。同时结合WinForms的界面开发技术,可以为脚本添加GUI界面,让脚本交互性和适用性更强。

ACT脚本和WinForms界面开发相结合,能开发出非常多有意思的功能插件,大家可以多上手尝试。比如针对某些后处理云图非常多的场景,我们想一键输出云图到指定文件夹中,可以开发出如下的GUI界面,然后发布为用户按钮,方便以后重复使用,是不是特方便特省事呀!

05.png

ACTMechanical代码&命令二次开发
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2019-12-10
最近编辑:4年前
小田老师
硕士 | 仿真工程师 欢迎关注ANSYS仿真与开发!
获赞 650粉丝 3782文章 62课程 4
点赞
收藏
未登录
1条评论
仿真秀0129090449
侠之大者!
4年前
老师,麻烦留个**联系方式,想购买你的课程,谢谢!
回复 1条回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈