ADAMS二次开发及实例
基于adams的重卡轮毂轴承仿真平台二次开发

1.1 创建轮毂轴承 ADAMS 仿真模型 轮毂轴承是汽车最具代表性的标准件,在开发轮毂轴承过程中,动力学分析是必不可少的环节。如图
1 所示,轮毂轴承动力学分析分为三步:(1)建立几何模型与约束;(2)求解几何模型;(3)后处理[1]。
图 1 重卡轮毂轴承动力学分析步骤
本课题使用 ADAMS 宏命令定制用户界面,采用参数化坐标法建立了重卡汽车轮毂轴承的模型,利用 ADAMS 软件的 CMD 语言对重卡轮毂轴承的建模、仿真控制以及结果输出进行编译,完成了基于 ADAMS 的重卡轮毂轴承仿真软件的开发 。 [2]
(1.浙江农林大学,浙江 杭州 311300;2.浙江兆丰机电股份有限公司,浙江 杭州 311200)
摘要:轮毂轴承是重卡汽车的重要组成零部件,其动力学性能决定了重卡汽车的安全性。ADAMS 是一款机械
系统动力学仿真分析软件,也是轮毂轴承设计和优化的主要软件。从轴承设计、分析角度二次开发了 1/4
车架环境的重卡轮毂轴承动力学仿真软件 ADAMS/view,并以重卡轮毂轴承 HZF1645BR-2T 为例,使用试验机
图 7 重卡轮毂轴承求解流程 如图 8 所示,重卡轮毂轴承零部件的动力学仿真求解面板是通过 ADAMS 和 Fortran 联合完成的,根 据前节设定的几何模型和运动条件,先在轴承外圈的 ADAMS 仿真模型中输入初速度,对轴承外圈动力学 运动微分方程进行求解 。 [7] 2.2 仿真后处理界面的开发 本课题创建了参数化生成重卡汽车轮毂轴承动力学仿真模型程序,并对 ADAMS 软件进行了二次开发, 那么原后处理界面就不再适用于重卡轮毂轴承二次开发的 ADAMS 软件,因此本课题新开发了 ADAMS 后处
ADAMS二次开发及实例

第 11 章 ADAMS 二次开发及实例
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 用于在两种状态之间设置切换开关, 开关按钮可以在下拉菜单或是在子 菜单上。 语法: TOGGLEn TITLE NAME=name HELP=help STATE=state CMD=command 其参数含义同上其他对象。 下面是一个利用菜单编辑器定制用户化菜单的例子,该例在 ADAMS/View 标准菜单的 Tools 菜单项和 Help 菜单项之间定制了用户自己 的菜单项 MyMenu2003, 通过展开该菜单项显示了用户菜单各层次之间的关 系,如图 11-4 所示。
第 11 章 ADAMS 二次开发及实例 …… SEPARATOR2 …… BUTTON2 …….. SEPARATOR2 …… BUTTON2 …… MENU1 &Edit …… MENU1 &View …… MENU1 &Build …… MENU1 &Simulate …… MENU1 &Review …… MENU1 Settin&gs …… MENU1 &Tools …… MENU1 &Help ! Help 菜单项 !Tools 菜单项 !Settings 菜单项 !Review 菜单项 !Simulate 菜单项 !Build 菜单项 !View 菜单项 !Edit 菜单项 E&xit::Ctrl+Q !Exit 按钮 !分割线 &Select Directory. !Select Directory.按钮 !分割线
基于ADAMS的履带式起重机履带板二次开发建模

of work. This article uses the secondary development function of ADAMSꎬ writes and records the cmd command streamꎬ puts
the recorded macro command on the front end of the programꎬ and extracts the modeling related parameters in the macro com ̄
研究与试验
2021 年第 2 期 ( 第 34 卷ꎬ总第 172 期) 机械研究与应用
doi:10.16576 / j.cnki.1007-4414.2021.02.026
基于 ADAMS 的履带式起重机履带板二次开发建模
∗
廖建国1 ꎬ尹旭男1 ꎬ齐 芳1 ꎬ张 强2 ꎬ李 兵2
在 ADAMS 软件中添加导出导入命令ꎮ
( 见图 7) 按照图 4 的正确尺寸填写ꎬ在 ADAMS 中实
为了保证接口对齐的准确度ꎬ可以采用 ADAMS
加旋转副建立程序ꎬ然后自动添加每两块履带板之间
1.2 履带板缠绕轨迹线算法
二次开发功能ꎬ编写 cmd 命令流ꎬ通过不断的调整张
紧端的位置ꎬ实现履带板的自动缠绕ꎮ 由于整个履带
图 5 几字型支架有限元分析 图 6 助力椅样机
[4] 王广林ꎬ潘俊兵.基于北斗导航的螺纹调节式智能助老拐杖的设
计与研究[ J] .机械设计与制造工程ꎬ2020ꎬ49(10) :59-62.
[5] 卢佳伟ꎬ张秋菊ꎬ赵宏磊. 助老服务机器人设计及仿人运动研究
放命令ꎬ对履带板建模流程进行录制ꎬ并把录制后的
宏命令作为程序放于程序前部ꎮ 提取宏命令中的建
adams自定义界面 二次开发【精选】

