APP下载

基于Parasolid及ADM格式的ADAMS动力学模型快速重建技术

2018-04-04黄书伟曹红松刘润华袁毓雯

兵器装备工程学报 2018年3期
关键词:名称动力学建模

黄书伟,曹红松,刘 虎,刘润华,袁毓雯

(1.中北大学 机电工程学院, 太原 030051; 2.西安航天化学动力厂, 西安 710025)

ADAMS为美国MDI公司开发的虚拟样机分析软件,具有强大的机械系统静力学、运动学和动力学分析能力[1],被广泛应用于汽车制造、航空航天以及国防工业等领域。ADAMS自身带有的几何建模工具可用于建立圆柱体、立方体、球体等简单的几何体[2],但对于实际工程应用中遇到的复杂机械结构,就需要借助于专业CAD建模软件,比如UG等进行三维模型建造,形成装配体,并导入ADAMS中进行相应的运动学、动力学仿真分析。

UG模型可通过IGES、STEP、Parasolid等多种途径导入ADAMS[3],直接导入ADAMS中模型的完整性会根据导入方式不同而有所区别,但都存在模型零部件名称错乱的问题,ADAMS自身的命名规则会对UG导入模型的各零部件进行重命名,使其名称与UG环境下的名称失去一致性,设计人员需要手动修改各零部件名称,对于零部件较多的模型,工作繁琐,易于出错且不利于对模型进行反复修改。

本文针对三维建模软件UG和动力学仿真软件ADAMS中模型的各自特征,对Parasolid文件格式和ADM文件格式进行了研究,开发了动力学模型快速重建软件,实现了ADAMS中动力学仿真模型快速建立功能。

1 通用模型文件导入ADAMS存在的问题分析

现以手枪弹匣模型为例,在UG中建立4个零件,弹匣体、弹匣基座、拖弹簧及托弹板,分别按照工程命名规则进行命名,并组装成装配体;在对其输弹过程进行动力学分析时,需将各零件之间都设置为接触关系,才能真实地体现出输弹过程的动力学特性,模型及目录树如图1所示[4]。

由图1左侧目录树可知,按照工程命名规则命名的各零件名称为,Magazine spring(拖弹簧)、Magazine base(弹匣基座)、Magazine follower(托弹板)和tube magazine(弹匣体)。约束关系为,弹匣基座与弹匣体之间为固定关系,拖弹簧下部与弹匣基座为接触关系,托弹板与拖弹簧之间为接触关系,托弹板与弹匣体之间为接触关系[5]。

将弹匣的装配模型从UG中导入ADAMS中时,希望能够同时将零件装配关系和名称信息完整地继承过来。下面以不同方式将该模型导入到动力学仿真软件ADAMS中,分析其存在的问题。

1.1 IGES格式传递存在的问题

IGES(Initial Graphics Exchange Specification),初始化图形交换规范,是一种基于不同电脑系统之间的通用ANSI信息交换标准。它以ASCII和二进制的形式存储图形数据[1]。IGES作为一种实体模型交换标准,被绝大多数商品化CAD/CAM系统所采用。

在实际应用中,由于IGES本身存在一些问题,在交换过程中经常会发生错误或数据丢失现象,导致图形无法转换。UG模型以IGES格式导入ADAMS中时,如图2(a)所示,ADAMS将整个UG装配体模型识别为一个零件,与图1中零件名称对比可以看到,ADAMS中模型的名称出现错误。

1.2 STEP格式传递存在的问题

STEP(Standard for the Exchange of Product Model Data),产品模型数据交换标准,是国际标准化组织制定的一种几何图形数据交换标准[2]。它的出现提供了一种独立于任何具体系统而又能完整描述产品数据信息的表示机制和实施的方法与技术,被汽车、飞机、船舶、机械设计等行业广泛采用。

在实际应用中,STEP格式较IGES格式,性能得到相应的提高,但仍然存在一些问题。UG模型以STEP格式导入ADAMS中时,如图2(b)所示,ADAMS同样会将整个UG装配体模型当成一个零件进行处理,无法进行后续的机构运动学、动力学仿真分析,与图1中零件名称对比可知ADAMS中整个装配体各零部件名称也出现错误,与UG中名称不一致。

1.3 Parasolid格式传递存在的问题

