首页/文章/ 详情

HyperMesh定制开发--界面开发完整介绍

7月前浏览11135

本文摘要(由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、界面开发调试工具

01

Utility面板下User选项


这是最简单的也是界面展示最弱的方式,基本职能处理按钮等简单空间的展示。


在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文件放在其主目录中。


02

借助Process Studio

Process Studio是Altair集成化的流程开发工具,通过该工具可以方便的布局流程化操作界面,并可以集成用户自定义程序,完成流程化的工作。


Process Studio界面简单便捷,对常用组建通过拖拉实现界面的快速布局,大大提高了界面开发相率。开发界面如下图所示:


Process Studio由于是深度与HyperMesh集成,在部分控件的使用以及窗口设置等方面,柔性不充分,相较于Macro功能,是巨大的改进,但是对于复杂界面的编辑不够充分。


对于工作流程固定的问题,可以借助改工具快速实现界面开发。


03

HyperWorks GUI API

 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程序。


04

Tcltk界面开发


HyperMesh界面使用过tk开发的,当然我们就可以直接使用TK程序编写我们需要的界面,直接通过HyperMesh脚本运行程序,运行我们自己的界面就OK了,当然TK也是我们编写HyperMesh定制界面的基础,基础推荐,参考如下链接:

https://tkdocs.com/


05

Tk与其他语言的混编

当前技术发展日新月异,新的技术不断涌现,特别是在程序开发语言方面,根据2018年9月份Tiobe发布的编程语言统计排行榜数据

https://www.tiobe.com/tiobe-index/programming-languages-definition/#instances)显示,当前共有编程语言255种,各个语言具有自己的特色,处理特征的问题有各自的优势。


仿真流程的定制开发,归根到底还是对仿真数据流的处理,对于数据流动过程中,应用什么工具,什么手段,都是开放的,因此,混编的可行性也就大大增加,而且也是提高效率的有效手段。    

因此我们处理与仿真前处理相关的问题中,也可以通过多语言混编,集成不同处理方式的优势,集中解决仿真流程中问题,也将会是未来高效开发的关键,当然也对我们知识提出了更高的要求。

HyperMesh界面元素结构图谱如下图:


06

界面开发调试工具

 HyperMesh二次开发界面调试大致有一下几种:

1、wish调试

    该种方法对于使用tk开发的界面,调试比较方便,需要注意的时候,此时程序不涉及到HyperMesh的API函数,否则会报错。


2、HyperMesh脚本接口

    此种调试方法,同正常运行脚本相似,在运行过程中,建议多设置输出项,查看输出是否正确,便于检查。


3、ScriptStudio

    ScriptStudio是HyperWorks平台下可以用于调试脚本程序的工具(目前新版本已经没有ScriptsStudio,集成在HyperMath工具中),启动方式如下:

选择一个脚本后,会出现如下界面:


该工具可以直接编码,并可以直接与HyperMesh界面联调测试,工具中可以设置断点等常规IDE操作,小伙伴可以试试看。但是界面以及功能目前看起来还是比较简洁。


干货

Hypermesh界面组件图谱关系:



声明:原创文章,转载有限元微刊公 众号,图片源自网络,如有不当请联系我们,欢迎分享。

HyperMesh科普
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2019-01-08
最近编辑:7月前
仿真圈
技术圈粉 知识付费 学习强国
获赞 10111粉丝 21614文章 3547课程 219
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