ADAMS二次开发及实例.docx

上传人:b****7 文档编号:15398710 上传时间:2023-07-04 格式:DOCX 页数:92 大小:795.27KB
下载 相关 举报
ADAMS二次开发及实例.docx_第1页
第1页 / 共92页
ADAMS二次开发及实例.docx_第2页
第2页 / 共92页
ADAMS二次开发及实例.docx_第3页
第3页 / 共92页
ADAMS二次开发及实例.docx_第4页
第4页 / 共92页
ADAMS二次开发及实例.docx_第5页
第5页 / 共92页
ADAMS二次开发及实例.docx_第6页
第6页 / 共92页
ADAMS二次开发及实例.docx_第7页
第7页 / 共92页
ADAMS二次开发及实例.docx_第8页
第8页 / 共92页
ADAMS二次开发及实例.docx_第9页
第9页 / 共92页
ADAMS二次开发及实例.docx_第10页
第10页 / 共92页
ADAMS二次开发及实例.docx_第11页
第11页 / 共92页
ADAMS二次开发及实例.docx_第12页
第12页 / 共92页
ADAMS二次开发及实例.docx_第13页
第13页 / 共92页
ADAMS二次开发及实例.docx_第14页
第14页 / 共92页
ADAMS二次开发及实例.docx_第15页
第15页 / 共92页
ADAMS二次开发及实例.docx_第16页
第16页 / 共92页
ADAMS二次开发及实例.docx_第17页
第17页 / 共92页
ADAMS二次开发及实例.docx_第18页
第18页 / 共92页
ADAMS二次开发及实例.docx_第19页
第19页 / 共92页
ADAMS二次开发及实例.docx_第20页
第20页 / 共92页
亲,该文档总共92页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ADAMS二次开发及实例.docx

《ADAMS二次开发及实例.docx》由会员分享,可在线阅读,更多相关《ADAMS二次开发及实例.docx(92页珍藏版)》请在冰点文库上搜索。

ADAMS二次开发及实例.docx

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—1ADAMS所包含界面对象属性

界面对象:

对象属性:

Window(窗口)

可包含用户自定义的菜单条和工具条

可有一个以上的菜单条,但一次只能显示一个

包含所有低层次的界面对象

Toolbar(工具条)

出现在窗口上端或下端的子区域

能包含其它的对象

MenuBar(菜单条)

出现在窗口上端

可有子菜单

仅用于控制菜单

Menu(菜单)

包含三种类型:

下拉式、弹出式或子菜单

可包含按钮、开关按钮、分割条和子菜单

Dialogbox(对话框)

除菜单条和工具条之外还可包含其他对象

Container(界面对象区)

包含在对话框,窗口和工具条内的子区域

可包含其他对象

Buttonstack(按钮串)

可包含多个按钮,而只显示一个按钮

仅一个按钮被激活

可通过右键操作显示所有按钮.

Lable(标签)

用在对话框中显示文本和图象

Field(数据区)

用于用户输入信息

Button(按钮)

激活操作

在按钮上显示文本和图象对相应操作进行提示

Togglebutton(开关按钮)

显示激活状态的按钮

Seperator(分割线)

画出水平线分割线

Slide(滑动条)

通过滑动条设置当前范围内的整数值,而不用键入数值

Optionmenu(可选菜单项)

在多个菜单项中作一选择

包含一个弹出菜单的图框

只显示一行选定菜单项

Radioboa(状态设置框)

设置状态和模式

Tabcontainer(标签界面对象)

给界面和对话框设置标签

Datatable(数据表)

用来显示数据的表格,你可增加栏或列

在大多数情况下,用户定制界面是指制作用户自己的菜单和对话框。

通常可使用菜单编辑器和对话框编辑器来定制界面,通过它们可以很快地访问并改变大多数界面对象和功能。

下面就这两方面的内容作简单介绍。

11.1.1定制菜单

1。

菜单编辑器

通过以下菜单路径可以调出菜单编辑器窗口:

Mainmenu==》Tools==》Menu==》Modify……