Parasolid是著名的几何造型核心系统之一,SolidWorks、UG、Pro/E等众多商用软件都采用它作为几何核心[1],与IGES、STEP等通用格式相比,Parasolid几何核心系统可提供精确的几何边界表达,能够在以它为几何核心的CAD/CAE系统之间可靠地传递几何和拓扑信息。

Parasolid还提供了一项容错造型技术,当软件的后置处理器处理传来的数据时,往往会发生边界间和表面间的公差不配合现象和容易造成数据传送错误,甚至导致难以读入数据。采用容错造型技术的Parasolid几何核心,可根据情况对不配合的公差进行优化,并能在优化保持处理的连续性和一致性,这样就可通过生成的xmt_txt格式文件实现数据无缝传送,避免了用IGES传送复杂数据文件时的数据丢失和可靠性差等问题[6]。

Parasolid格式可以稳定地进行模型信息传递,装配模型以Parasolid格式传递到ADAMS中后,如图2(c)所示,ADAMS可以识别装配中各个零部件信息,在左侧模型树中以部件(PART)加实体(SOLID)的形式体现出来,相对于其他几种图形传递格式,这点是极大进步;与图1对比可知零部件名称依然没有被继承。

综上所述,这3种模型传递格式均存在名称信息不能继承的问题,需要手动修改模型零件名称,对于零件较多的装配模型,不能快速进行动力学模型的重建。

2 UG motion下ADM格式导入ADAMS中的问题分析

UG具有强大的几何造型功能,ADAMS也广泛被军工、航天、车辆行业采用进行运动学及动力学仿真分析。UG中的Motion运动仿真模块可以辅助进行机构动力学仿真分析,相比于专业动力学分析软件ADAMS还是存在一些不足。可以借助UG motion的文件导出功能,将动力学模型以ADM格式导出到动力学分析软件ADAMS中进行动力学分析[7]。

ADM格式为UG motion 环境下模型导出的一种格式,主要针对动力学模型。adm文件是ADAMS/Solver模型语言(ADAMS Data Language)文件,以“.adm”作为文件名后缀,该文件中包含装配模型中的拓扑结构信息,运动副、约束等信息。ADAMS/Solver求解器可以读取adm文件,与Parasolid格式模型文件配合,进行动力学模型重建,可直接进行机构动力学仿真[8]。

UG与ADAMS进行联合运动学仿真,在UG motion模块中将装配模型导出为Parasolid格式,工作目录下会出现Parasolid格式文件和adm文件及其他相关文件,将Parasolid文件和adm文件导入ADAMS中,会发现,装配体模型和约束关系都被完整地传递到ADAMS中,装配模型中各零部件都可以被ADAMS识别,但是装配模型各零部件的名称并未进行传递,如图3所示。通过手动修改名称和添加约束可以解决此问题,对于包含众多零部件的大型装配模型,工作量是巨大的。

3 基于Parasolid及ADM格式动力学模型快速重建思路

通过对UG motion模块下导出的Parasolid和ADM格式文件分析解读,以进一步解决ADAMS中动力学模型重建问题。现以弹匣模型的Parasolid XT格式文件和ADM格式文件为例,对这两种格式文件进行解读。

3.1 弹匣模型的Parasolid XT格式文件结构分析

UG motion中导出的弹匣模型Parasolid XT格式文件如图4所示。

Parasolid XT格式文件主要由两部分内容组成:包含建模器版本和架构编号等信息的文件头和包含模型几何特征信息的文件主体。

1) 文件头结构分析。文件头由3部分内容组成,以关键字“PART”为标志:

第1部分:由分号隔开的一系列关键字符:

MC= Intel x86/Windows NT,….//计算机系统型号

MC_MODEL= …intel(r)core? cpu…//计算机处理器型号

MC_ID= lenovo //计算机用户名

FILE=F:…….……xmt_txt; //文件所在路径

……

第1部分内容是可以被建模器(或者操作系统)读取的“标准信息”。建模器的相应功能就是搜集相关信息并形成规范,以文本形式体现出来。

第2部分:由分号隔开的一系列关键字符:

SCH= SCH_2400143_20000 //架构关键字

USFLD_SIZE=0//用户名的长度(0-16个整数)

