ADAMS二次开发及实例
- 格式:doc
- 大小:1.47 MB
- 文档页数:94
MSC.ADAMS二次开发技术应用研究王晓东西北大学MSC.ADAMS二次开发技术应用研究Application Research Of The RedevelopingTechnique Of MSC.ADAMS王晓东西北大学摘要:MSC.ADAMS不仅是一个优秀的虚拟样机建模和分析软件,同时也可作为开发虚拟样机分析应用软件的有效工具。
用户可以针对特定的应用需求,对MSC.ADAMS进行功能定制和二次开发,扩充其功能或者将其仿真分析功能集成到自己的程序中。
本文从编写MSC.ADAMS用户自定义函数和MSC.ADAMS/SDK开发两个方面,对MSC.ADAMS的二次开发技术及其在工程上的应用进行了介绍。
关键词: MSC.ADAMS 虚拟样机二次开发用户自定义函数Abstract: MSC.ADAMS is an excellent software of virtual prototyping analysing,as well as a developing tool .For the specific purpose,users can redevelop the MSC.ADAMS software so as to strengthen the capability of simulation and analysis,or integrate such capability into your own applications. The redeveloping technique of MSC.ADAMS softwre is briefly described in programing user-writen functions and devoloping MSC.ADAMS/SDK.Key words: MSC.ADAMS,virtual prototyping,redevelopment,user writen functions1 前言虚拟样机技术(Virtual Prototype Technology)是当前设计制造领域的一门新兴的CAE技术,主要功能是在计算机上建立机械系统的三维实体模型和力学模型,分析和评估系统的性能,为物理样机的设计和产品的制造提供参数依据。
ADAMS在某微轿整车动力学仿真中的应用及其二次开发张云清陈立平任为群宋健华中科技大学清华大学摘要:本文利用ADAMS软件建立了某国产轿车的操纵动力学多体仿真模型,详细考虑了前后悬架系统、转向系统以及轮胎,并考虑了各种连接件中的弹性衬套的影响,对该车稳态、瞬态以及制动等工况进行了动力学仿真。
并结合该车的拓扑结构对ADAMS进行了二次开发,形成了一个自动化建模、仿真系统。
关键词:多体系统动力学,车辆动力学,操纵稳定性,自动化建模,仿真系统一、前言数字化虚拟样机技术是缩短车辆研发周期、降低开发成本、提高产品设计和制造质量的重要途径。
随着虚拟产品开发、虚拟制造技术的逐渐成熟,计算机仿真技术得到大量应用,许多国际知名汽车企业均已构建了数字化虚拟样机设计、开发环境,许多产品已完全实现了数字化。
系统动力学仿真是数字化虚拟样机技术的核心、关键技术。
对汽车而言,车辆动力学性能尤为重要,为了降低产品开发风险,在样车制造出之前,利用数字化样机对车辆的动力学性能进行计算机仿真,并优化其参数就显得十分必要了。
车辆动力学问题本身是多体系统动力学问题,目前国外许多汽车企业都已经大规模应用多体分析程序来进行车辆动力学仿真,并且利用系统仿真的概念,从设计--试验--改进设计—再试验—再设计的设计理念转为设计--仿真--试验,使设计中的主要问题利用数字化样机技术在设计初期得以解决。
目前在汽车上的应用已经可以集成机械、弹性体、液压、控制于一体进行动力学仿真,已处于成熟应用阶段[2~3]。
而且为了能够实现真正的并行工程,许多企业拥有自己的多体车辆动力学仿真专用系统,如ADAMS/Car、 ADAMS/Pre使建模自动化,大大缩短建模、仿真时间。
本文利用多体分析软件ADAMS建立了某国产轿车的操纵动力学多体仿真模型,详细考虑了前悬架系统(麦克弗逊式撑杆式悬架)、后悬架系统(查普曼式撑杆式悬架)、转向系统(齿轮—齿条转向系统)以及轮胎,并考虑了各种连接件中的弹性衬套的影响,对该车进行了整车稳态回转、瞬态以及制动等工况进行了动力学仿真。
2.5 ADAMS 软件的二次开发ADAMS 具有很强的二次开发功能,包括ADAMS/View 界面的用户化设计,利用.cmd语言实现自动建模和仿真控制,通过编写用户子程序满足用户的某些需求,甚至可以拓展ADAMS 的功能。
2.5.1 界面的二次开发1、定制菜单选择Tools/Menu/Modify 命令可以打开菜单编辑器窗口。
在默认情况下,菜单编辑器窗口中显示的是描述ADAMS 标准菜单的菜单文件,用户可以修改该菜单文件得到自己所需要的菜单。
菜单文件实际上是用解释性语言编制的程序段,因此,要想定制自己所需的菜单,必须了解编制残单文件的语法规则。
下面介绍该解释性语言的编程语法。
菜单对象有四种类型:菜单、按钮或图标按钮、开关按钮和分割线,分别用关键词MENUn、BUTTONn、TOGGLEn 和SEPARATORn 定义。
各菜单对象的参数含义如下:*n 是从1 到10 之间的整数,通常为1、2、3,它定义了对象在菜单中出现的级别。
Level1 表示第一级。
例如,MENU1 出现在菜单栏,BUTTON2 出现在MENU1 的之中。
MENU菜单后面的n 是必须要的,而对于其他的对象则为可选项。
如果你忽略级别,ADAMS/View 将默认该对象属于最后一个MENU。
你的菜单项可达到10 级,在菜单中你可以按你的需要尽可能多的按钮。
*lable 是出现在菜单中的文本。
对于图标按钮,你可以指定图标的名字,或者其他图形格式文件。
在Windows 中,图标名字为bitmap(.bmp)格式的文件名字。
(1)MENU 的创建可以创建多级的菜单,第一级菜单为MENU1,出现在菜单条上,低一级的菜单如MENU2 和MENU3 出现在层叠的下拉菜单中。
语法:MENUn TITLENAME=nameHELP=Help参数:n 为整数值,表明该菜单在菜单条中出现的层数。
n=1 时菜单出现在菜单栏上,n≥2 时菜单出现在下拉菜单中。
ADAMS二次开发的笔记一、定制用户界面1、首先要知道,再ADAMS/VIEW中,所有的界面对象都是以“层次结构”出现的,并且保存在特定的模型数据库中,在用户制定自己的用户界面的时候,最好将界面对象保存在一个你自己的数据库中,创建数据库的方法是:在command navigator—library—create. 如果不建立自己的数据库,则所有的界面对象都默认的保存在GUI数据库下。
2、要正确理解“窗口”“对话框”的概念,他们是不同的一个概念。
3、我们这里讲的制定用户界面,是指制作自己的菜单和对话框,通常使用菜单编辑器和对话框编辑器来完成。
4、制定自己的菜单,你要明确的是:你在制定自己的菜单的时候,菜单上出现的button的先后顺序以及menu的先后顺序是与你写菜单命令的先后顺序一致的。
即:是以大纲形式来表示二、菜单语法的解释:1、菜单对象:菜单、按钮(图表按钮、toggle button)分割线(separator)分别用关键词:menu \button\toggle\separator.定义例子:MENU1 &my_menu2003NAME=my_menu2003HELP=A Menu TestBUTTON2 &My_button1NAME=my_button_1HELP=test of my_button_1CMD=Adams Command of my_button_1Separator2BUTTON 2 &My_button2NAME=my_button_1HELP=test of my_button_1CMD=Adams Command of my_button_1Separator2MENU2 &son menu_1BUTTON3 &Son Button_1NAME=Son_Button_1CMD=Adams Command of Son Button_1BUTTON3 &Son Button_2NAME=Son_Button_2CMD=Adams Command of Son Button_2在编写这些命令的时候要注意MENU BUTTON SEPARATOR TOGGLE这些关键字要大写,另外在MENUn其中的n与MENU中间不允许有空格。
第11章 ADAMS二次开发及实例ADAMS具有很强的二次开发功能,包括ADAMS/View界面的用户化设计,利用cmd语言实现自动建模和仿真控制,通过编制用户子程序满足用户的某些特定需求,甚至可以拓展ADAMS的功能。
本章主要介绍如何定制用户化界面、宏命令的用法和条件循环命令的用法,以及综合以上功能的应用实例。
由于用户子程序的主要内容已在第9章进行了详细介绍,因此本章只对所涉及到的用户子程序编译联接操作过程进行简单介绍。
11.1 定制用户界面ADAMS/View的界面对象都是以层次结构存储在模型数据库中,类似于零件模型的层次结构。
所有定制的界面对象都存储在名为GUI的数据库中,该数据库可以很方便地管理所有的标准界面对象。
如图11-1所示。
图11-1 界面对象的层次结构最上层的界面对象是窗口和对话框。
如果主要建模窗口起名为main的话,其数据库全名应为.gui.main。
尽管窗口和对话框看起来很相似,但它们却是很不相同的。
窗口通常是在用户工作的时候在屏幕上停留一段时间,而对话框通常是在用户输入数据或是进行访问控制时才会出现。
窗口有工具条和菜单栏,窗口和对话框也包含其他的界面对象如按钮,标签等等。
大多数用户化操作涉及到创建对话框或者修改标准对话框。
但若不用创建一个完整的用户化界面时,则通常只用修改菜单条和工具栏。
ADAMS所包含界面对象属性如表11-1所示。
表11-1 ADAMS所包含界面对象属性Seperator(分割线)画出水平线分割线Slide(滑动条)通过滑动条设置当前范围内的整数值,而不用键入数值Option menu(可选菜单项)在多个菜单项中作一选择包含一个弹出菜单的图框只显示一行选定菜单项Radio boa(状态设置框)设置状态和模式Tab container(标签界面对象)给界面和对话框设置标签Data table(数据表)用来显示数据的表格,你可增加栏或列在大多数情况下,用户定制界面是指制作用户自己的菜单和对话框。
ADAMS二次开发的笔记一、定制用户界面1、首先要知道,再ADAMS/VIEW中,所有的界面对象都是以“层次结构”出现的,并且保存在特定的模型数据库中,在用户制定自己的用户界面的时候,最好将界面对象保存在一个你自己的数据库中,创建数据库的方法是:在command navigator—library—create. 如果不建立自己的数据库,则所有的界面对象都默认的保存在GUI数据库下。
2、要正确理解“窗口”“对话框”的概念,他们是不同的一个概念。
3、我们这里讲的制定用户界面,是指制作自己的菜单和对话框,通常使用菜单编辑器和对话框编辑器来完成。
4、制定自己的菜单,你要明确的是:你在制定自己的菜单的时候,菜单上出现的button的先后顺序以及menu的先后顺序是与你写菜单命令的先后顺序一致的。
即:是以大纲形式来表示二、菜单语法的解释:1、菜单对象:菜单、按钮(图表按钮、toggle button)分割线(separator)分别用关键词:menu \button\toggle\separator.定义例子:MENU1 &my_menu2003NAME=my_menu2003HELP=A Menu TestBUTTON2 &My_button1NAME=my_button_1HELP=test of my_button_1CMD=Adams Command of my_button_1Separator2BUTTON 2 &My_button2NAME=my_button_1HELP=test of my_button_1CMD=Adams Command of my_button_1Separator2MENU2 &son menu_1BUTTON3 &Son Button_1NAME=Son_Button_1CMD=Adams Command of Son Button_1BUTTON3 &Son Button_2NAME=Son_Button_2CMD=Adams Command of Son Button_2在编写这些命令的时候要注意MENU BUTTON SEPARATOR TOGGLE这些关键字要大写,另外在MENUn其中的n与MENU中间不允许有空格。
第11章 ADAMS二次开发及实例ADAMS具有很强的二次开发功能,包括ADAMS/View界面的用户化设计,利用cmd语言实现自动建模和仿真控制,通过编制用户子程序满足用户的某些特定需求,甚至可以拓展ADAMS的功能。
本章主要介绍如何定制用户化界面、宏命令的用法和条件循环命令的用法,以及综合以上功能的应用实例。
由于用户子程序的主要内容已在第9章进行了详细介绍,因此本章只对所涉及到的用户子程序编译联接操作过程进行简单介绍。
11.1 定制用户界面ADAMS/View的界面对象都是以层次结构存储在模型数据库中,类似于零件模型的层次结构。
所有定制的界面对象都存储在名为GUI的数据库中,该数据库可以很方便地管理所有的标准界面对象。
如图11-1所示。
图11-1 界面对象的层次结构机械系统动力学分析及ADAMS应用最上层的界面对象是窗口和对话框。
如果主要建模窗口起名为main的话,其数据库全名应为.gui.main。
尽管窗口和对话框看起来很相似,但它们却是很不相同的。
窗口通常是在用户工作的时候在屏幕上停留一段时间,而对话框通常是在用户输入数据或是进行访问控制时才会出现。
窗口有工具条和菜单栏,窗口和对话框也包含其他的界面对象如按钮,标签等等。
大多数用户化操作涉及到创建对话框或者修改标准对话框。
但若不用创建一个完整的用户化界面时,则通常只用修改菜单条和工具栏。
ADAMS所包含界面对象属性如表11-1所示。
表11-1 ADAMS所包含界面对象属性第11章ADAMS二次开发及实例在大多数情况下,用户定制界面是指制作用户自己的菜单和对话框。
通常可使用菜单编辑器和对话框编辑器来定制界面,通过它们可以很快地访问并改变大多数界面对象和功能。
下面就这两方面的内容作简单介绍。
11.1.1 定制菜单1。
菜单编辑器通过以下菜单路径可以调出菜单编辑器窗口:Main menu==》Tools==》Menu==》Modify……菜单编辑器窗口如图11-2所示:图11-2 菜单编辑窗口在菜单编辑器窗口中显示的是ADAMS菜单文件,菜单文件是按照一定的语法书写的解释性程序文件,在默认情况下,菜单编辑器窗口里显示的是描述ADAMS标准菜单的菜单文件,通过按照一定的语法规则修改该菜单文件,就可以得到用户化的菜单。
基于Adams/Car的二次开发和应用作者:胡礼易忠路龚成斌王存杰胡少洪来源:《计算机辅助工程》2014年第01期摘要:简介Adams/Car的二次开发功能,编制关于后扭力梁悬架自动建模界面,并通过实例操作验证其正确性.该实例可大大提高CAE工程师进行此类悬架分析的效率.关键词:Adams;扭力梁;悬架;二次开发中图分类号: U463.33; TB115.1文献标志码: B0引言随着汽车行业的发展,人们对汽车的要求越来越高,不仅要求有良好的操纵稳定性,还要求有良好的舒适性和可靠性.按照传统设计方法很难达到设计要求,因此CAE技术应运而生.据资料显示,丰田佳美在采用CAE技术后,研发成本降低30%,研发时间缩短10个月,样车数量减少65%,人力投入减少20%.[1]可见,CAE技术能带来很大好处.然而,在运用CAE技术时,建模过程占用大量时间,且该过程极其枯燥并容易出错.本文通过Adams/Car的二次开发,编制后扭力梁悬架自动建模界面,通过实例操作,验证其正确性,为进行此类悬架分析节约大量时间,提高工作效率.1Adams/Car二次开发简介目前,Adams是世界上应用最广的动力学仿真分析软件之一,已应用在航空、汽车、兵器、船舶和医疗器械等多个行业,并取得非常优秀的成绩.利用它的二次开发功能,用户可以对Adams进行功能定制:如利用cmd语言实现仿真控制和自动建模;进行Adams/Car界面的用户化设计,针对用户的某些特殊需求,通过编制用户自定义函数或子程序拓展Adams功能,为用户定制具有特殊功能的分析软件.1.1定制用户界面定制用户界面指用户可以使用菜单和对话框编辑器制作自己需要的菜单和对话框.在通常情况下,用户只需修改工具条和菜单栏就能满足大部分的需要.1.2定制对话框定制对话框指用户用对话框编辑器根据自身需求创建和修改对话框,可以为一个对话框增加一个标签用于显示对话框中的文本和图像,也可以添加一个数据区用于用户输入文字和数值信息等.1.2.1建立对话框(1)从Tools菜单上选择Dialog Box按钮,再选择Create按钮,弹出对话框编辑器(见图1).(2)在对话框编辑器中,通过从Dialog Box菜单上选择New,弹出新对话框(见图2),然后在Name框里输入对话框的名字(如dbox_1),并选择需要添加的一些按钮,如OK,Apply和Close等.(3)点击OK按钮,完成一个新对话框的创建.1.2.2在用户定制对话框里增加界面对象上述步骤虽然能够创建对话框,但是还不能实现用户想要的功能,需要向新建立的对话框中添加Label,Field,Button和Container等界面对象,完善定制对话框的功能.用户可以利用对话框编辑器,通过从Create菜单选择需要添加的对象,然后在想要添加对象的对话框里用鼠标左键点击并拖动,即可创建各个对象,并且可以利用对话框编辑器快速修改各个对象的属性,供用户使用.Adams/Car对话框界面对象及其作用见表1.4结束语在Adams中进行二次开发,编制后扭力梁悬架自动建模界面,可以实现快速建模,其效率是传统建模的数倍,为CAE工程师仿真分析节约大量时间,对CAE技术的发展有重要意义.参考文献:[1]陈军. Adams技术与工程分析实例[M]. 北京:中国水利水电出版社, 2008.[2]陈立平,张云清,任卫群,等. 机械系统动力学分析及Adams应用教程[M]. 北京:清华大学出版社, 2005.(编辑陈锋杰)。
第11章 ADAMS二次开发及实例ADAMS具有很强的二次开发功能,包括ADAMS/View界面的用户化设计,利用cmd语言实现自动建模和仿真控制,通过编制用户子程序满足用户的某些特定需求,甚至可以拓展ADAMS的功能。
本章主要介绍如何定制用户化界面、宏命令的用法和条件循环命令的用法,以及综合以上功能的应用实例。
由于用户子程序的主要内容已在第9章进行了详细介绍,因此本章只对所涉及到的用户子程序编译联接操作过程进行简单介绍。
11.1 定制用户界面ADAMS/View的界面对象都是以层次结构存储在模型数据库中,类似于零件模型的层次结构。
所有定制的界面对象都存储在名为GUI的数据库中,该数据库可以很方便地管理所有的标准界面对象。
如图11-1所示。
图11-1 界面对象的层次结构机械系统动力学分析及ADAMS应用最上层的界面对象是窗口和对话框。
如果主要建模窗口起名为main的话,其数据库全名应为.gui.main。
尽管窗口和对话框看起来很相似,但它们却是很不相同的。
窗口通常是在用户工作的时候在屏幕上停留一段时间,而对话框通常是在用户输入数据或是进行访问控制时才会出现。
窗口有工具条和菜单栏,窗口和对话框也包含其他的界面对象如按钮,标签等等。
大多数用户化操作涉及到创建对话框或者修改标准对话框。
但若不用创建一个完整的用户化界面时,则通常只用修改菜单条和工具栏。
ADAMS所包含界面对象属性如表11-1所示。
表11-1 ADAMS所包含界面对象属性第11章ADAMS二次开发及实例Option menu(可选菜单项) 在多个菜单项中作一选择包含一个弹出菜单的图框只显示一行选定菜单项Radio boa(状态设置框) 设置状态和模式给界面和对话框设置标签Tab container(标签界面对象)Data table(数据表) 用来显示数据的表格,你可增加栏或列在大多数情况下,用户定制界面是指制作用户自己的菜单和对话框。
通常可使用菜单编辑器和对话框编辑器来定制界面,通过它们可以很快地访问并改变大多数界面对象和功能。
ADAMS二次开发编程技巧和注意点ADAMS不同版本之间的转换1、把MDI.DAT修改成所需要的版本,若所需要的版本就是环境变量中默认的版本,则不需要MDI.DAT2、双击start.bat,调用ADAMS建立新版的BIN文件,文件名字要和aview.cmd中的名字一致(此处的名字可根据需要修改,只需要根据需要修改BIN文件的名字,不需要定义单位和坐标系,因为随后导入的CMD有定义,CMD的坐标系一般定义为123坐标),new model working directory>新建的文件夹3、修改前处理菜单。
tools>menu>modify 添加bearing前处理菜单及其子菜单>apply4、添加前处理几个必要的CMD. file>import>done.cmd start.cmd tips.cmd waring.cmd aview.cmd5、添加前处理菜单cmd。
根据bearing菜单中的子菜单选项,添加所需要的CMD。
有时会出现警告,处理方法为:view>message window>settings>error6、修改后处理菜单Tools>Menu>modify>menu bar>load>pptmain>mbar>ok,此时出现menu bulider界面(隐藏于任务栏中),按照前处理菜单的修改方法,进行修改即可,最后点击APPL Y,即可生成后处理菜单。
7、导入后处理菜单的CMD,方法同前处理。
后处理>file>import>commamd file>右键>browse8、模型创建完成后,可以导出一个以模型名为名的总的CMD, file>export>commamd file。
ADAMS2010不能编程的处理方法:1、打开编译器2、cd/d+文件夹地址(是编译程序所在的地址,不在不是ADAMS2005的MDI地址,此时ADAMS2010的MDI不应该在文件夹中)3、打开ADAMS2005的MDI(若ADAMS2005的MDI不在文件夹中,则可手动双击,ADAMS2005软件安装位置中COMMON>MDI.DAT。
第11章ADAMS二次开发及实例ADAMS具有很强的二次开发功能,包括ADAMS/View界面的用户化设计,利用cmd语言实现自动建模和仿真控制,通过编制用户子程序满足用户的某些特定需求,甚至可以拓展ADAMS的功能。
本章主要介绍如何定制用户化界面、宏命令的用法和条件循环命令的用法,以及综合以上功能的应用实例。
由于用户子程序的主要内容已在第9章进行了详细介绍,因此本章只对所涉及到的用户子程序编译联接操作过程进行简单介绍。
11.1 定制用户界面ADAMS/View的界面对象都是以层次结构存储在模型数据库中,类似于零件模型的层次结构。
所有定制的界面对象都存储在名为GUI的数据库中,该数据库可以很方便地管理所有的标准界面对象。
如图11-1所示。
图11-1 界面对象的层次结构最上层的界面对象是窗口和对话框。
如果主要建模窗口起名为main的话,其数据库全名应为.gui.main。
尽管窗口和对话框看起来很相似,但它们却是很不相同的。
窗口通常是在用户工作的时候在屏幕上停留一段时间,而对话框通常是在用户输入数据或是进行访问控制时才会出现。
窗口有工具条和菜单栏,窗口和对话框也包含其他的界面对象如按钮,标签等等。
大多数用户化操作涉及到创建对话框或者修改标准对话框。
但若不用创建一个完整的用户化界面时,则通常只用修改菜单条和工具栏。
ADAMS所包含界面对象属性如表11-1所示。
在大多数情况下,用户定制界面是指制作用户自己的菜单和对话框。
通常可使用菜单编辑器和对话框编辑器来定制界面,通过它们可以很快地访问并改变大多数界面对象和功能。
下面就这两方面的内容作简单介绍。
11.1.1 定制菜单1。
菜单编辑器通过以下菜单路径可以调出菜单编辑器窗口:Main menu==》Tools==》Menu==》Modify……菜单编辑器窗口如图11-2所示:图11-2 菜单编辑窗口在菜单编辑器窗口中显示的是ADAMS菜单文件,菜单文件是按照一定的语法书写的解释性程序文件,在默认情况下,菜单编辑器窗口里显示的是描述ADAMS标准菜单的菜单文件,通过按照一定的语法规则修改该菜单文件,就可以得到用户化的菜单。
下面的程序段是对标准ADAMS/View菜单文件的节选,粗略显示了标准ADAMS/View菜单文件的各个菜单项和File菜单项所包含的按钮和分割条界面对象,以便读者能把握菜单文件的全貌,如图11-3所示为相应的图形界面。
图11-3 ADAMS/View菜单MENU1 &File !File菜单项NAME=fileHELP=Read and write files, print model views, or exit ADAMSBUTTON2 &New Database::Ctrl+N !New Database 按钮NAME=new……BUTTON2 &Open Database::Ctrl+O !Open Database 按钮NAME=openHELP=Open a Database File (ADAMS/View Binary File) ……BUTTON2 Save Database &As... !Save Database 按钮……SEPARATOR2 !分割线……BUTTON2 &Import !Import按钮……...BUTTON2 &Export !Export按钮……...SEPARATOR2 !分割线……BUTTON2 &Print...::Ctrl+P !Print按钮……SEPARATOR2 !分割线……BUTTON2 &Select Directory. !Select Directory.按钮……..SEPARATOR2 !分割线……BUTTON2 E&xit::Ctrl+Q !Exit按钮……MENU1 &Edit !Edit菜单项……MENU1 &View !View菜单项……MENU1 &Build !Build菜单项……MENU1 &Simulate !Simulate菜单项……MENU1 &Review !Review菜单项……MENU1 Settin&gs !Settings菜单项……MENU1 &Tools !Tools菜单项……MENU1 &Help !Help菜单项在菜单编辑器窗口中对菜单文件进行用户化修改后,点击编辑器窗口上的Menu bar菜单项下的Export Text按钮可将用户化的菜单文件到用户二次开发文件目录中。
如果要重新调入菜单,使用菜单编辑器的Import Text 按钮调入相应的菜单文件,然后点击Apply按钮;或者直接通过以下菜单路径来实现:Main menu==》Tools==》Menu==》Read…….2。
菜单语法如前所述,菜单文件实际上是用解释性语言编制的程序段,下面介绍该解释性语言的编程语法。
菜单对象有四种类型:菜单、按钮或图标按钮、开关按钮和分割线,分别用关键词MENUn、BUTTONn、TOGGLEn和SEPARATORn定义。
如表11-2所示列出的是菜单对象类型及其参数含义。
表中菜单对象的参数含义如下:(1) n是从1到10之间的整数,它表示对象在菜单中出现的级别。
例如,MENU1出现在菜单栏,BUTTON2出现在MENU1的之中。
MENU 菜单后面的n是必须要的,而对于其他的对象则为可选项。
如果忽略级别,ADAMS/View将默认该对象属于最后一个MENU。
(2) lable是出现在菜单中的文本。
对于图标按钮,可以指定图标的名字,或者其他图形格式文件。
在Windows中图标名字为bitmap(.bmp)格式的文件名字。
创建每种菜单对象的语法结构如下:创建MENU可以创建多级的菜单,第一级菜单为MENU1,出现在菜单条上,低一级的菜单如MENU2和MENU3出现在层叠的下拉菜单中。
语法:MENUn TITLENAME=nameHELP=Help参数:n=整数值,表明该菜单在菜单条中出现的层数。
n=1时菜单出现在菜单栏上,n≥2时菜单出现在下拉菜单中。
TITLE=字符串,出现在菜单栏上,可以在表提前加一个&字符用作记忆法(如“&File”在菜单上显示为File)。
NAME=模型数据库中对象的名字。
HELP=出现在状态栏中的文字。
创建BUTTON每个按钮对应一个菜单命令,可以在下拉菜单或是子菜单上放置按钮。
语法:BUTTONn LABLE ACCELERATORNAME=nameHELP=helpCMD=command参数:n=整数值,表明按钮出现的层数。
N=2时按钮出现在下拉菜单上,n ≥3时按钮出现在子菜单上。
LABLE=按钮名,出现在下拉菜单或子菜单上。
ACCELERATOR=键或键组用来执行菜单命令。
NAME=模型数据库中菜单对象的名字。
HELP=出现在状态条上的文字。
CMD=点击按钮时所执行的命令,当有:多行命令时,每一行前面都要加CMD。
创建分隔符(SEPERATOR)在下拉菜单和子菜单中的各项目之间添加分割线。
语法:SEPERATORn参数:n=整数值,表明分隔符出现的层数,n=2时分隔符出现在下拉菜单中,n=3时分隔符出现在子菜单中。
创建开关按钮TOGGLE用于在两种状态之间设置切换开关,开关按钮可以在下拉菜单或是在子菜单上。
语法:TOGGLEn TITLENAME=nameHELP=helpSTATE=stateCMD=command其参数含义同上其他对象。
下面是一个利用菜单编辑器定制用户化菜单的例子,该例在ADAMS/View标准菜单的Tools菜单项和Help菜单项之间定制了用户自己的菜单项MyMenu2003,通过展开该菜单项显示了用户菜单各层次之间的关系,如图11-4所示。
图11-4 用户菜单MyMenu2003的层次结构下面是本例的程序清单:……MENU1 &Tools……MENU1 &MyMenu2003NAME=mymenu2003HELP=A Menu TestBUTTON2 My Button &1NAME=My_Button_1HELP=Test of My Button 1CMD=Adams Command of My Button 1 BUTTON2 My Button &2NAME=My_Button_2HELP=Test of My Button 2CMD=Adams Command of My Button 2 BUTTON2 ……NAME=Some_ButtonsHELP=Test of Some ButtonCMD=Adams Commands of Some Buttons BUTTON2 My Button &nNAME=My_Button_nHELP=Test of My Button nCMD=Adams Command of My Button n SEPARATOR2MENU2 &Son Menu 1BUTTON3 Son Button 1NAME=Son_Button_1CMD=Adams Command of Son Button 1 BUTTON3 Son Button 2NAME=Son_Button_2CMD=Adams Command of Son Button 2 BUTTON3 ……NAME=Some_Son_ButtonCMD=Adams Command of Some Son Button BUTTON3 Son Button nNAME=Son_Button_nCMD=Adams Command of Son Button n SEPARATOR3MENU3 Son's Son MenuBUTTON4 Son's Son ButtonBUTTON4 ……MENU3 .……MENU2 &Son Menu 2MENU2 ……MENU2 &Son Menu nMENU1 &Help……11.1.2 定制对话框ADAMS/View中使用的对话框包括各种界面对象,如标签、数据区、按钮等等。
可以使用ADAMS对话框编辑器来创建和修改对话框以更好地满足用户的需要。
例如为标准对话框添加一个按钮来包含要作的选项,或添加一个对话框以执行经常运行的步骤等等。
利用对话框编辑器创建用户自定义对话框的操作方法如下:1。
创建对话框对话框编辑器包含了用来创建对话框的所有工具,创建对话框的步骤如下:(1) 通过如下菜单路径:在Tools==》Dialog Box==》Create,于是出现对话框编辑器如图11-5所示:图11-5 对话框编辑器(2) 在Dialog Box菜单中,选择New按钮,出现新的对话框,如图11-6所示。