Hypermesh macro 应用实例教程-HM8050
- 格式:doc
- 大小:53.50 KB
- 文档页数:5
1 Hypermesh macro 应用实例教程-HM8050
通过此次练习你将:
•学会创建节点力的命令
•在Utility菜单的User页面创建运行宏的新按钮
为了执行命令文件的命令或HyperMesh Utility菜单页面按钮上的TCL脚本,必须先定义Utility菜单宏。一个Utility菜单宏包括执行相应操作的有效命令文件或templex命令。宏可以通过变量$1,$2等的使用来实现数据的传递。每个变量应说明变量值被替换的位置。这些宏在.mac文件里定义,其中.mac文件包括了userpage.mac文件。
2 练习:
使用命令文件的命令创建一个Tcl脚本,创建一个运行Tcl脚本的Utility菜单宏,在User页面上添加一个运行宏的按钮。
1.准备工作。
2.删除存在的command.cmf文件。这个文件在开始目录或当前的工作目录里。
3.在HyperMesh中执行操作,运行脚本。
4.从command.cmf文件抽取命令。
5.把命令转换成Tcl格式,进行必要的修改,创建Tcl脚本。
6.使用*createbutton添加一个宏按钮,同时给第5步创建的宏定义一个Tcl脚本文件名。
7.重新导入当前的.mac文件到HyperMesh中,导入修改的userpage.mac。
8.调试宏。
第1步:准备工作。
创建宏的第一步是定义通过自动组织单个任务以达到期望目标的整个流程。在这里,你需要创建一个能在某些节点上自动施加力的按钮宏。完成这个任务需要以下步骤:
•进入load collectors面板
•创建一个力的载荷集
•进入forces面板
•在需要的节点上施加力
第2步:删除存在的command.cmf文件
command.cmf文件在当前的工作目录里。第一次打开HyperMesh时,该文件被创建在HyperMesh的安装目录下。一旦你开始在HyperMesh操作,所有的执行命令都被写入到command.cmf文件。如果该文件已经存在,那么命令附加在文件中。删除文件后,用户可以在HyperMesh里创建一个新文件,并且能够方便地找到相关命令。
第3步:在HyperMesh进行操作
在HyperMesh执行整个过程。HyperMesh里的每条命令执行后都被写入到command.cmf文件里。 3 1.在File下拉菜单中点击Open,选择c_channel-tcl.hm
2.进入load collectors面板
3.激活create子面板
4.在name =里输入名称forces
5.点击create
6.进入forces面板
7.激活create子面板
8.点击nodes,选择模型上的一个节点
a.选择z-axis选项作为力的方向
b. magnitude=,输入23
c.把magnitude% 切换为 uniform size ,uniform size表示载荷标记尺寸,设为15
9.点击create
第4步:从command.cmf文件抽取命令
1.使用文本编辑器打开command.cmf文件
2.选取并复制以下三行:
* loadsize(1,15,0,1)
* createmark(nodes,1) 2526
* loadcreateonentity_curve(nodes,1,1,1,0,0,23,0,0,23,0,0,0,0,0)
查看*createmark命令和实体的id。在HyperMesh中,符号是一个存储缓冲区。对于一些施加在实体上的条件,实体的id首先被写入到指定的符号中。
对每种实体类型(单元,节点,线,曲面,点等),都有两种符号(1和2)。在命令执行时使用符号,符号标记的所有实体都将改变。
第5步:创建一个名为create_force.tcl的Tcl脚本,把命令转换成Tcl格式并进行必要的修改。
1.用文本编辑器创建一个名为create_force.tcl的新文件
2.把command.cmf文件里的复制的3行内容粘贴到create_force.tcl文件
3.查找所有的()和“,”并用空格代替。命令的形式如下:
*loadsize 1 15 0 1 4 *createmark nodes 1 2526
*loadcreateonentity_curve nodes 1 1 1 0 0 23 0 0 23 0 0 0 0 0
进入hypermesh命令行窗口,cd到create_force.tcl所在目录,在命令行里输入source create_force.tcl,简单地运行上述命令,执行过程没有问题,则会自动创建选定节点Z方向上的力,放在auto1的载荷集里。但是生成命令文件时,*createmark命令对选中的单一节点是硬编码,而且数值也是硬编码。这不利于一般运算。
4.用*createmarkpanel命令替换*createmark命令
*createmarkpanel命令可以让用户选择指定实体的面板。命令的形式如下:
*loadsize 1 15 0 1
*createmarkpane1 nodes 1 "Select nodes for load creation"
*loadcreateonentity_curve nodes 1 1 1 0 0 23 0 0 23 0 0 0 0 0
5.使用hm_getfloat可以让用户指定数值,设置参数值。使用*loadcreateonentity_curve命令可以用户用定义载荷的大小替换硬编码值。命令的形式如下:
*loadsize 1 15 0 1
*createmarkpanel nodes 1 "Select nodes for load creation"
set mag_val [hm_getfloat "Magnitude=" "Enter force magnitude:"]
*loadcreateonentity_curve nodes 1 1 1 0 0 $mag_val 0 0 $mag_val 0 0 0 0 0
6.保存create_force.tcl脚本到C:\Altair\hw10.0\hm\scripts下,如Hyperworks不是默认的安装在C盘上,则将脚本文件保存到安装路径\
Altair\hw10.0\hm\scripts中。
第6步:添加宏按钮
在User页面创建一个执行宏的按钮。
1.用文本编辑器打开C:\Altair\hw10.0\hm\bin\win32下的userpage.mac文件,在文件的最后一行加上命令: 5 *createbutton(5,"Create Force",16,0,10,GREEN,"Create z-direction force on
selected nodes","EvalTcl","create_force.tcl")
上述命令创建了一个按钮,第5页(User页面),名称,在第16行,起始位置在0列,10列宽,颜色绿色,第6步给出的一串帮助字符串和参考create_force.tcl宏。
2.保存userpage.mac文件
第7步:重新导入hm.mac文件到HyperMesh中,加载修改后的userpage.mac
当HyperMesh打开后,从Files下拉菜单中,选择Load->Macro,重新导入HW安装目录\Altair\hw10.0\hm\bin\win32目录下的宏菜单hm.mac文件,则自动加载更新的userpage.mac文件。
第8步:调试宏
1.点击Utility菜单下的User按钮
在User页面下出现Create Force的新按钮。
2.点击这个按钮运行Tcl脚本,自动创建选定节点Z方向上的力。
在指定的节点上创建给定大小的力,创建的力放在当前载荷集里。如果当前载荷集不存在,则放在auto1的载荷集里 。
使用命令窗口调试Tcl脚本过程是必不可少的。因为这样,你可以方便地查看运行的错误信息,并打印出调试信息。更多细节见Creating Tcl Scripts and
Running Tcl Scripts。