当前位置:文档之家› ADAMS二次开发及实例

ADAMS二次开发及实例

第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所示。

相关主题