找回密码
 注册
Simdroid-非首页
查看: 1395|回复: 31

[其他杂项] 〖分享〗浅谈Macro在HyperMesh中的应用

[复制链接]
发表于 2006-4-21 13:00:48 | 显示全部楼层 |阅读模式 来自 湖北武汉
在Altair©HyperMesh软件中有一项很常用的菜单,那就是Macro Menu。通常,使用者习惯于使用软件默认的宏页面,即Disp(显示),Geom(几何),Mesh(网格),QA(质检)以及User(用户),可能很少涉及使用User。虽然软件本身已经提供了大量的宏菜单,但是随着个人使用习惯和工作要求方面的需求,学会使用自编的宏菜单将能够更好的提高工作效率,节省时间。正是基于此方面考虑,软件给使用者提供了自定义的页面,即User。
1.What is a HyperMesh Macro?
      简单的说,就是在HyperMesh(简称HM)中能够实现某个功能的链接脚本。它能够自动完成HM的程序,或半自动化执行一系列由用户自定义的脚本命令语句,但前提是要使用HM所规定的宏语言,然而实现某项功能的定义,则需要嵌入Tcl/Tk脚本语言。在HM中,宏主要分为三类:标准宏(Standard Macro,简称SM)、自定义宏(User-defined Macro,简称UM)和模板宏(Template Macro,简称TM)。SM主要就是指Disp,Geom,Mesh以及QA页面的宏;TM就是与外部软件模板接口的宏,因模板的不同而异;UM则是用户可自定义的宏。
2.How to create a HyperMesh Macro?
       宏主要分为两个部分:控键定义(Widget Definitions,简称MD)和宏定义(Macro Definitions,简称MD)。WD主要定义激活宏的控制按键和按键组,其中包含控制的特征有:按键的显示、按键的标签、按键的位置和大小、按键的帮助消息和按键对应宏及宏的选项参数;MD主要定义宏所执行的指令,以*beginmacro()开始,用*endmacro()结束。下面将简单介绍如何创建控制按键和宏定义的命令格式。
①创建控制按键:使用*createbutton命令定义按键和特征。
⑴ 语法:
*createbutton(page,name,row,column,width,COLOR,helpstring,macroname[,arg1…])
⑵ 各项参数说明:
page—页面号,其值为0~n的整数,软件已定义前六个数,即0~5,User页对应值为5,则用户所定义值应从6开始的任意值。
name—按键名,使用双引号(“”)标记。
row—按键纵向位置,其值为-1~n的整数,n的大小与用户硬件的图形设置有关。
column—按键横向位置,其值为0~10的整数。
width—按键宽度,其最大值为10。
COLOR—按键颜色,可用颜色共六种,即RED(红),BLUE(蓝),GREEN(绿),CYAN(青), BUTTON(灰),和MAGENTA(紫红),要求字母均为大写。
helpstring—按键帮助说明,使用双引号(“”)标记,其信息将在标题栏显示。
macroname—按键所对应的宏,使用双引号(“”)标记。
arg1...—宏的选项参数,可由用户自定义。
⑶ 举例:
    *createbutton(5,"Test",20,4,6,MAGENTA,"This is a test button for experience","macroSample") <cr>
②宏定义的命令格式:
*beginmacro(macroname)
           macro command.//添加宏命令语句。
*endmacro()
3.How to load Macro file(*.mac) in HyperMesh?
       导入宏文件的方式,主要有两种。方式一:通过HM的option/menu config面板导入新的宏文件,此操作只存在当前运行的HM,HM程序结束后若要再用,则需要重新导入。可以说整个过程从创建到导入都需要手动完成。方式二:修改软件系统的userpage.mac文件,此操作将会永久保存在User宏页面。可以说是半自动完成。还有一种方式是全自动完成的,就是将HyperWeb的功能集成到HyperMesh中,此方式应用涉及到Altair&copy;HyperWeb软件。
