首页/文章/ 详情

ACT开发指南|如何定义表格控件

3年前浏览4751

各位朋友们好,在定义材料、反应频数据和设置载荷等场景中,需要输入多行多列的数据,这时候使用表格输入就会非常方便,本期就给大家分享下ACT中定义表格控件的方法。

ACT中提供两种方式定义表格控件,都是通过<propertytable>标签定义表格属性,方法汇总如下:

1)表格组件:tabularComponent

  • 仅支持在ACT向导(Wizard)中定义,以组件方式嵌入在向导界面显示;需要定义界面组件布局:添加tabularComponent组件到布局中,也可以使用预定义的表格布局:DefaultTabularDataLayout

图片

  • 在定义布局的步骤(Step)中,在<propertytable>标签中给定控件类型(control)tabulardata,显示类型(display)worksheet,定义表格中单元属性控件,详情查看帮助《ACT XML Reference : ACT XMLTags》。

  • <propertytable>标签内,通过<property>标签定义每列的属性控件,支持常用属性控件类型的定义。示例代码如下:

图片

2)表格模板:worksheet template

  • 此外,ACT提供了3种预定义的表格模板类型,模板定义源文件位于ACT\libraries目录下,感兴趣的可以深入研究下,从中可以学习到属性模板定义的方法。

图片

表格模板实际上是基于applycancelcustom的属性控件,属性的显示类型(display)都为worksheet,通过自定义属性的控制(controller)(class)实现,有如下三个对应的控制类:

图片

Worksheet.TimeFreqTabularData.TFTabularData

仅适用于在Mechanical,输入与时间相关的表格数据,数据行数对应着AnalysisSettings中步骤数,无法添加数据列,当向分析对象添加或删除时间步后,表格会同步更新。示例代码如下:

图片

Worksheet.PropertyGroupEditor.PGEditor

通用表格模板,适用于所有支持ACT的应用,可以通过左上角添加表格行,右键删除数据行操作,也支持文本数据的粘贴,定义的示例如下:

图片

Worksheet.TabularDataEditor.TabularDataEditor

通用表格模板,适用于所有支持ACT的应用;基于tabularComponent组件自定义的表格对话框(dialogComponent),通过custom控件集成表格对话框,是与ACT向导界面风格最为一致的表格类型,但不支持数据粘贴。定义示例如下:

图片

接下来,我们以如下所示的ACT向导界面为例,在界面中定义三种类型的表格控件。

图片

向导需实现的交互功能及效果如下:

图片

  • 设置完表格TableAFreq - Acc之后,点击Apply按钮之后,在FreqHtml组件中显示输入的表格信息,对应回调函数为:onFreqTableA_Apply

  • 设置完TableBFreq – Acc之后,点击Apply按钮之后,在FreqChart组件中绘制输入的数据曲线,对应回调函数为:onFreqTableB_Apply
  • 向导步骤初始化时,预设材料表格(matTable)常用属性,对应回调为:onTableStepIni
  • 材料属性设置更新后,点击向导Finish按钮,后台创建Engineering Data项目,并自动创建材料,对应回调为: onTableStepUpdate
结合以上向导界面的组件构成和对应的布局,编写的对应XML源代码如下:

图片

XML中定义的表格控件,在对应Python代码中,可以通过step.Properties[“propName”]得到表格对象实例,对应的类为SimPropertyTable;类对象的常用属性和方法小田老师已为大家进行了汇总,如下:

图片
根据上面汇总的方法,就可以通过遍历表格所有属性列,获得所有行的属性值,将其以字典方式存储,键对应为表格中列属性的名称,值为对应列每行的输入值构成的列表;封装好的方法如下所示:
图片
ACT中可以使用htmlComponent去展示富文本数据,使用chartComponent展示曲线,使用表格属性的<onapply>回调,可以实现提交表格后执行回调函数;向导交互的具体实现可以参考以下代码:
图片
以上就是本期所有内容,希望对大家有所帮助;朋友们在实际开发过程中,如有相关技术问题或项目合作,可以直接在***后台留言,或者邮件至:tguangs@163.com小田老师都会定期查看和回复信息的。
点击阅读原文立即学习Python语言在ANSYS的应用52讲》,掌握ANSYS ACT开发能力
二次开发代码&命令ACT
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-03-20
最近编辑:3年前
小田老师
硕士 | 仿真工程师 欢迎关注ANSYS仿真与开发!
获赞 627粉丝 3672文章 62课程 4
点赞
收藏
作者推荐
未登录
1条评论
于欢
签名征集中
3年前
您好,请问在spaceclaim中,装配操作的脚本貌似是无法录制的,有其他方式获取操作代码吗?
回复 1条回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