第3部分:非标准信息,由建模器进行编写,并且只有建模器可以读取。

第3部分内容由建模器进行编写,并且只能被建模器读取。但是,其他的建模器必须能够对这部分信息进行分析以确定文件头是否结束,这部分信息必须像第一和第二部分数据一样遵循相应的语法[9]。

2) 文件主体结构分析。这部分内容包含装配模型中各零件的几何模型特征,节点、线、面、颜色等信息,是Parasolid XT格式文件的核心。各零部件中所包含的模型特征标志信息如表1所示。

表1 Parasolid XT格式文件模型特征标志解读

对上述Parasolid XT格式文件进行分析,可知文件头第1部分信息是生成Parasolid XT格式文件的计算机相关信息,系统版本、建模程序版本等;第2部分信息为生成Parasolid XT文件的架构信息;第3部分信息是非标准信息,这部分信息由建模程序进行编写和读取。

几何模型的相关信息都存储在文件主体中,这里主要对文件体进行分析。通过对Parasolid XT格式文件的主体进行分析,可知这部分包含模型几何特征的信息主要由字符串和整数组成。对其中字符串进行检索,发现字符串“SOLID_XXX”出现的次数与装配体模型说包含的零部件个数一致,是需要获取的关键信息。

3.2 弹匣模型的ADM文件结构分析

adm文件是由UG motion模块生成的,包含几何模型的拓扑结构信息、运动副及约束信息。该文件由两部分组成,实体信息和其他信息,其中实体信息包括零部件名称、质量、质心位置等信息;其他信息包含约束信息以及单位信息,都以特定关键字和“====”标志进行区分,以UG motion中导出的ADM格式文件为例,截取其中一部分对ADM文件进行分析,如图5所示[9]。

ADM格式文件主要由实体信息和其他信息两部分组成,其他信息又包含约束信息和单位信息。

1) 实体信息。实体信息包含装配模型中各零件的信息,以关键字“Body”和“====”标志相互隔开。

adams_view_name='Tube_magazine'//零件在ADAMS中的名称

MASS = 0.01462241585//零件质量

IP = 6.071399952,5.272969254,1.221602282//零件转动惯量

…………………

2) 其他信息。约束信息:

adams_view_name=′J001′//约束在ADAMS中的名称

,Inplane//约束类型 平面副

………

单位信息:

FORCE = Newton//力单位

,MASS = Kilogram//质量单位

,LENGTH = Millimeter//长度单位

………

KGRAV = -9806.65//K向重力加速度

通过对截取的部分ADM文件进行分析,实体信息中包含了零部件名称、质量、质心位置、转动惯量等信息;约束信息中包含了约束类型、约束关联部件等信息;单位信息中包含了各个量的单位、重力加速度等信息。其中零部件名称信息是需要获取的关键信息。

3.3 动力学模型快速重建思路

通过对Parasolid和ADM文件进行分析,可知两文件中提取的关键字符是相互关联的,Parasolid文件中的“SOLID_XXX”字符串和ADM文件中零部件的名称一一对应。基于C语言和ADAMS二次开发功能开发动力学模型快速重建软件,解决了几何模型以Parasolid格式传递到ADAMS中的名称不匹配问题。

该模型重建软件的模型信息整合及名称重构功能主要通过外部程序和菜单对话框的的方式实现,模型重建流程如图6所示。

该模型重建软件的设计主要分为两部分:外部可执行程序和基于MSC ADAMS开发的菜单和对话框。通过外部可执行程序可实现零部件名称的一致性;通过基于MSC ADAMS开发的菜单对话框可以实现动力学模型的快速重建功能。

4 动力学模型快速建模软件开发与验证

该模型重建技术的目标是针对UG motion模块导入到ADAMS中的运动模型,自动实现自动机各零部件名称的重建,保证不同软件平台下运动模型各零部件名称的一致性。通过编程以及对ADAMS的二次开发,形成动力学模型快速重建软件,保证动力学模型信息传递的完整性,以提高建模效率,为设计人员节省大量时间[10]。

4.1 动力学模型名称重构功能设计

动力学仿真模型的快速建立通过执行外部的应用程序及菜单对话框进行实现。设计人员在UG环境下对装配体各零部件进行三维CAD建模,按照约定的命名规范对零部件进行命名,在装配环境下形成装配体并在motion模块中进行求解并导出ADM格式文件[12]。

