【Adams应用教程】第11章ADAMS二次开发及实例
ADAMS教程很详细手把手教你学会PPT课件
✓选取旋转点的方法:
▪ 当两个物体选取过后,把光标放在要旋转的圆心附近(一般靠近圆弧处),这时圆心处会有一个白色圆圈 出现。如图1;
▪ 这时点右键,弹出点的列表,在其中选取一个圆心点(后面标注center)。如图2; ▪ 选取点后,如图3显示表示铰链约束添加成功。
✓注意:加铰链约束时视图平面一定要与旋转轴垂直,如下图。
▪ 先选取一个物体,再选取另一个,最后选取固定点。
✓选取物体的方法:
▪ 当光标接近物体时,会有标签显示出该零件的名称,此时点击左键即可选中。 ▪ 当附近物体较多时,在该区域点击右键,会弹出零件列表,在列表中选取即可。 ▪ 如果需要和大地固定,只需要在没有物体的地方点左键就行,大地在列表中不显示。
✓选取固定点的方法:
▪ 对于固定约束来说,固定点位置选在任何地方都可以,建议放在容易识别的地方。
第9页/共28页
安装 模型制作和导入 初始设置 模型设置 约束设置 接触设置 弹簧 力的加载 仿真运算 后处理
约束设置
▪ 铰链约束
✓约束需要选取两个物体和一个旋转点: ▪ 先选取一个物体,再选取另一个,最后选取旋转点。
✓选取物体的方法:
▪ 添加接触关系
✓接触参数的设置。
安装 模型制作和导入 初始设置 模型设置 约束设置 接触设置 弹簧 力的加载 仿真运算 后处理
碰撞刚度,一般钢与钢碰撞使用默认值,有塑料件参与 设为3800。具体数值可根据实际情况调整。 嵌入深度,根据精度要求可适当改小。 如果需要设置摩擦力,选取此项。
静摩擦系数 动摩擦系数
安装 模型制作和导入 初始设置 模型设置 约束设置 接触设置 弹簧 力的加载 仿真运算 后处理
✓设置弹簧参数。在弹簧上点右键,如图选择Modify,弹出弹簧属性对话框。
adams自定义界面--二次开发
ADAMS/View中界面对象
模型中大部分的菜单和对话窗都可在数据库中查到,也可修 改,某些对话窗不能修改它们。如 Database Navigator(数据库导航器) Dialog-Box Builder(对话窗发生器) Command Navigator(命令导航器)
Data Browser in the Plotting Window File Selection Dialog Box(文件选择对话窗) Coordinate Window(坐标窗口)
例子
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=""
List_info part part_name=.model_1.left_wheel
特别的是,ADAMS/View执行宏时不进行单位的转换。它将 输入值直接传给命令行,在命令行中进行单位的转换。
参数的一般格式
参数的一般格式为:$’name:q1:q2:q3…’
name:参数的名称; q1、q2、q3:该参数的一个或几个特性;
ADAMS二次开发在三轮自卸汽车中的应用
ADAMS二次开发在三轮自卸汽车中的应用张先航;李丹强;郑守山;柳绪昌;毕云军【摘要】以多体动力学分析软件ADAMS为基础,针对三轮自卸汽车举升机构的优化设计进行了二次开发,利用所设计的平台可以自动实现举升机构的建模、修改与优化设计.总体介绍了此次二次开发的功能模块设计和菜单设计,并利用二次开发后的ADAMS软件对某三轮自卸汽车的举升机构进行了分析与优化,并给出了优化结果,根据优化结果对该车型进行了改进.实际验证了此次二次开发的正确性.【期刊名称】《农业装备与车辆工程》【年(卷),期】2011(000)006【总页数】5页(P44-48)【关键词】三轮自卸汽车;举升机构;ADAMS;二次开发【作者】张先航;李丹强;郑守山;柳绪昌;毕云军【作者单位】山东五征集团有限公司,262300;山东五征集团有限公司,262300;山东五征集团有限公司,262300;山东五征集团有限公司,262300;山东五征集团有限公司,262300【正文语种】中文【中图分类】U463.920 引言近年来,随着农村经济的快速发展,市场对三轮自卸汽车的需求量大大增加,三轮自卸车型多数应用于使用条件比较恶劣的矿山或工地。
举升机构是自卸车的核心机构,对举升机构的设计要求比较严格,若举升机构设计不当,容易发生结构的早期断裂和举升角度不够从而使得货物不能顺利倾卸等问题[1]。
目前,对三轮汽车的举升机构设计,大多采用的是传统的经验性设计,即在已有的条件下,根据经验确定关键点,然后利用作图法验证确定的关键点是否满足要求[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自定义界面 二次开发【精选】
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) 修改菜单的文本文件,然后再输入到
ADAMS操作与实例ppt课件
Open/Closed Profile, Depth, Anchor CSM, Parent Part
Open/Closed Profile, Sweep Angle, Anchor CSM, Parent Part
Normal to grid(垂直于栅格):当工作栅格工作 时,垂直于栅格;否则,垂直于屏幕。 Pick feature(选取方向):通过一个在栅格或者 屏幕平面内的方向矢量去顶连接方向。
21
运动副约束(简单)
工具图标 名称 转动副
ADAMS操作与实例
图例
限自由度 移动转动
32
移动副
23
圆柱副
22
New Part , Add to Part, On the Ground
14
ADAMS操作与实例
Type Links
Tool Graphic
Plates
Extrusions
Revolutions
Parameters
Width, Depth,2 Anchor CSM (Length), Parent Part
1)Space Fixed/Fixed 力的方向全局坐标系中固定,不随零件运动而变化。 2)Body Fixed/Moving 力的方向在所作用零件的零件坐标系中不变。 3)Two Bodies/Between Two Bodies 力的方向在两个零件上的力作用点连线上。
30
ADAMS操作与实例
通过施加接触力,可以描述自 由运动的物体在相互接触的时 候的运行情况。线框模型与线 框模型之间,实体模型与实体 模型之间都可以添加接触力, 但是除球体与平面的接触 (sphere-to-plane contact)外, 线框模型与实体模型之间不能 添加接触力。 当定义复杂或特殊的受力情况 时要用到柔性连接力,具体使 用方法这里不作介绍。
使用自定义函数进行ADAMS的二次开发
使用自定义函数进行ADAMS的二次开发
秦成
【期刊名称】《装备制造技术》
【年(卷),期】2008(000)001
【摘要】对通过编制用户自定义函数进行ADAMS的二次开发的方法及步骤进行了详细论述.并以实例介绍了上述技术的实现过程.
【总页数】3页(P74-76)
【作者】秦成
【作者单位】北京7220信箱,北京,100072
【正文语种】中文
【中图分类】TH113;TP39
【相关文献】
1.使用Pro/Web.Link进行Pro/E二次开发 [J], 刘兴升;师雅并
2.使用达索Component Family和CAA二次开发进行桥墩批量BIM建模 [J], 齐成龙;王永
3.应用C语言编写ADAMS用户自定义函数的研究 [J], 纪玉杰;杨强;孙志礼;李良巧
4.使用VB进行Pro/ENGINEER二次开发 [J], 张继春;杨建国;徐斌
5.在Excel中使用VBA语言进行二次开发提高阀门井设计效率 [J], 陈向东
因版权原因,仅展示原文概要,查看原文内容请购买。
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 程 序 , 生 成
ADAMS二次开发分析方法
前期处理工作
ADAMS中处理 方法 仿真实例 结论
通过编译生成
page 5
二、 ADAMS中处理方法 1. 编译.obj生成.dll
前期处理工作
ADAMS中处理 方法 仿真实例 结论
输入CR-USER,按两下回车,将出现以下界面:
page 6
二、ADAMS中处理方法
前期处理工作
ADAMS中处理 方法 仿真实例 结论
总体介绍了ADAMS进行二次开发所需要的软件和环境,需要对C语言进行 二次编译,在ADAMS环境中生成动态库文件,需要值得注意的是:在整个编译 过程中利用C++软件和ADAMS软件进行编译的过程中都需要用到FORTRAN文 件:1.C++编译过程中需要FORTRAN+ADAMS库文件;2.ADAMS编译过程中 需要FORTRAN文件+C++库文件,而且需要指出的是,ADAMS二次开发仅仅 限于C语言和FORTRAN语言,需要C++软件进行编译,但C++软件不能识别 ADAMS语言,同样,ADAMS也不能识别C++语言,在编译过程中出现以上问 题都会发生错误。
前期处理工作
ADAMS中处理 方法 仿真实例 结论
page 4
一、 前期处理工作 3、 C++实现User-written Subroutine
(1)、确认自己使用的ADAMS是R3版权,如果是ADAMS 2005则使用的编译器是不一样的.首先在ADAMS的安装 目录下,如: C:\MSC.Software\MD_Adams\R3\solver\samples,将userPortName.h和utilCcallable.h拷贝. (2)、在VC环境下建立工程,并将上述两文件拷贝到工程下并加载到工程中,如图所示:
ADAMS二次开发
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中间不允许有空格。
adams2020教程与实例
Adams 2020 是一款广泛应用于工程领域的多体动力学仿真软件,它可以用来模拟各种机械系统的运动行为,并进行动力学分析和优化设计。
本教程将带领读者深入了解 Adams 2020 软件的基本操作和应用技巧,并通过实例演示,让读者能够更好地掌握该软件的使用方法。
本教程将分为以下几个部分进行详细介绍:一、 Adams 2020 简介Adams 2020 是由美国Mechanical Dynamics公司开发的一款专业多体动力学仿真软件,目前已经成为全球范围内的工程师和研究人员首选的仿真工具之一。
Adams 2020 软件拥有强大的模型建立和仿真分析功能,可以对机械系统的运动行为进行准确的模拟,并提供丰富的分析结果,为工程设计和优化提供有力的支持。
二、 Adams 2020 的基本操作1. 软件安装和环境配置在开始学习 Adams 2020 软件之前,首先需要进行软件的安装和环境配置。
本教程将详细介绍 Adams 2020 软件的安装步骤和环境配置方法,确保读者能够顺利地运行该软件,并进行后续的操作和学习。
2. 模型建立与约束设置在 Adams 2020 软件中,模型建立和约束设置是仿真分析的基础。
本教程将演示如何在 Adams 2020 中建立机械系统的模型,并设置各种约束条件,包括刚性约束、连接约束等,以确保模型的合理性和准确性。
3. 运动学分析与动力学分析Adams 2020 软件可以进行运动学分析和动力学分析,以研究机械系统的运动特性和受力情况。
本教程将介绍如何在 Adams 2020 中进行运动学分析和动力学分析,并解释分析结果的含义和应用。
三、 Adams 2020 的应用技巧1. 模型优化与性能评估Adams 2020 软件可以用于模型优化和性能评估,以改进机械系统的设计和性能。
本教程将介绍如何利用 Adams 2020 进行模型优化和性能评估,包括参数优化、结构优化等方法。
2. 系统耦合与多体联动仿真在工程实际应用中,往往需要进行系统耦合和多体联动仿真分析。
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 ADAMS所包含界面对象属性Seperator(分割线)画出水平线分割线Slide(滑动条)通过滑动条设置当前范围内的整数值,而不用键入数值Option menu(可选菜单项)在多个菜单项中作一选择包含一个弹出菜单的图框只显示一行选定菜单项Radio boa(状态设置框)设置状态和模式Tab container(标签界面对象)给界面和对话框设置标签Data table(数据表)用来显示数据的表格,你可增加栏或列在大多数情况下,用户定制界面是指制作用户自己的菜单和对话框。
ADAMS二次开发基础研究
ADAMS二次开发基础研究摘要:本文对ADAMS二次开发中的用户子程序与用户界面定制进行了简单探讨。
关键词:ADAMS,二次开发,Subroutine,用户界面定制1概述ADAMS具有很强的二次开发功能,包括ADAMS/View界面的用户化设计,利用cmd语言实现自动建模和仿真控制,通过编制用户子程序满足用户的某些特定需求,甚至可以拓展ADAMS的功能,还有就是使用ADAMS/SDK来把运动仿真功能完全集成到自己的软件包中,脱离ADAMS软件环境来进行自己的运动仿真。
由于ADAMS/SDK能在脱离ADAMS其它前处理环境使用,因此使用它的都是一些脱离ADAMS环境自己开发运动仿真工具的高级用户使用,普通用户在不脱离ADAMS环境的条件下,使用Subroutines、自定义用户界面等二次开发功能就能满足用户所需的需求。
因此本文只对不脱离ADAMS环境的二次开发技术做一定的探讨,对ADAMS/SDK只作简单的介绍。
2ADAMS/SDK介绍ADAMS/SDK是ADAMS软件开发工具包。
利用ADAMS/SDK,用户可以把运动仿真功能完全集成到自己的软件包中,也可以为已有的产品增加更强的运动仿真能力。
集成后的工具包与ADAMS具有同样的仿真分析功能。
ADAMS/SDK使用流行的C或C++语言作为编程接口环境。
可以快速、简单、有效地在用户的软件包中增加运动仿真功能。
用户通过集成ADAMS在各行业中已验证的经验,可以大大地节省在运动仿真开发方面的投资。
ADAMS/SDK可以广泛地应用于CAD软件中的运动学和动力学工具,CAD软件中装配位置的确定,制造业中的动态仿真,数字化装配运动回放及工业特殊用途的运动仿真。
3 ADAMS用户子程序3.1用户子程序简介一般情况下,ADAMS的大部分功能可以通过函数表达式完成,函数表达式很容易操作,因为不必编译或连接程序,而且ADAMS/Solver还会实时地提供函数表达式。
但函数表达式提供的只是有限的编程结构,因此有些复杂的情况,特别是涉及到一些逻辑表达,用函数表达式则很难表达出来。
基于AdamsCar的二次开发和应用
基于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.(编辑陈锋杰)。
ADAMS二次开发编程技巧和注意点
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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第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应用下面的程序段是对标准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按钮……第11章ADAMS二次开发及实例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所示列出的是菜单对象类型及其参数含义。
机械系统动力学分析及ADAMS应用表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 ACCELERA TORNAME=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用于在两种状态之间设置切换开关,开关按钮可以在下拉菜单或是在子菜单上。
语法:TOGGLEn TITLENAME=nameHELP=helpSTATE=stateCMD=command其参数含义同上其他对象。
下面是一个利用菜单编辑器定制用户化菜单的例子,该例在ADAMS/View标准菜单的Tools菜单项和Help菜单项之间定制了用户自己的菜单项MyMenu2003,通过展开该菜单项显示了用户菜单各层次之间的关系,如图11-4所示。
机械系统动力学分析及ADAMS应用图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 1BUTTON2 My Button &2NAME=My_Button_2HELP=Test of My Button 2CMD=Adams Command of My Button 2BUTTON2 ……NAME=Some_ButtonsHELP=Test of Some ButtonCMD=Adams Commands of Some ButtonsBUTTON2 My Button &nNAME=My_Button_nHELP=Test of My Button nCMD=Adams Command of My Button nSEPARA TOR2MENU2 &Son Menu 1BUTTON3 Son Button 1NAME=Son_Button_1CMD=Adams Command of Son Button 1第11章ADAMS二次开发及实例BUTTON3 Son Button 2NAME=Son_Button_2CMD=Adams Command of Son Button 2BUTTON3 ……NAME=Some_Son_ButtonCMD=Adams Command of Some Son ButtonBUTTON3 Son Button nNAME=Son_Button_nCMD=Adams Command of Son Button nSEPARA TOR3MENU3 Son's Son MenuBUTTON4 Son's Son ButtonBUTTON4 ……MENU3 .……MENU2 &Son Menu 2MENU2 ……MENU2 &Son Menu nMENU1 &Help……11.1.2 定制对话框ADAMS/View中使用的对话框包括各种界面对象,如标签、数据区、按钮等等。