本文的几点说明:
I、本文来源自己平时应用心得和体会,并参考了HyperMesh Tutorial(7.0版)中有关Create a Macro-HM8000,有相关的宏命令帮助,均可以通过help文档中查找Macro Menu Commands Listed by Function获得,若有不足之处,还希望大家补充完善。
II、本文只是起到一个抛砖引玉的作用,Macro应用涉及诸多方面的应用,例如扩展在HyperForm和HyperWeb等软件应用,用户可视化GUI程序应用,HyperMesh程序的二次开发以及Tcl/Tk语言编程,等等。希望大家交流在此方面应用,共同学习。
III、因时间等方面的原因,此文还没有提供一个完整的mac文件供大家参考,若有人需要,我会在近期提供。
(PS:我想为此贴申请精华,希望大家支持。):):)

[ 本帖最后由 linuaries 于 2008-12-23 21:16 编辑 ]

评分

1

查看全部评分

发表于 2006-4-21 13:06:22 | 显示全部楼层 来自 新加坡
Simdroid开发平台
you deserve it. I raise my hand to support...
发表于 2006-4-21 13:48:25 | 显示全部楼层 来自 LAN
不错,顶一下!
发表于 2006-4-22 14:11:22 | 显示全部楼层 来自 吉林大学前卫南区
支持
发表于 2006-4-22 19:14:57 | 显示全部楼层 来自 江苏南京
支持中
发表于 2006-4-23 11:07:42 | 显示全部楼层 来自 陕西西安
不错,正在学习这个软件,感觉功能真是强大 啊.
 楼主| 发表于 2006-4-24 19:04:33 | 显示全部楼层 来自 湖北武汉
感谢大家对本文的关注,希望大家交流一下这方面的应用。:):)
发表于 2008-12-23 21:15:31 | 显示全部楼层 来自 上海
旧帖翻出,重拾昔日话题。
回复 不支持

使用道具 举报

发表于 2008-12-24 10:07:50 | 显示全部楼层 来自 湖北武汉
是啊,很有用,感谢版主!我正在学习和研究:-)
回复 不支持

使用道具 举报

发表于 2009-2-18 17:14:55 | 显示全部楼层 来自 安徽合肥
谢谢,本人正在研究中,你讲的比较好,谢谢了阿!
回复 不支持

使用道具 举报

发表于 2009-2-18 17:20:38 | 显示全部楼层 来自 安徽合肥
本人正在从事hm二次开发的一些探究,studio中也可以做,正如你所说的,不知道能不能提供宏文件!
还有,想和你探讨一下hm二次开发宏观的框架问题
1# cryber
回复 不支持

使用道具 举报

发表于 2009-2-19 08:59:34 | 显示全部楼层 来自 江苏南京
可以顶一下!
回复 不支持

使用道具 举报

发表于 2010-3-27 17:21:51 | 显示全部楼层 来自 湖南长沙
很想学习hm的二次开发,苦于没有教程!
回复 不支持

使用道具 举报

发表于 2010-3-27 17:23:52 | 显示全部楼层 来自 香港
surport surport
回复 不支持

使用道具 举报

发表于 2010-3-27 18:11:25 | 显示全部楼层 来自 浙江台州
很牛!很强大
回复 不支持

使用道具 举报

发表于 2010-11-3 09:11:42 | 显示全部楼层 来自 江苏
跟帖赚仿真币,不过这是好贴。
回复 不支持

使用道具 举报

发表于 2010-11-10 23:12:25 | 显示全部楼层 来自 陕西西安
很不错,一定好好学一下。
回复 不支持

使用道具 举报

发表于 2011-3-18 21:24:59 | 显示全部楼层 来自 广东深圳
早对二次开发感兴趣,不知如何学习。
回复 不支持

使用道具 举报

发表于 2011-3-19 10:45:52 | 显示全部楼层 来自 北京
顶起
回复 不支持

使用道具 举报

发表于 2011-3-22 08:37:35 | 显示全部楼层 来自 四川成都
看了一点 还不知道怎么用
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-19 09:58 , Processed in 0.081049 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表