本文摘要(由AI生成):
本文介绍了HyperMesh的界面开发工具和资源,包括GUI Toolkit和Tcl/Tk界面开发。用户可以通过这些工具创建自定义界面,并通过HyperMesh脚本接口运行程序。此外,文章还讨论了多语言混编在仿真流程定制开发中的应用,并介绍了界面开发调试工具,如wish调试、HyperMesh脚本接口和ScriptStudio(现集成在HyperMath中)。最后,文章提供了Hypermesh界面组件图谱关系,以帮助读者更好地理解界面元素之间的关系。
HyeprMesh作为当前全球最优秀的有限元前处理软件之一,其功能非常强大,可以处理在仿真领域几乎所有的前处理的问题。界面的定制开发有助于更好的展示工作流程以及相关数据。
HyperMesh 2017
二次开发作为提高仿真效率的有效手段,能够极大地减少前处理时间,近来受到越来也多的企业重视,同时结合当前大环境下的智能制造,智能化,自动化仿真也是当前提高竞争力,缩短各自研发周期的重要手段。
本文介绍使用HypperMesh进行二次开发过程中,如何更好的展示程序,并在开发过程中与HyperMesh GUI深度集成。
HyperMesh开发界面基础
HyperMersh的GUI大部分是基于TclTK程序开发,具有独特的hm风格,开发HyperMesh用户截面有以下几种形式:
1、Utility面板下User选项
2、借助Process Studio
3、HyperWorks GUI API
4、Tcltk界面开发
5、Tk与其他语言的混编
6、界面开发调试工具
这是最简单的也是界面展示最弱的方式,基本职能处理按钮等简单空间的展示。
在HyperMesh的 Utility菜单允许您自定义的标准接口来创建控件,包括功能按钮,收音机选项,并文字有命令文件和与之相关的Tcl / Tk脚本。“ 配置”位于选项卡区域窗格的选项卡上,可以在“视图”菜单中显示或隐藏。
该实用程序菜单中包括几个默认的菜单页面,每个专用于不同的任务。因此它实际上是一组菜单,尽管一次只显示一个菜单。每个页面都与Utility菜单底部的按钮相关联; 单击其中一个按钮可打开与其关联的页面。一次只能单击一个按钮 - 选择按钮将取消选择组中的所有其他按钮。页码允许您创建多个页面,以便可以以任何方式对脚本进行分组。
宏文件(.mac)控制实用程序菜单的显示和可用操作。您可以更改的属性包括:
✅ 出现控件的菜单页面
✅ 要在每个控件上显示的文本
✅ 菜单的位置和大小
✅ 要在菜单栏上显示的帮助字符串
✅ 使用每个控件时调用的脚本,带有可选的参数传递。
当HyperMesh启动时,它会查找名为hm.mac的宏文件 。此文件可能存在于HyperMesh的安装目录中,也可能存在于 HyperMesh 启动的目录中。UNIX用户还可以选择将hm.mac文件放在其主目录中。如果hm.mac文件存在于其中一个位置,HyperMesh会自动运行它以定义Utility菜单的属性和内容。HyperMesh从“选项”面板中启动后,也可以运行宏文件 。
默认的hm.mac文件包含以下宏文件:
✅ disppage.mac
填充Utility菜单的Disp页面。
✅ geommeshpage.mac
填充Utility菜单的Geom / Mesh页面
✅ globalpage.mac
创建允许您切换页面的按钮组
✅ qamodelpage.mac
填充Utility菜单的QA / Model页面。
✅ userpage.mac
填充Utility菜单的User页面。
您可以将Tcl / Tk脚本添加到userpage.mac文件中。当HyperMesh启动时,它首先在启动它的目录中查找userpage.mac文件,然后在安装目录中查找。Linux用户还可以选择将userpage.mac文件放在其主目录中。
Process Studio是Altair集成化的流程开发工具,通过该工具可以方便的布局流程化操作界面,并可以集成用户自定义程序,完成流程化的工作。
Process Studio界面简单便捷,对常用组建通过拖拉实现界面的快速布局,大大提高了界面开发相率。开发界面如下图所示:
Process Studio由于是深度与HyperMesh集成,在部分控件的使用以及窗口设置等方面,柔性不充分,相较于Macro功能,是巨大的改进,但是对于复杂界面的编辑不够充分。
对于工作流程固定的问题,可以借助改工具快速实现界面开发。
HyperMesh开放的软件架构,为用户提供了丰富的界面处理程序,包含界面功能以及界面展示API函数,GUI command可以在帮助文档中查看:如下图:
现在的HyperMesh版本下,还提供了HyperWorks GUI Toolkit工具,继承了Hypermesh界面原生组件的开发接口以及示例,HyperWorks GUI Toolkit是用于编码Tcl / Tk对话框的资源工具。 它包含HyperWorks GUI Toolkit命令的文档,演示Altair GUI标准的演示页面以及用于创建这些示例的示例代码。
要在Windows中启动HyperWorks GUI Toolkit:
在安装过程中,会在“开始”菜单的“程序/ Altair HyperWorks / HyperWorks工具”文件夹中创建指向HyperWorks GUI Toolkit。
1.从“开始”菜单中,选择“所有程序”。
2.选择Altair HyperWorksXXXX。
3.选择“工具”。
4.选择HW GUI Toolkit。
界面如下:
在该界面可以直接调试相关GUI程序。
HyperMesh界面使用过tk开发的,当然我们就可以直接使用TK程序编写我们需要的界面,直接通过HyperMesh脚本运行程序,运行我们自己的界面就OK了,当然TK也是我们编写HyperMesh定制界面的基础,基础推荐,参考如下链接:
当前技术发展日新月异,新的技术不断涌现,特别是在程序开发语言方面,根据2018年9月份Tiobe发布的编程语言统计排行榜数据
(https://www.tiobe.com/tiobe-index/programming-languages-definition/#instances)显示,当前共有编程语言255种,各个语言具有自己的特色,处理特征的问题有各自的优势。
仿真流程的定制开发,归根到底还是对仿真数据流的处理,对于数据流动过程中,应用什么工具,什么手段,都是开放的,因此,混编的可行性也就大大增加,而且也是提高效率的有效手段。
因此我们处理与仿真前处理相关的问题中,也可以通过多语言混编,集成不同处理方式的优势,集中解决仿真流程中问题,也将会是未来高效开发的关键,当然也对我们知识提出了更高的要求。
HyperMesh界面元素结构图谱如下图:
HyperMesh二次开发界面调试大致有一下几种:
1、wish调试
该种方法对于使用tk开发的界面,调试比较方便,需要注意的时候,此时程序不涉及到HyperMesh的API函数,否则会报错。
2、HyperMesh脚本接口
此种调试方法,同正常运行脚本相似,在运行过程中,建议多设置输出项,查看输出是否正确,便于检查。
3、ScriptStudio
ScriptStudio是HyperWorks平台下可以用于调试脚本程序的工具(目前新版本已经没有ScriptsStudio,集成在HyperMath工具中),启动方式如下:
选择一个脚本后,会出现如下界面:
该工具可以直接编码,并可以直接与HyperMesh界面联调测试,工具中可以设置断点等常规IDE操作,小伙伴可以试试看。但是界面以及功能目前看起来还是比较简洁。
干货
Hypermesh界面组件图谱关系:
声明:原创文章,转载有限元微刊公 众号,图片源自网络,如有不当请联系我们,欢迎分享。