首页/文章/ 详情

ACT开发指南|如何动态显示属性控件

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/独家讲师
平台推荐
主编推荐/内容稀缺/全网独家
4年前浏览4036

首先,我们一起考虑如下开发场景:在ACT向导的建模阶段,将三种结构形式:CubeCylinderSphere的创建流程放在一个步骤中。

其中,Cube创建需要输入LengthCylinder创建需要输入RadiusHeightSphere创建需要输入Radius

那么我们需要定义一个select下拉框:Primitive和三个float属性输入控件:LengthRadiusHeight
控件全显示
如上所示,我们如果将所有属性控件都显示在界面上,就会显得很臃肿而且不友好,不够优雅和智能。
那么如何实现如下的控件的动态显示效果呢?即根据Primitive下拉框选择的值,改变LengthRadiusHeight三个属性控件的可见性。
控件动态显示
接下来,小田老师就给大家分享在ACT向导开发中,实现属性控件动态显示的两种方法:XML文件定义和回调函数实现。
方法1XML文件定义
ACT帮助文档下《ACT XML ReferenceACT XML Tags》中,我们找到<Property>标签,会发现一个attributevisibleon=,说明如下:
3 visibleon标签属性
可以按照如下步骤实现:
1)将Primitive定义为<propertygroup>,并给定“select”的control类型,通过options给定下拉选项值;
2)定义LengthRadiusHeight三个<property>控件,并给定“float”的control类型,放在Primitive属性组下;
3)给定三个属性控件的visibleon属性值为Primitive下拉框中选项值,多个值用“|”隔开。对应的XML结构如下:
4 XML文件代码
方法2:回调函数实现
ACT向导中,每个属性控件都有对应的回调函数(callbacks),用于处理与用户输入间的界面交互。
我们可以为Primitive属性定义合适的回调函数,然后去更改其他float控件中与可见性相关的属性值。
ACT帮助文档中,我们发现可以使用<onactivate>回调函数,而且在通过修改控件的Visible属性值,可以更改其可见性。
5 onactivate回调函数
可以按照如下步骤实现:
1)将Primitive定义为<property>,并给定“select”的control类型,通过options给定下拉选项值;
2)为Primitive属性添加回调函数<onactivate>,给定方法dynamicVisibility(函数名任取);
3)定义LengthRadiusHeight三个<property>控件,并给定“float”的control类型;
6 XML文件回调函数定义
4)在与XML关联的IronPython文件中实现回调函数dynamicVisibility:通过判断Primitive当前属性值(Value),然后修改相应float控件的可见性(Visible)属性;代码如下:
回调函数方法实现
两种方法对比
两者方法没有孰好孰坏,只是使用场景不一样:
XML定义方式更简单上手,如果只需要更改属性控件显示时,推荐使用。
回调函数方法更强大,不仅可以动态显示控件,还能更改帮助内容、与图形窗口交互等。
而且二者可以配合使用,大家可以根据使用场景灵活选用。
最后,在后期文章更新中,我会分享ANSYS ACT开发系列文章,大家有关心的技术点和问题,欢迎大家参与读者讨论,后续文章会根据大家内容讨论的热度决定更新顺序。


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