菜单编辑器窗口如图11-2所示:

图11-2菜单编辑窗口

在菜单编辑器窗口中显示的是ADAMS菜单文件,菜单文件是按照一定的语法书写的解释性程序文件,在默认情况下,菜单编辑器窗口里显示的是描述ADAMS标准菜单的菜单文件,通过按照一定的语法规则修改该菜单文件,就可以得到用户化的菜单.

下面的程序段是对标准ADAMS/View菜单文件的节选,粗略显示了标准ADAMS/View菜单文件的各个菜单项和File菜单项所包含的按钮和分割条界面对象,以便读者能把握菜单文件的全貌,如图11-3所示为相应的图形界面.

图11—3ADAMS/View菜单

MENU1&File!

File菜单项

NAME=file

HELP=Readandwritefiles,printmodelviews,orexitADAMS

BUTTON2&NewDatabase:

:

Ctrl+N!

NewDatabase按钮

NAME=new

……

BUTTON2&OpenDatabase:

Ctrl+O!

OpenDatabase按钮

NAME=open

HELP=OpenaDatabaseFile(ADAMS/ViewBinaryFile)

……

BUTTON2SaveDatabase&As。

.!

SaveDatabase按钮

……

SEPARATOR2!

分割线

……

BUTTON2&Import!

Import按钮

……。

BUTTON2&Export!

Export按钮

……。

.

SEPARATOR2!

分割线

……

BUTTON2&Print。

..:

:

Ctrl+P!

Print按钮

……

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所示列出的是菜单对象类型及其参数含义.

表11—2菜单对象类型及其参数含义

菜单对象

参数含义:

MENUn

Label

BUTTONn

Labelornameoficonfile

TOGGLEn

Lable

SEPARATORn

(none)

表中菜单对象的参数含义如下:

(1)n是从1到10之间的整数,它表示对象在菜单中出现的级别。

例如,MENU1出现在菜单栏,BUTTON2出现在MENU1的之中。

MENU菜单后面的n是必须要的,而对于其他的对象则为可选项。

如果忽略级别,ADAMS/View将默认该对象属于最后一个MENU。

(2)lable是出现在菜单中的文本。

对于图标按钮,可以指定图标的名字,或者其他图形格式文件。

在Windows中图标名字为bitmap(.bmp)格式的文件名字.

创建每种菜单对象的语法结构如下:

创建MENU

可以创建多级的菜单,第一级菜单为MENU1,出现在菜单条上,低一级的菜单如MENU2和MENU3出现在层叠的下拉菜单中。

语法:

MENUnTITLE

NAME=name

HELP=Help

参数:

n=整数值,表明该菜单在菜单条中出现的层数.n=1时菜单出现在菜单栏上,n≥2时菜单出现在下拉菜单中。

TITLE=字符串,出现在菜单栏上,可以在表提前加一个&字符用作记忆法(如“&File”在菜单上显示为File)。

NAME=模型数据库中对象的名字.

HELP=出现在状态栏中的文字。

创建BUTTON

每个按钮对应一个菜单命令,可以在下拉菜单或是子菜单上放置按钮.

语法:

BUTTONnLABLEACCELERATOR

NAME=name

HELP=help

CMD=command

参数:

n=整数值,表明按钮出现的层数。

N=2时按钮出现在下拉菜单上,n≥3时按钮出现在子菜单上。

LABLE=按钮名,出现在下拉菜单或子菜单上。

ACCELERATOR=键或键组用来执行菜单命令。

NAME=模型数据库中菜单对象的名字。

HELP=出现在状态条上的文字。

CMD=点击按钮时所执行的命令,当有:

多行命令时,每一行前面都要加CMD。

创建分隔符(SEPERATOR)

在下拉菜单和子菜单中的各项目之间添加分割线。

语法:

SEPERATORn

参数:

n=整数值,表明分隔符出现的层数,n=2时分隔符出现在下拉菜单中,n=3时分隔符出现在子菜单中。

创建开关按钮TOGGLE

