肖翔飞,高浩迪,孙靖,张启伦,贺金权,庞博元,范守文
基于CAA的汽车座椅骨架快速变型设计
肖翔飞1,高浩迪1,孙靖2,张启伦2,贺金权1,庞博元1,范守文1
(1.电子科技大学 机械与电气工程学院,四川 成都 611731;2.广西双英集团有限责任公司,广西 柳州 545006)
汽车座椅骨架在整体构型以及零件组成方面相似度很高,适合利用计算机辅助技术进行变型设计。在对汽车座椅进行模块划分后,利用CATIA二次开发的CAA技术设计了一款汽车座椅骨架快速变型设计软件,并连接数据库,通过人机交互的可视化界面完成座椅差异化零件的参数化建模。使用CAA的装配API对参数化后的零件及其他配套零件完成座椅整体的自动装配。该设计缩短了汽车座椅开发的准备时间,提高了汽车座椅骨架的设计效率和设计质量。
CAA;CATIA;汽车座椅骨架;快速变型设计
随着计算机技术在汽车、飞机等行业的运用,CAD/CAE/CAM从根本上改变了过去手工绘图、依靠图纸组织整个生产过程的技术管理模式,对传统汽车工业起到强大的推动作用[1]。到如今,简单对软件的应用已经不能满足客户的需求,如果能在软件原有内核的基础上对软件再进行定制修改和功能扩展,则可更进一步地提升工作效率。
关于二次开发,何朝良[2]借助于VisualC++平台和C++语言,对基于CAA的CATIA二次开发进行深入探索,成功解决了基于CATIA/CAA平台的虚拟装配和路径规划所必备的,如交互式建模方法等一系列基本问题。Hai Qiao Wang等[3]利用Pro/Toolkit二次开发工具和Visual C++编程语言对Pro/E进行二次开发,实现机床零件的参数化设计。Li Juan Zhao等[4]通过对切割头的分析与设计,以三维成型软件Pro/E为基础,以VC++ 6.0为二次开发工具,实现切割头零件的自动更新与装配。王瑞波等[5]通过Excel VBA利用COM(Component Object Model,组件对象模型)接口访问CATIA内部的对象,依据CATIA文档结构,使用API(Application Program Interface,应用程序接口)逐级建立和获取CATIA各层级对象,并定义相关运动副,自动完成建立汽车悬架参数化运动仿真模型。李华等[6]基于CATIA参数化建模及CAA二次开发,通过一种花纹设计方法,利用CATIA知识工程及三维建模技术,实现以规格为主要发布参数的模板封装和轮胎整周花纹的快速拼接拼接,缩短了轮胎开发设计周期,提高了设计自动化水平。徐春生等[7]通过CATIA二次开发技术提取单机总装MBD(Model Based Definition,基于模型定义)模型中的紧固件配置信息(如紧固件数量、类型、规格等),然后使用CATIA的知识工程模块创建紧固件三维模型,最后按照配置信息调取紧固件三维模型,将三维模型按照位置关系自动安装到单机三维模型中,实现紧固件自动装配,显著提高了模型装配效率。
汽车座椅在设计建模过程中,同一类型的不同型号具有70%甚至更高的重复度,有很多零件可以通配替换,部分零件只需要在尺寸上进行调整,只有少部分零件属于个性化零件。本文利用CATIA的CAA工具进行二次开发,在可视化操作界面下,用户通过指定安装点、设定差异化零件的尺寸、选择型号可以自动生成不同的汽车座椅骨架装配体。
CATIA主要有两种二次开发方法,一种是基于VBA(Visual Basic for Applications,Visual Basic宏语言)的宏方法,另一种是基于CAA(Component Application Architecture,组件应用架构)的C++或者Java应用接口。
宏作为CATIA内的一种实用功能,很适合简单的二次开发。CAA则是Dassault系统产品扩展和客户进行二次开发的最强有力工具。CAA的实现,采用了组件对象模型(COM,Component Object Model)和对象的连接嵌入(OLE,Object Linking and Embedding)技术,具有可复用性、抽象性、封装性等优点,CAA组件架构如图1所示。
如图2所示,为了便于对汽车座椅骨架进行开发工作,将汽车座椅骨架包括头枕管、背靠上横管等18个主要零部件,分为标准模块、通用模块、差异化模块和个性化定制模块四大模块。
标准模块是型号与规格已经标准化、系列化的零部件,其二次开发采用数据库驱动的方法,直接从数据库中读取装配体文件。
通用模块是座椅骨架的主要零部件,这部分零件在快速变型设计中造型不会发生变化,用以对整个座椅进行各种参数设置。
差异化模块是决定汽车座椅骨架变型设计的关键性部分。通过对差异化模块的零件进行参数化设计,使得设计参数由下向上传递,最终保证汽车座椅骨架装配体的外形参数与用户输入的外形参数一致。
图1 CAA组件架构
1.头枕管;2.靠背上横管;3.靠背边板;4.座靠连接板;5.靠背簧组件;6.靠背底板;7.正驾后横管;8.座垫边板;9.后下架;10.正驾左后支架;11.前支架;12.座簧组件;13.高调齿板;14.右后支架;15.坐垫前横加强管;16.前横支撑板;17.前连杆;18.滑轨。
个性化定制模块是基于用户需求单独定制的模块,该模块也是由采购件或者已经生产完成的组件组成,不需要进行变型设计。与标准模块不同,该模块根据客户需求,将会有选择性地出现在设计结果中。该模块包括加热、通风、腰托及按摩等模块。
软件主界面作为快速变型设计功能的入口,需要嵌入包括座椅型号选择、座椅主体参数调整、各个座椅模块的选型,以及最后整个座椅的重生按钮。
在实际开发过程中,考虑将部分的按钮、标签以及文本框集成到主对话框中,同时保留各子模块选型的入口。那么整个快速变型软件的界面大致由主对话框以及参数设置子对话框和各模块选型对话框组成。主界面既有模型重生的功能,又作为其他子模块选型的入口容器,集成对应按钮入口。在完成相应参数设置以及模块选型后,返回并使用全局静态变量保存数据,实现座椅整体重生时的模块调用。
添加工具条和菜单的主要代码为:
使用汽车座椅菜单调用build()函数显示操作界面主窗口,如图3所示。
在座椅的快速变型设计中,连接数据库是标准模块选型装配的基石。标准模块具有专业性强、开发周期长、开发成本高的特点。在整个汽车座椅骨架的变型设计中,标准模块作为已经定型的零部件,不需要二次开发,也不具备二次开发的条件,只需要在整体装配时经由数据库导出并装配到骨架上。
考虑到CAA是以接口技术为核心API的二次开发手段,在对座椅选型进行数据库连接时采用ADO(ActiveX Data Objects,ActiveX数据对象)作为数据库访问技术,同时选用Access数据库。则首先需在连接数据库模块的头文件中引入动态链接库msado15.dll的信息:
典型VC应用都已定义EOF作为常数-1,需将结束符“EOF”更换为“adoEOF”,即:
在头文件中需要全局定义,用来返回或记录一个空指针的_ConnectionPtr接口,记录集CommandPtr接口和记录集对象_RecordsetPtr接口。而且需要对所有的SQL语句进行_bstr_t强转,同时在字符串前使用_T宏。
如图4所示,以滑轨标准模块为例,在实际开发过程中,只需要切换零件序号,点击数据库零件按钮,选择适合的滑轨标准模块并装配即可。
图4 滑轨选型
座椅零件参数化设计是快速变型设计的重要部分,也是差异化模块变型设计的实现部分。参数化设计是基于尺寸参数驱动实现的。尺寸参数驱动是通过预定义零件文件,给定一个或多个参数,去驱动模型的相关尺寸发生变化,从而实现产品的快速建模[8]。在对零件进行参数化设计时,需要预定义零件中的参数关系式,并通过参数遍历和名称匹配找到对应的变化参数,进而调整参数值且重新生成模型。
以正驾右前支架6801211-4ABH为例,如图5所示,提取孔相对位置等五个关键驱动参数,将驱动参数与添加的参数进行绑定。在通过编程进行自动参数化建模时,首先将零件文件加载至会话,通过发布命令遍历零件的参数集,对参数集中的参数进行名称匹配,找到名称为Height的参数,并对其进行赋值操作,驱动其他参数进行变型,最后对零件模型进行刷新操作。
图5 正驾右前支架
在汽车座椅的快速变型设计中,已将需进行变型的零件整合到模型重生按钮之中,所以不会产生细节的零件参数设计模块。汽车座椅骨架零件的尺寸参数由靠背宽度、靠背高度、座框深度、座框宽度和座框高度五个参数计算得来,例如正驾右前支架的驱动参数Height与座框高度参数Height_Cushion的关系为:
座椅整体装配是汽车座椅骨架快速变型设计的最后一步,也是非常重要的一步。装配涉及到各零件之间的约束冲突消解问题,以及软件的代码实现问题。
关于装配约束冲突消解问题,吕刚[9]研究了装配约束关系网中节点的数据结构,给出了装配约束关系网的构建方法,并从装配约束关系网中的设计缺陷节点出发,采用蚁群算法对装配设计缺陷的修正路径进行了优化。
座椅骨架在装配过程中可以对称考虑。按照模块在座椅左右对称零部件之间起到的作用,可以分为连接模块和非连接模块。靠背上横管和靠背底板在装配中起到了连接左右对称部分的作用。整个滑轨模块以及坐垫前横加强管在与坐垫进行装配时,也相当于起到了连接的作用。将座椅骨架模型简化,只分为靠背上横管、左右靠背边板、靠背底板、左右坐垫边板、坐垫前横加强管和滑轨八个大部分,装配连接如图6所示。
将图6(a)中每一条实线双向箭头看作两个零件之间的完全装配,要想避免过度约束导致的无法装配,最简单的办法是消除其中的连接环。以1、2、4、3连接环为例,靠背底板在被左靠背边板完全定义的情况下,还要与右靠背边板建立装配关系,势必会产生过定义,又由于图中只选定了靠背上横管这一个装配基准,那么消除环便可以解决过定义的问题。如图6(b)所示,拆解原来的装配,靠背上横管完全定义左右靠背边板,然后用靠背右边板去完全定义靠背底板。靠背底板完全定义坐垫左右边板,坐垫左右边板分别去完全定义坐垫前横加强管以及滑轨。在这种情况下,由一个已经被完全定义的零件去完全定义另一个零件,便不会出现过约束。
针对座椅骨架装配的其他零件,分别也采用消除装配连接图中的连接环的方法,来避免装配约束冲突。
在CAA中实现对零件的装配,涉及到装配体下零件的位置和姿态变换以及约束的创建。在CATIA装配环境下零件的位置信息通过其位姿矩阵描述。位姿矩阵是虚拟装配中对零部件进行平移和旋转的内部信息依据[10],是一个4×4的矩阵,可以表示为式(1)。
1.靠背上横管;2.左靠背边板;3.右靠背边板;4.靠背底板;5.坐垫左边板;6.坐垫右边板;7.滑轨;8.坐垫前横加强管。
式中:左上角的3×3矩阵代表绕三个坐标轴的旋转角增量,、和分别为绕、和轴的旋转角增量;右上角的3×1矩阵代表沿三个坐标轴的位置增量,、和分别为沿、和轴的位置增量[11]。
约束是装配的重要手段,约束的目的依然是位置和姿态矩阵的变换。CATIA已经为开发人员打包了一个“工具”,开发人员可以利用该工具,完成快速装配。李维学等[12]利用CAA实现了将已有部件插入到装配体中,建立约束关系,实现产品自动装配的功能。并提出了采用坐标轴系统重合的约束方法。
在对该汽车座椅进行自动装配时,针对部分使用孔轴配合定位的零件,预先设定其轴线以及重合面,并对轴线或者平面使用特定的名称命名,确保能在后期对零件特征进行精准寻获,然后为其创建约束。
CAA中创建一个约束大致需要三步:
(1)找到零件上依赖为约束对象的特征;
(2)以该特征为对象建立Connector对象;
(3)在两个Connector对象之间建立约束。
依赖为约束对象的特征就好比两个零件同轴,那么对应的轴即为特征。找到相应的轴特征需要先对用于装配的Product文件进行遍历。
在CATIA中,一个Product以产品结构树的形式体现出来。只要获取一个Product的根节点,就可获得它的其他子节点。获取装配体的根节点后,通过Product接口的GetAllChildren()方法即可获取产品结构树上每一个Product和每一个Part文件的根节点。然后通过使用CAA的CATIDescendants接口获取到零件下属的面、线、点等。并未出现在结构树上的特征需使用CAA的拓扑模块进行操作。
确定边界及不同部分之间的连接,其中用于表征对象的称为拓扑对象。CATIA使用“cell complexes”的技术完成计算机图形建模,这样能够以统一的方式处理多维概念,进而也能表征流形和非流形对象。CATIA基本的拓扑元包括cell、domain和body。如果要获取一个面,只需获取对应的cell即可。在一个Part文件中包含了CATProdCont(产品容器)、CATPrtCont(特征容器)、CATMFBRP(拓扑容器)和CGMGeom(几何容器)四个特征。以特征容器为接口进而获取零件实体,然后对零件进行拓扑分解,便获取了所有的cell。cell属于拓扑元素,不能作为装配的connector选择对象,需要进一步将cell特征化,特征化之后即可作为装配元素使用。
关键代码为:
获取零件的特征对象后,使用全局函数Get Product Connector生成对应对象的Connector,然后对Connector集合使用Create Constraint命令,生成相应的装配约束。在标准模块的选型中,选定相应型号后,对该模块的所有零件使用CAA进行自动装配,获得标准模块的装配模型,如图7所示。
座椅骨架变型设计的基本流程如图8所示。以SYP01电动款座椅骨架为例,在软件主窗口上选择默认安装点:(1483.923, -586.723, 6.7),(1042.355, -587.615, 48.191),(1042.355, -152.615, 48.191)。设置安装点主要是为了在完成座椅和其他汽车部件的装配时具有一个确定的相对位置关系。设置座椅的差异化参数为:靠背宽度424.4 mm,靠背高度601.01 mm,座框深度502.27 mm,座框宽度441 mm,座框高度33 mm。然后对其标准模块进行选型。滑轨选择第一个型号,点击导入零件,将所需的全部零件导入子装配体,然后点击装配,刷新、保存及关闭子窗口。调角器和高调器相同。最后点击模型重生按钮,将三个主要的子装配体以及其他非标准模块零件导入总装装配体,并完成自动装配,座椅骨架总装模型如图9所示。
图7 滑轨装配模型
图8 座椅骨架变型设计基本流程
图9 座椅骨架总装模型
基于CAA,实现了一个以汽车座椅骨架为实例的快速变型设计软件平台。使用CAA进行参数化变型设计不太适合包含复杂曲面模型的零件,因为这类零件要么需要选择的驱动参数过多,要么根本无法选择驱动参数,参数化难度较高。在解决座椅骨架装配中的约束冲突时,选择了比较简单的消除连接环方法,因为本文涉及的装配约束基本都是完全定义约束。
[1]陈炜,林忠钦. 汽车CAD/CAM技术应用研究[J]. 汽车技术,1999,30(3):39-41.
[2]何朝良. 基于CATIA/CAA平台的虚拟装配路径规划的研究[D]. 南京:南京航空航天大学,2005.
[3]Hai Qiao Wang,Bei Bei Sun,Xiao Lan Ge,et al. Research of the Parametric Re-Development System Based on Pro/E[J]. Applied Mechanics and Materials,2012,101-102:41-44.
[4]Li Juan Zhao,Zheng Jun Wu,Zhen Tian. Based on Pro/Toolkit Parametric Design of the Longitudinal Roadheader Cutting Head[J]. Advanced Materials Research,2013,619:195-198.
[5]王瑞波,姚晓东. 基于Excel VBA与CATIA的汽车悬架运动仿真模型参数化建模[J]. 汽车工程师,2020,47(12):23-27.
[6]李华,张敏,程丽娜,等. 基于CATIA/CAA的轮胎花纹设计及自动节距排列[J]. 轮胎工业,2021,41(1):9-12.
[7]徐春生,张杨,夏永泉,等. 基于MBD和KBE的卫星单机模型紧固件自动装配研究[J]. 制造业自动化,2020,42(9):114-117,126.
[8]胡毕富,吴约旺. CATIA软件建模与CAA二次开发[M]. 北京:北京航空航天大学出版社,2018.
[9]吕刚. 机械产品设计缺陷的辨识模型与方法及其在机械传动系统中的应用研究[D]. 成都:电子科技大学,2014.
[10]张魁,范玉青,卢鹄,等. 基于MBD制造体系的装配工艺数据集成[J]. 机械工程师,2009,41(1):55-58.
[11]邵毅,李原,张开富,等. 基于CATIA的飞机虚拟装配分析与仿真系统开发[C]. 中国系统仿真学会,全球化制造高级论坛暨21世纪仿真技术研讨会论文集,2004:125-128.
[12]李维学,王仲奇,康永刚,等. 基于CATIA V5二次开发的产品自动装配[J]. 机械制造,2010,48(1):40-43.
Rapid Variant Design of Automobile Seat Frame Based on CAA
XIAO Xiangfei1,GAO Haodi1,SUN Jing2,ZHANG Qilun2,HE Jinquan1,PANG Boyuan1,FAN Shouwen1
( 1.School of Mechanical and Electrical Engneering, University of Electronic Science and Technology of China, Chengdu 611731, China; 2.Guangxi Shuangying Group Co., Ltd., Liuzhou 545006, China)
There is a high degree of similarity between different automobile seat frames in overall configuration and parts. It is of great practical significance to make full use of computer-aided technology in variant design of automobile seat frames. By the secondary development technology of CATIA based on CAA ( Component Application Architecture ), a rapid variant design software for automobile seat frames is developed. The parametric modeling and integral assembly of the seat differentiated parts are implemented through the visual interface of man-machine interaction by using the assembly API of CAA. The preparation time of automobile seat frames development is shorten, and design quality and efficiency are improved.
CAA;CATIA;automobile seat frame;rapid variant design
TP391.7;U462.1
A
10.3969/j.issn.1006-0316.2022.02.005
1006-0316 (2022) 02-0030-08
2021-03-29
四川省科技厅创新人才项目(2019JDRC0009)
肖翔飞(1997-),男,湖北荆州人,硕士研究生,主要研究方向为自动化设计与智能设计,E-mail:feiundo@163.com;范守文(1968-),男,湖北武汉人,博士研究生,教授,主要研究方向为设计自动化、机器人机构学。