第11章ADAMS二次开发及实例-(陈立平)机械系统动力学分析及ADAMS应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第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-1ADAMS所包含界面对象属性界面对象:对象属性:Window(窗口)可包含用户自定义的菜单条和工具条可有一个以上的菜单条,但一次只能显示一个包含所有低层次的界面对象Toolbar(工具条)出现在窗口上端或下端的子区域能包含其它的对象MenuBar(菜单条)出现在窗口上端可有子菜单仅用于控制菜单Menu(菜单)包含三种类型:下拉式、弹出式或子菜单可包含按钮、开关按钮、分割条和子菜单Dialogbox(对话框)除菜单条和工具条之外还可包含其他对象Container(界面对象区)包含在对话框,窗口和工具条内的子区域可包含其他对象Buttonstack(按钮串)可包含多个按钮,而只显示一个按钮仅一个按钮被激活可通过右键操作显示所有按钮.Lable(标签)用在对话框中显示文本和图象Field(数据区)用于用户输入信息Button(按钮)激活操作在按钮上显示文本和图象对相应操作进行提示Togglebutton(开关按钮)显示激活状态的按钮Seperator(分割线)画出水平线分割线Slide(滑动条)通过滑动条设置当前范围内的整数值,而不用键入数值第11章ADAMS二次开发及实例Optionmenu(可选菜单项)在多个菜单项中作一选择包含一个弹出菜单的图框只显示一行选定菜单项Radioboa(状态设置框)设置状态和模式Tabcontainer(标签界面对象)给界面和对话框设置标签Datatable(数据表)用来显示数据的表格,你可增加栏或列在大多数情况下,用户定制界面是指制作用户自己的菜单和对话框。通常可使用菜单编辑器和对话框编辑器来定制界面,通过它们可以很快地访问并改变大多数界面对象和功能。下面就这两方面的内容作简单介绍。11.1.1定制菜单1。菜单编辑器通过以下菜单路径可以调出菜单编辑器窗口:Mainmenu==》Tools==》Menu==》Modify……菜单编辑器窗口如图11-2所示:图11-2菜单编辑窗口在菜单编辑器窗口中显示的是ADAMS菜单文件,菜单文件是按照一定的语法书写的解释性程序文件,在默认情况下,菜单编辑器窗口里显示的是描述ADAMS标准菜单的菜单文件,通过按照一定的语法规则修改该菜单文件,就可以得到用户化的菜单。机械系统动力学分析及ADAMS应用下面的程序段是对标准ADAMS/View菜单文件的节选,粗略显示了标准ADAMS/View菜单文件的各个菜单项和File菜单项所包含的按钮和分割条界面对象,以便读者能把握菜单文件的全貌,如图11-3所示为相应的图形界面。图11-3ADAMS/View菜单MENU1&File!File菜单项NAME=fileHELP=Readandwritefiles,printmodelviews,orexitADAMSBUTTON2&NewDatabase::Ctrl+N!NewDatabase按钮NAME=new……BUTTON2&OpenDatabase::Ctrl+O!OpenDatabase按钮NAME=openHELP=OpenaDatabaseFile(ADAMS/ViewBinaryFile)……BUTTON2SaveDatabase&As...!SaveDatabase按钮……SEPARATOR2!分割线……BUTTON2&Import!Import按钮……...BUTTON2&Export!Export按钮……...SEPARATOR2!分割线……BUTTON2&Print...::Ctrl+P!Print按钮……第11章ADAMS二次开发及实例SEPARATOR2!分割线……BUTTON2&SelectDirectory.!SelectDirectory.按钮……..SEPARATOR2!分割线……BUTTON2E&xit::Ctrl+Q!Exit按钮……MENU1&Edit!Edit菜单项……MENU1&View!View菜单项……MENU1&Build!Build菜单项……MENU1&Simulate!Simulate菜单项……MENU1&Review!Review菜单项……MENU1Settin&gs!Settings菜单项……MENU1&Tools!Tools菜单项……MENU1&Help!Help菜单项在菜单编辑器窗口中对菜单文件进行用户化修改后,点击编辑器窗口上的Menubar菜单项下的ExportText按钮可将用户化的菜单文件到用户二次开发文件目录中。如果要重新调入菜单,使用菜单编辑器的ImportText按钮调入相应的菜单文件,然后点击Apply按钮;或者直接通过以下菜单路径来实现:Mainmenu==》Tools==》Menu==》Read…….2。菜单语法如前所述,菜单文件实际上是用解释性语言编制的程序段,下面介绍该解释性语言的编程语法。菜单对象有四种类型:菜单、按钮或图标按钮、开关按钮和分割线,分别用关键词MENUn、BUTTONn、TOGGLEn和SEPARATORn定义。如表11-2所示列出的是菜单对象类型及其参数含义。机械系统动力学分析及ADAMS应用表11-2菜单对象类型及其参数含义菜单对象参数含义:MENUnLabelBUTTONnLabelornameoficonfileTOGGLEnLableSEPARATORn(none)表中菜单对象的参数含义如下:(1)n是从1到10之间的整数,它表示对象在菜单中出现的级别。例如,MENU1出现在菜单栏,BUTTON2出现在MENU1的之中。MENU菜单后面的n是必须要的,而对于其他的对象则为可选项。如果忽略级别,ADAMS/View将默认该对象属于最后一个MENU。(2)lable是出现在菜单中的文本。对于图标按钮,可以指定图标的名字,或者其他图形格式文件。在Windows中图标名字为bitmap(.bmp)格式的文件名字。创建每种菜单对象的语法结构如下:创建MENU可以创建多级的菜单,第一级菜单为MENU1,出现在菜单条上,低一级的菜单如MENU2和MENU3出现在层叠的下拉菜单中。语法:MENUnTITLENAME=nameHELP=Help参数:n=整数值,表明该菜单在菜单条中出现的层数。n=1时菜单出现在菜单栏上,n≥2时菜单出现在下拉菜单中。TITLE=字符串,出现在菜单栏上,可以在表提前加一个&字符用作记忆法(如“&File”在菜单上显示为File)。NAME=模型数据库中对象的名字。HELP=出现在状态栏中的文字。创建BUTTON每个按钮对应一个菜单命令,可以在下拉菜单或是子菜单上放置按钮。语法:BUTTONnLABLEACCELERATORNAME=name第11章ADAMS二次开发及实例HELP=helpCMD=command参数:n=整数值,表明按钮出现的层数。N=2时按钮出现在下拉菜单上,n≥3时按钮出现在子菜单上。LABLE=按钮名,出现在下拉菜单或子菜单上。ACCELERATOR=键或键组用来执行菜单命令。NAME=模型数据库中菜单对象的名字。HELP=出现在状态条上的文字。CMD=点击按钮时所执行的命令,当有:多行命令时,每一行前面都要加CMD。创建分隔符(SEPERATOR)在下拉菜单和子菜单中的各项目之间添加分割线。语法:SEPERATORn参数:n=整数值,表明分隔符出现的层数,n=2时分隔符出现在下拉菜单中,n=3时分隔符出现在子菜单中。创建开关按钮TOGGLE用于在两种状态之间设置切换开关,开关按钮可以在下拉菜单或是在子菜单上。语法:TOGGLEnTITLENAME=nameHELP=helpSTATE=stateCMD=command其参数含义同上其他对象。下面是一个利用菜单编辑器定制用户化菜单的例子,该例在ADAMS/View标准菜单的Tools菜单项和Help菜单项之间定制了用户自己的菜单项MyMenu2003,通过展开该菜单项显示了用户菜单各层次之间的关系,如图11-4所示。机械系统动力学分析及ADAMS应用图11-4用户菜单MyMenu2003的层次结构下面是本例的程序清单:……MENU1&Tools……MENU1&MyMenu2003NAME=mymenu2003HELP=AMenuTestBUTTON2MyButton&1NAME=My_Button_1HELP=TestofMyButton1CMD=AdamsCommandofMyButton1BUTTON2MyButton&2NAME=My_Button_2HELP=TestofMyButton2CMD=AdamsCommandofMyButton2BUTTON2……NAME=Some_ButtonsHELP=TestofSomeButtonCMD=AdamsCommandsofSomeButtonsBUTTON2MyButton&nNAME=My_Button_nHELP=TestofMyButtonnCMD=AdamsCommandofMyButtonnSEPARATOR2MENU2&SonMenu1BUTTON3SonButton1NAME=Son_Button_1CMD=AdamsCommandofSonButton1第11章ADAMS二次开发及实例BUTTON3SonButton2NAME=Son_Button_2CMD=AdamsCommandofSonButton2BUTTON3……NAME=Some_Son_ButtonCMD=AdamsCommandofSomeSonButtonBUTTON3SonButtonnNAME=Son_Button_nCMD=AdamsCommandofSonButtonnSEPARATOR3MENU3Son'sSonMenuBUTTON4Son'sSonButtonBUTTON4……MENU3.……MENU2&SonMenu2MENU2……MENU2&SonMenunMENU1&Help……11.1.2定制对话框ADAMS/View中使用的对话框包括各种界面对象,如标签、数据区、按钮等等。可以使用ADAMS对话框编辑器来创建和修改对话框以更好地满足用户的需要。例如为标准对话框添加一个按钮来包含要作的选项,或添加一个对话框以执行经常运行的步骤等等。利用对话框编辑器创建用户自定义对话框的操作方法如下:1。创建对话框对话框编辑器包含了用来创建对话框的所有工具,创建对话框的步骤如下:(1)通过如下菜单路径:在Tools==》DialogBox==》Create,于是出现对话框编辑器如图11-5所示:机械系统动力学分析及ADAMS应用图11-

1 / 67
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功