基于MSC ADAMS环境,定制开发模型重建软件。该软件能够自动读入UG导出的自动机零部件与名称信息,实现在MSC ADAMS环境中动力学仿真模型的自动建立,并按照UG环境下已给定的名称对各零部件自动命名,实现名称一致性。

通过C语言可对Parasolid XT文件、ADM文件进行读取并提取关键信息,实现动力学模型的完整重建,部分代码如下:

for(intn=0;n>2;--n)

{

…………

p1=strstr(p2+1,"SOLID");

p4=strstr(p1+1," 1");

if(p1==NULL||p2==NULL||p1>p2||(p2-p1)>15)

{

……………

}

通过上述代码可对Parasolid XT文件进行读取,实现关键字符“SOLID”的定位。

for(intm=0;m

{

…………

admfile[t]=admname[t];

p3=strstr(b1," ");

p4=strstr(p3+1,"PART");

……………

}

通过上述代码可对ADM文件进行读取,实现关键字符的定位。

通过Strcpy函数可以对两个关键字符进行匹配,实现动力学模型的快速重建功能。

4.2 MSC ADAMS中交互功能的实现

在如图7所示的信息处理界面,选取相应文件后,依次点击“创建新的动力学模型文件”和“创建ADAMS模型”,即可建立所需动力学仿真模型。

经过动力学模型快速重建软件软件的处理后,导入到MSC ADAMS中的模型各零部件名称的一致性得以保证,如图8所示。

最终运动仿真模型重建效果如图9所示,模型信息被完整地传递,各零部件被一一识别,名称信息和约束信息也被完整传递,可直接进行运动学仿真求解。

5 结论

通过对IGES、STEP、Parasolid及ADM格式的几何模型传输情况进行分析,Parasolid格式文件包含了装配体模型中各个零部件的信息,ADM文件包含了装配模型的拓扑结构关系、约束信息及零件名称等信息;结合两文件中的零部件名称信息,重点通过程序对两种格式文件进行解读并提取关键信息,开发动力学模型快速重建软件,实现动力学模型从UG到ADAMS中的完整传递,解决了模型传递过程中模型几何特征信息及零部件名称信息缺失的问题,有益于设计人员进行动力学模型的快速重建,提高工作效率。

参考文献:

[1]陈新刚,张士新,李永伟.UG与ADAMS之间的图形传输试验[J].农业装备与车辆工程,2007(10):43-46.

[2]毕世英,杨晓京,李哲昆.UG与ADAMS_View之间的图形数据交换研究[J].机械,2004,31(6):8-9.

[3]郁飞鹏,贾鸿社.ADAMS与UG、solidworks的数据交换实践[J].铸造,2005(10):37-39.

[4]宫鹏涵,周克栋,康小勇,等.某自动步枪发射动力学仿真[J].弹道学报,2014,26(1) 94-97.

[5]徐万和.高初速榴弹发射器动力学特性仿真研究[J].南京理工大学学报,2006,30(4) 429-433.

[6]朱虎,扶建辉.STL数据的Parasolid数据变换[J].计算机集成制造系统,2011,17(1):117-124.

[7]宋晓华.机械压力机运动学仿真分析和虚拟样机研究[D] 杭州:浙江工业大学,2005.

[8]邢俊文,陶永忠,译.MSC.ADAMS/View高级培训教程[M].北京:清华大学出版社,2004.

[9]王永辉.CAD数据转换格式的对比[J].机械设计与制造,2002,(3):44-46.

[10] 贺飞,曹红松,王泉,等.基于MSC Adams/Engine的发动机悬置系统优化设计通用模块[J].计算机辅助工程,2010,19(1):32-35.

[11] 沈冠军,曹红松,白友平,等.火炮自动机仿真优化平台开发技术研究[J].火炮发射与控制,2012(3):76-80.

猜你喜欢

名称动力学建模
《空气动力学学报》征稿简则
小天体环的轨道动力学
具有Markov切换的非线性随机SIQS传染病模型的动力学行为
基于FLUENT的下击暴流三维风场建模
《符号建模论》评介
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
求距求值方程建模
沪港通一周成交概况
沪港通一周成交概况
沪港通一周成交概况