ADAMS/View的界面如何起作用
使用ADAMS/View界面建立或修改模型时, 界面执行一系列ADAMS/View命令
通过控制建立或修改的对话窗所提交的命 令来管理该对话窗的功能。
如何改变界面
工具:
菜单修改器(Menu Builder) 对话窗发生器(Dialog-Box Builder) 是交互式的工具,可以用来自定义界面,快速打
例子
MENU1 &Help NAME=help HELP=Get Help on ADAMS BUTTON2 &About... HELP=Display product info CMD=int dia disp dia=.gui.about_adams
MENU1 &Build NAME=build HELP=Create the model entities that make up your design MENU2 &Model NAME=model BUTTON3 &New... NAME=model_new HELP=Create a new model CMD=int dia dis dia=.gui.model_cremod par=""
Dialog-Box 自定义对话框
ADAMS/View使用的对话窗中包含很多类 型的界面对象,如 Labels、Fields、 buttons等,利用它们生成或修改对话窗
生成、修改对话窗 在对话窗中增加、修改、删除界面对象 对话窗的测试 存储、加载、显示、退出用户化的对话窗
生成对话窗 修改对话窗
生成或修改菜单
方法:
菜单修改器(Menu Builder) 修改菜单的文本文件,然后再输入到
MSC.ADAMS 二次开发技术应用研究

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软件建立了某国产轿车的操纵动力学多体仿真模型,详细考虑了前后悬架系统、转向系统以及轮胎,并考虑了各种连接件中的弹性衬套的影响,对该车稳态、瞬态以及制动等工况进行了动力学仿真。
并结合该车的拓扑结构对ADAMS进行了二次开发,形成了一个自动化建模、仿真系统。
关键词:多体系统动力学,车辆动力学,操纵稳定性,自动化建模,仿真系统一、前言数字化虚拟样机技术是缩短车辆研发周期、降低开发成本、提高产品设计和制造质量的重要途径。
随着虚拟产品开发、虚拟制造技术的逐渐成熟,计算机仿真技术得到大量应用,许多国际知名汽车企业均已构建了数字化虚拟样机设计、开发环境,许多产品已完全实现了数字化。
系统动力学仿真是数字化虚拟样机技术的核心、关键技术。
对汽车而言,车辆动力学性能尤为重要,为了降低产品开发风险,在样车制造出之前,利用数字化样机对车辆的动力学性能进行计算机仿真,并优化其参数就显得十分必要了。
车辆动力学问题本身是多体系统动力学问题,目前国外许多汽车企业都已经大规模应用多体分析程序来进行车辆动力学仿真,并且利用系统仿真的概念,从设计--试验--改进设计—再试验—再设计的设计理念转为设计--仿真--试验,使设计中的主要问题利用数字化样机技术在设计初期得以解决。
目前在汽车上的应用已经可以集成机械、弹性体、液压、控制于一体进行动力学仿真,已处于成熟应用阶段[2~3]。
而且为了能够实现真正的并行工程,许多企业拥有自己的多体车辆动力学仿真专用系统,如ADAMS/Car、 ADAMS/Pre使建模自动化,大大缩短建模、仿真时间。
本文利用多体分析软件ADAMS建立了某国产轿车的操纵动力学多体仿真模型,详细考虑了前悬架系统(麦克弗逊式撑杆式悬架)、后悬架系统(查普曼式撑杆式悬架)、转向系统(齿轮—齿条转向系统)以及轮胎,并考虑了各种连接件中的弹性衬套的影响,对该车进行了整车稳态回转、瞬态以及制动等工况进行了动力学仿真。
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) 将 vc_user_sub.c 和 mdi_c.h 拷贝到同一个文件夹下,
在 Visual C++ 中打开 vc_user_sub.c 文件进行编译, 则在相同目
录下的 Debug 文件夹下自动生成 vc_user_sub.obj 文件。
( 2) 首 先 把 vc_user_sub.obj 文 件 拷 贝 到 ADAMS软 件 的 安
装目录下的 common 目录中。另外在编译、链接过程 中 需 要 用
到 Dfprot.lib 和 Dformd.lib 两 个 库 文 件 , 将 其 也 粘 贴 到 该 目 录
中。
( 3) 使 用 命 令 行 将 vc_user_sub.obj 转 为 动 态 链 接 库 文 件
vvc_user_sub.dll。具 体 步 骤 为 : 开 始 / 运 行 / 键 入 CMD 后 回 车
1 用户自定义函数
ADAMS不但提供了方便的用户操作界面, 而且具 有 强 大 的分析求解功能, 本身就包含了种类很丰富的库函数供用户使 用。一般情况下, ADAMS 的大部分功能可以通过调用库函数来 完 成 , 库 函 数 很 容 易 操 作 , 不 必 编 译 和 连 接 程 序 , 而 且 ADAMS /Solver 还会提供运行时函数。但库函数提供的只是有限的编程 结构, 因此有些复杂的情况, 特别是涉及到逻辑表达时, 用库函 数的现有函数很难表达出来。因此当需要采用一些 ADAMS没 有提供的特殊函数时, 可以采用用户自定义函数。
mdi_c.h 头文件) 。
2.1.2 编译链接 C 源程序, 生成动态链接文件
利 用 Visual C++ 调 试 器 编 译 vc_user_sub.c 程 序 , 生 成
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第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所示。