用于在两种状态之间设置切换开关,开关按钮可以在下拉菜单或是在子菜单上。

语法:

TOGGLEnTITLE

NAME=name

HELP=help

STATE=state

CMD=command

其参数含义同上其他对象.

下面是一个利用菜单编辑器定制用户化菜单的例子,该例在ADAMS/View标准菜单的Tools菜单项和Help菜单项之间定制了用户自己的菜单项MyMenu2003,通过展开该菜单项显示了用户菜单各层次之间的关系,如图11—4所示。

图11-4用户菜单MyMenu2003的层次结构

下面是本例的程序清单:

……

MENU1&Tools

……

MENU1&MyMenu2003

NAME=mymenu2003

HELP=AMenuTest

BUTTON2MyButton&1

NAME=My_Button_1

HELP=TestofMyButton1

CMD=AdamsCommandofMyButton1

BUTTON2MyButton&2

NAME=My_Button_2

HELP=TestofMyButton2

CMD=AdamsCommandofMyButton2

BUTTON2……

NAME=Some_Buttons

HELP=TestofSomeButton

CMD=AdamsCommandsofSomeButtons

BUTTON2MyButton&n

NAME=My_Button_n

HELP=TestofMyButtonn

CMD=AdamsCommandofMyButtonn

SEPARATOR2

MENU2&SonMenu1

BUTTON3SonButton1

NAME=Son_Button_1

CMD=AdamsCommandofSonButton1

BUTTON3SonButton2

NAME=Son_Button_2

CMD=AdamsCommandofSonButton2

BUTTON3……

NAME=Some_Son_Button

CMD=AdamsCommandofSomeSonButton

BUTTON3SonButtonn

NAME=Son_Button_n

CMD=AdamsCommandofSonButtonn

SEPARATOR3

MENU3Son'sSonMenu

BUTTON4Son’sSonButton

BUTTON4……

MENU3.……

MENU2&SonMenu2

MENU2……

MENU2&SonMenun

MENU1&Help

……

11。

1.2定制对话框

ADAMS/View中使用的对话框包括各种界面对象,如标签、数据区、按钮等等。

可以使用ADAMS对话框编辑器来创建和修改对话框以更好地满足用户的需要.例如为标准对话框添加一个按钮来包含要作的选项,或添加一个对话框以执行经常运行的步骤等等.利用对话框编辑器创建用户自定义对话框的操作方法如下:

1。

创建对话框

对话框编辑器包含了用来创建对话框的所有工具,创建对话框的步骤如下:

(1)通过如下菜单路径:

在Tools==》DialogBox==》Create,于是出现对话框编辑器如图11—5所示:

图11—5对话框编辑器

(2)在DialogBox菜单中,选择New按钮,出现新的对话框,如图11—6所示。

图11-6创建新对话框窗口

(3)在Name栏中输入你的对话框的标题,然后选择想在对话框上添加的默认按钮。

(4)选择OK按钮完成设置,.于是出现一个新对话框如图11—7所示。

图11-7新创建的对话框

2.修改对话框

可以利用对话框编辑器对创建好的对话框进行修改,可以添加各种不同的界面对象到对话框中,设计布局、外观、命令和对话框对象的大小等。

具体做法为:

(1)选择在Tools==》DialogBox==》Modify,出现数据库向导。

(2)选择想修改的对话框,在从Tools菜单选择对话框编辑器之后,通过双击出现的对话框的背景,这样就显示对话框编辑器并可以修改对话框了。

3。

增加界面对象到用户定制对话框

可以利用对话框编辑器为用户定制对话框添加界面对象,ADAMS/View对话框的界面对象有以下几种类型。

(1)Label—-显示对话框中的文字和图象。

(2)Field——提供输入文字和数值的空间.

(3)Button-—激活操作;在按钮上有显示该操作的图象,标题或文字。

(4)Togglebutton——显示激活状态.

(5)Seperator——划一条水平线.

(6)Slider——设置对象的数值而不用键入数据.

(7)Optionmenu—-从多个选择中挑选一个,有弹出式图框以显示整个菜单。

