首页/文章/ 详情

SCDM二次开发系列|交互式输入

3年前浏览5059

在前期文章中,分享过两种脚本封装的方法:脚本工具ACT向导开发,可以让我们通过界面更改脚本中的变量值,从而实现参数化建模过程。但上述两种开发方式,需要了解WinFormsACT开发相关知识,上手难度相对较大。

实际上,SCDM提供了更为简便的方式:脚本交互输入API,它可以暂停脚本执行,并打开交互式工具,在选项面板中创建输入控件,以等待和获取用户输入。交互输入的效果如下:

图片

接下来,我们会以《SCDM二次开发系列:参数化建模》中的齿轮模型为例,讲解如何在脚本开发中实现交互输入。

查看SCDM的开发文档,可以发现Beta.InputHelper类可以实现交互输入,对应的静态方法如下所示,详细参数说明可以查阅开发文档。

图片

所以,我们调用Beta.InputHelper中以Create开头的静态方法,创建相应输入控件,如CreateTextBox创建文本输入框;然后调用PauseAndGetInput方法,传入控件实例对象,实现脚本暂停及等待和获取用户输入,详细的操作方法如下:

首先,将齿轮创建的脚本封装为CreateGear函数方法,并将outerRadiusinnerRadiusholeRadiusnTeeththicknessbasePlanebodyName提取为输入参数,如下所示:

图片

然后,我们根据CreateGear函数方法传入的类型,创建相应的输入控件,添加到控件组(gearGroup)中,最后调用PauseAndGetInput方法,传入提示信息和控件组实例。

图片

上述代码运行后,会在PauseAndGetInput语句处暂停脚本执行,在选项面板中显示创建的输入控件,并在图形窗口创建×按钮。

图片

此时,可以在选项面板输入参数,完成后点击按钮确认后,继续执行剩余脚本命令;通过Success属性判断输入状态(点击按钮返回True),然后通过访问控件实例的Value属性,获得用户输入值,最后调用CreateGear方法,完成齿轮建模,代码如下:

图片

除了可以获取数字、文本、下拉框、复选框等输入,Beta.InputHelper还支持几何对象的交互选择输入,例如,如下代码中我们将选择的几何对象进行着色。

图片

通过访问执行结果resPrimarySelection属性,可以获取交互选中的对象,交互执行后的效果如下:

图片

最后,我们可以将当前脚本代码发布为工具,后续可以在“工具”菜单栏下,点击对应图标按钮,就可以进行功能复用,非常快捷方便。

图片

以上就是本期的所有内容,通过为脚本添加交互式输入,并发布为工具,可以非常便捷得进行功能复用,以达到扩展软件功能和提高仿真前处理效率的效果。

点击推荐课程立即学习Python语言在ANSYS的应用52讲》,掌握ANSYS SCDM脚本建模及ACT二次开发能力

二次开发代码&命令SpaceClaimACT
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-01-20
最近编辑:3年前
小田老师
硕士 | 仿真工程师 欢迎关注ANSYS仿真与开发!
获赞 656粉丝 3811文章 62课程 4
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