Hypermesh/Hyperview/ABAQUS 二次开发中新建下拉菜单的方法

       在有限元软件使用过程中,有时候需要二次开发,编写一些脚本,以实现相应的功能。在不同的软件下,往往对应相应的执行语句,比如hypermesh ,采用的脚本语言是tcl 语言,在使用中既可以通过在命令行中输入"source { ***.tcl}", 或者在菜单栏点击“Edit>Tcl Tk Script" 调用相应的脚本,在abaqus 中,可以在命令行中输入”execfile(**.py),或者点击“File>Run Scripts",然而,每次使用过程中,使用者都需找到执行脚本的路径,才能执行相应的代码,因而也就都只是适应于单个脚本,对于多个脚本的开发,就有一些捉襟见肘了,通过在软件中新建下拉菜单,根据用户习惯开发相应的功能,让用户通过点击鼠标或者使用快捷键就能调用相应的功能模块,是一件十分有意义的事情。本人通过查阅相应的官方的文档,发现了分别在hypermesh/hyperview/abaqus实现了增加下拉菜单的方法。

1. 相关效果如下:

hypermesh

pic1.png

Hyperview

pic2.png

abaqus 

pic3.png

2. 接下来,我将阐述如何实现以上功能。

2.1 hypermesh

hypermesh 在开始启动时候,可以通过在启动目录设定一个名为”hmcustom.tcl“的文件以实现相关功能的定制,相关帮助文档如下:

pic4.png

      默认状态下,安装路径(可以通过"pwd"查询安装路径),不存在hmcustom.tcl 文件,因此需要新建该文件。

     其中的关键代码是“top_menu [hm_framework getpulldowns] 获得菜单的api" 来操控相关的菜单,进而通过增加菜单来扩充相关的功能。

然而,使用该方法(在安装目录增加hmcustomt.cl 文件的方法)来增加下拉菜单存在一个bug,即在使用过程中当导入新的模板时(比如在使用中导入材料卡片时),该新建菜单会消失,也就是说hmcustom.tcl 今在启动时候执行一次,当菜单栏更新时,hmcustom.tcl 不再执行,因此新建菜单会消失。

解决该问题的方法是在安装目录下新建一个名为”userpage.mac"的文件,通过该文件在Utility 新建一个按钮,本文中姑且命名为“Command",当NewMenu 消失之后点击该按钮,调出新建菜单(本文中的”NemMenu"),且看下图:

pic5.png

userpage.mac也是tcl 语句,通过执行“EvalTclScript   hmcustom.tcl"" 来调出菜单栏。

需要注意的是,hmcustom.tcl 和userpage.mac 都需要安装在安装目录,使用者可以通过在命令行中敲下“pwd" 来获得,如上图所示的”C:/Users/hunan/Documents“ 即为安装目录。

2.2 hyperview

hyerview 在菜单栏中增加下拉菜单可以通过修改系统文件preferences.mvw完成。

本人的安装路径在”E:\Program Files\Altair\2018\hw" 目录下,本文的第二张图通过在此文件中增加以下代码完成。

*Id("HyperWorks v17.0")

*BeginDefaults()

*BeginMenu(custom_menu,"NewMenu")

*MenuItem(dummy,"Menu Script1",TCL, "C:/mytcl.tcl")

*Separator()

*BeginMenu(filter_menu1,"Menu Script 2")

*MenuItem(dummy1,"Sub Menu Script 1", TCL,"C:/mysubmenu.tcl")

*EndMenu()

*EndMenu()

2.3 ABAQUS 

   在ABAQUS 增加下拉菜单的方法比较多,本文仅介绍最简单的一种,即通过 点击”Plug-in>Abaqus >RSG Dialog Builder"的方法通过绑定按钮和相关函数来完成。

pic6.png

 用户可以通过绑定可GUI和Kernel 来完成RSG的生成。

pic8.png

安装之后,通过保存相关设置,abaqus 会相应的abaqus_plugins文件,下次打开之后,相应的按钮会出现在plugs-in 菜单栏之下。

通过相应的设置即可分别在hypermesh/hyperview/abaqus 建立相应的下拉菜单,开发者可以借助这些菜单,更方便的集成相关的脚本,而无需每次为查找脚本而烦恼。

付费内容包括三个脚本:分别是上文提及的hmcustom.tcl,userpage.mac和preferences.mvw。

作者联系方式:QingMingTianXia@126.com

Hypermesh/Hyperview/ABAQUS 二次开发中新建下拉菜单的方法的图8

该付费内容为:Hypermesh/Hyperview/ABAQUS 二次开发中新建下拉菜单的方法

包含1个附件 2人购买
(6条)
默认 最新
preference.mvw里可以定义一个路径变量,然后在menuitem那儿引用吗
评论 点赞
评论 点赞

查看更多评论 >

点赞 5 评论 7 收藏 11
关注