(8)Buttonstack——设置状态。

(9)Buttonstack——包含多个按钮,可通过右键弹出所有按钮.

(10)Container—-可添加信息。

利用对话框编辑器为用户定制对话框添加界面对象的步骤为:

(1)在Create菜单中,选择想添加的对象。

(2)将鼠标放在想添加对象的对话框中。

(3)放下鼠标左键,并拖动来创建对象。

所有界面对象的属性都可以通过对话框编辑器进行修改。

4。

在对话框中使用命令

在用户定制对话框中,大多数界面对象都对应着一个ADAMS/View可执行命令,这些命令是为了完成用户希望的某项功能,或改变模型,或改变用户输入数据,或作出选择..

可以用ADAMS/View命令语言(cmd)来为对象创建命令。

也可以通过命令向导来找到所需要的命令。

一旦你找到命令,就可将它从命令窗口和log文件中拷贝,并粘贴或键入到命令编辑框。

(1)察看对象的命令

可以通过如下操作查看界面对象所对应的命令:

●双击你想察看命令的对象。

●从菜单的Attribute选项中,选择Commands.

(2)将命令替换成文本

在执行命令之前,ADAMS/View会执行一些文本替代操作.这些替代操作就是用界面对象的属性值来取代替换文本,并将其用在命令中。

替代文本表字符为“$”,表明替代文本的位置.有四种形式的替代文本:

●$object_name——其名字与界面对象的名字相同.当ADAMS/View执行命令时,它会将当前object_name的值替换为$object_name的值。

如表11-3所示列出了不同界面对象的值.

表11-3不同界面对象的值

对象

数值含义

Field(数据区)

当前数据区内容

Option-menu(可选菜单项)

当前选定的数据

Radio-box(状态设置框)

当前选定的数据

Toggle-button(开关按钮)

当前定义的开关值

Slide(滑动条)

当前的滑动整数值

例如,为将命令中的my_value值赋给参数,可用以下语句:

my_commandmy_parameter=$my_value

如果数据区内容为123,那么在ADAMS/View中执行命令时:

my_commandmy_parameter=123

缺省情况下,选择菜单或状态设置框的值为显示或选择按钮的文字,也可以为ADAMS/View的替换指定别的值。

在togglebutton开关按钮值的属性中,由数据区来设置开关数值.在OptionMenu选项菜单和RadioBox状态控制栏,你可以用“|"符来分割多个选择。

●$_value-—替换包含该对象命令的值。

例如,如果是名字为“my_toggle”的按钮上的命令,则$_value的含义与$_toggle是相同的。

在可能的情况下,应该使用$_value的值来替代实际对象的值,因为这样更容易理解和维护。

如果在命令中看见了$_value,应该知道它代表界面对象的值,另外,如果要改变对象的名字,也不必改变命令。

这一点对于togglebuttons,radiobox和optionmenu特别有用,因为这样可以在相关联的命令中改变这些对象的值.

●$_self,$_parent,$_topgui——它们可使对话框更容易理解和维护.例如,对话框能用以下命令调入它的子类的数据:

interfacefieldsetfield=$_self.myfieldstrings=…

一般应尽可能使用$_self或$_parent命令来指代对象名字,而不用真实的名字.

●$_1,$_2,$_3——用来指代窗口或对话框显示命令相关的参数,窗口或对话框以及它们的子类都可以在命令中使用$_1,$_2,$_3。

当ADAMS/View执行命令时,它可替代参数的当前值。

(3)条件命令替换

替换文本被包含在单引号内,如果在引号内的$name或$value为空,则ADAMS/View除去单引号之间的文本。

如果返回文字为空(‘'),该对象无效或不显示,则$name为空。

条件替代更容易处理选择或命令中的手工排除参数。

例如,如果使用下列命令,而用户不提供参数,则该命令就失效了:

my_commandmy_parameter=$my_value…

相反,如果你使用下列命令,则该命令有效:

my_command‘my_parameter=$my_value’

在手工排除参数时可以使用相同的技巧,只要参数包含在单引号‘’内,并一次只显示一个选项或只有一个选项有效。

(4)Windows,DialogBoxes和Container的特殊命令

Windows(窗口),DialogBoxes(对话框)和Container(界面对象区)都有特殊命令:

start(开始),execution(执行)和finishcommand(完成).当显示对象时ADAMS/View会自动执行开始命令,而且当对象被关闭时ADAMS/View会自动执行完成命令,执行命令通过interfacedialog_box/window/containerexecute命令来执行。

开始和完成命令有助于对话框的初始化设置,当界面对象被显示时将缺省值放入数据区。

而完成命令使当对象不显示时,帮助清除参数设置。

执行命令是指在点击缺省的按钮“OK”和“Apply”是所执行的命令。

(5)编辑命令

在对话框编辑器的命令区按下鼠标右键就会弹出选择菜单,如表11—4所示.通过菜单可以对命令进行编辑。

表11—4编辑器选择菜单

命令

功能

References

显示和插入$xxx的对象文本

Pick

选择对象并在命令中插入名字

Browse

显示数据库向导并在命令中插入所选的名字

Cut

出去选择的文本并将它放在剪切版上

Copy

拷贝选择的文字到文字缓冲区

Paste

从剪切版上粘贴到光标位置

Edit

显示文本编辑器(缺省的,限于UNIX)

5。

测试对话框

用户在将定制好的对话框保存到数据库以前进行测试,具体方法为:

(1)在Option菜单中,选择TestBox按钮,ADAMS/View会显示该对话框。

(2)测试想要执行的对话框命令。

6。

保存对话框

在用户定制好自己的对话框之后,必须要对对话框进行保存。

点击在DialogBox菜单中的Export按钮,然后选择CommandFile按钮,可以将用户对话框保存到适当的位置以便下次调用。

7。

加载和显示对话框

用户可以通过以下命令加载已经保存好的对话框:

在File菜单中,选择import按钮,然后读入所需的对话框命令文件,用户定制的对话框就被加载到数据库中。

使用数据库向导可以显示对话框:

标准的ADAMS/View对话框列在前面,以字母顺序,接着是用户定制的对话框,显示对话框的步骤为:

(1)在Tool菜单中点击DialogBox按钮,然后选择Display按钮,则会出现数据库向导,其中列出了所有对话框.

(2)选择所需对话框,并选择OK按钮。

11.2宏命令的使用

宏命令实际上是一组命令集,它可以执行一连串的ADAMS/View命令.创建宏命令时,首先按顺序列出想执行的ADAMS/View命令的清单,然后就可以将这些命令写成宏命令的形式.

在宏命令中,也可以使用参数。

每次使用宏命令时,都将通过参数将数据传给宏。

当执行带有参数的宏命令时,ADAMS/View将所提供的值替代到宏命令中。

ADAMS/View对宏命令与其他的ADAMS/View的命令一样,可以在命令窗口中输入宏命令,从命令向导中选择它。

也可将它包含在其他的宏命令中,或者从自己的定制菜单、对话框或按钮中执行它。

使用宏命令可以实现以下功能:

(1)自动完成重复性的工作.

(2)为ADAMS/View建立模型数据交换功能。

(3)自动创建整个模型.

(4)快速建立机械系统的多个变量。

11。

2.1创建宏命令

通常可以通过三种方式创建宏命令:

记录方式、使用宏编辑器来编辑和创建宏命令、通过导入文件来创建宏命令。

1.以记录方式创建宏命令

(1)记录宏

a.通过如下菜单路径:

Tools==》Macro==》Record/Replay==》RecordStart,开始记录宏命令.

b。

执行想在宏命令中进行的操作。

c。

通过如下菜单路径:

Tools==》Macro==》Record/Replay==》RecordStop,可以停止记录宏。

(2)回放记录的宏

通过如下菜单路径可以回放记录好的宏命令:

Tools==》Macro==》Record/Replay==》ExecuteRecordMaro。

(3)保存记录的宏

通过如下菜单

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2