面向飞机数字化装配的MBD模型装配信息提取技术
2015-05-30中航工业北京航空制造工程研究所
中航工业北京航空制造工程研究所 潘 青
随着时代的发展,科技的进步,人们对产品的需求日趋多样化,市场竞争也日趋激烈,对制造业及制造技术提出了更高的要求。特别是飞机产品,零件数目众多,协调环节多,尤其是飞机装配过程的工作量要占到整个飞机制造劳动量的40%~50%。因此,要快速响应市场需求,保证高标准的装配准确度,完全控制装配过程中的装配误差,必须要大力发展飞机的柔性装配、数字化装配等先进装配技术。以波音为首的国外飞机制造企业平均每10年就推出新一代军民机型,并一直引领国际最先进的飞机装配技术水平。
要想掌握柔性装配技术,使其在实际的生产制造中发挥作用,就应该将自动制孔技术、数字化装配工艺及仿真技术,柔性工装、先进连接等关键技术作为突破点,对这些技术涉及到的设备、工艺等方面完全吃透,然后以此作为基础,再以军或民机某部件装配作为应用对象,建立以自动钻铆制孔、机器人制孔为核心的自动化/半自动化装配生产线。另一方面,为填补国内的技术空白,提高制孔效率和制孔精度,需要对自动化柔性制孔技术进行研究,实现飞机部件装配过程中的自动化柔性制孔[1]。
在飞机装配过程中,有大量的连接孔需要加工,目前一架大型飞机上约有150~200万个连接件,其互连方法仍多采用机械连接。在国内,飞机零部件装配仍以手工制孔为主,这对人力、物力的要求是巨大的,更重要的是制孔质量低,连接质量难以满足较高疲劳寿命的要求,并且加工效率也低。国外飞机先进装配技术的应用证明,采用自动化柔性制孔技术不仅能够提高制孔效率和精度,还能够节约成本,改善劳动条件,并能大大减少人为因素造成的影响,更好地保证装配质量。
2 数字化装配的MBD模型
MBD(Model Based Definition)技术,即基于模型定义,是一个用集成的三维实体模型来完整表达产品定义信息的方法,在三维实体模型中包含产品尺寸、公差等的制造信息定义和表达。MBD 使三维实体模型作为生产制造过程中的唯一依据,改变了传统以二维工程图纸为主,而以三维实体模型为辅的制造方法。将产品的所有相关设计、工艺、制造属性以及管理等信息附着在产品三维模型中的产品数字化定义方法[2]。
MBD数据模型是通过图形和文字表达的方式,直接地或通过引用间接地揭示了一个物料项的物理和功能需求。MBD数据模型分为装配数据模型和零件数据模型。MBD零件数据模型由以简单几何元素构成的、用图形方式表达的设计模型和以文字表达的注释、属性数据组成。MBD装配数据模型则由一系列MBD零件数据模型组成的装配零件列表加上以文字表达的注释和属性数据组成[3]。
当前,我国航空制造业的数字化技术应用发展迅速,MBD 技术的引入和工程实践也已开展多年,并且三维数字化设计和MBD 技术在产品设计中已得到了成功深入的应用,这对下游的航空制造企业提出了新的迫切要求。建立适应我国航空制造企业的MBD 技术应用推广路线和技术体系,使得MBD 数字化模型贯穿于整个产品生命周期的数字化制造过程中,建立基于MBD 模型的数字化设计制造一体化集成应用体系,达到无图纸、无纸质工作指令的三维数字化集成制造,是缩短产品研制周期,提高产品质量,保证产品研制节点的迫切需求。
3 CATIA模型装配制孔孔位信息提取方法
飞机产品的模型均采用CATIA进行设计,CATIA模型文件有两种类型,一种为单个零件的模型文件,后缀名为CATPart,该类型文件中只有一个零件对象;另一种为多个零件装配模型文件,后缀名为CATProduct。每一CATIA模型文件中均包含有一个产品特征树,该特征树以树状结构组织产品设计过程中产生的各种不同类型的元素对象,包括各种几何信息和文本信息,既可以清晰地显示产品设计过程的层次结构,又可以保存设计元素之间的相互关系。设计人员在进行飞机产品设计时,结合飞机制造装配过程中所需要信息,对数模的特征树进行规范化定义,将同一类信息保存在相同的根结点中,供工艺人员、编程人员使用。
在进行飞机部件组装和总装时,最需要知道的信息就是哪两个部件要进行连接,连接区域要使用何种类型、何种规格的紧固件以及紧固件的排列方式和数量。根据紧固件的规格确定所制孔的大小和深度,孔口是否需要划平。在采用基于MBD的三维模型建模技术后,这些信息都分类保存在产品装配模型文件的特征树中。因此,采用CATIA的二次开发技术对特征树进行遍历、根据预定的关键字进行搜索,找到相应的结点,再进行分析,便可得到相应的装配制孔孔位信息。
3.1 CATIA 零件模型文件的获取
要从 CATIA 装配模型文件中提取信息, 首先要遍历模型文件中唯一存在的特征树, 获取装配件模型指针,根据装配件模型指针获取装配件所包含的所有零件的模型文件指针, 根据各个零件的模型文件指针获取记录紧固件定义的几何图形集指针,再通过几何图形集指针获得进一步的信息。
在获得CATIA 模型结构树的根指针时,首先得到装配件模型文件名称,通过文件名称获得模型文档指针(CATIDocument),再由模型文档指针取得装配件模型指针(CATIProduct),调用 CATIProduct 的函数 GetChildren()获得根目录结点,循环判断每个结点是否为零件模型(CATPART)。如果是,则获得零件模型指针;如果不是,则该节点为装配体模型指针(CATIProduct),递归调用CATIProduct 的GetChildren函数得到次级装配体根目录下的结点,重复此操作直到获得所有的零件模型指针。获得零件模型指针(CATIProduct)之后,据此获得零件模型的文档对象(CATDocument),初始化零件结点,并调用函数GetRootContainer可以获得零件结点的容器,再调用函数GetPart()获得零件结点对象(CATIPrtPart),根据零件结点对象的CATIDescendants接口获取零件的所有子零件,获得子零件的特征接口(CATISpecObject)后,对所有特征进行遍历判断其是否还有下一级子结点,如果有,则递归取次级零件。对次级零件再取其所有子结点并获得子结点零件的特征接口,再对所有子特征进行遍历判断其是否还有子特征,重复此操作直到所有的零件特征都被提取。
3.2 CATIA模型对象装配孔位信息的获取
飞机零部件装配连接孔位信息分散保存在各个连接件的零件模型中。CATIA零件模型的特征树(见图1)中包含两种类型的结点,一种是系统固有的,不可删除,如图1中所示的xy plane、yz plane、zx plane和PartBody结点,设计人员在设计时创建的所有几何均保存在该结点中,此外,设计人员还可根据实际需要创建几何图形集,为其命名,然后在自行创建的图形集中存放相同类型的几何信息或一些相关的文本等属性信息,如将使用同一种规格紧固件的孔位点保存在一起,因此需要在已经获得零件特征的基础上,遍历搜索该特征树,获取指定名称的几何图形集特征。针对零件模型文件获取指定几何图形集对象的步骤如下所示。
图1 CATIA零件模型文件特征树结构Fig.1 Feature tree structure of CATIA part model file
(1)针对每一个零件模型文件,根据CATIDescendants接口的GetDirectChildren函数获取该零件中所有次一级几何图形集特征对象;
(2)根据CATIAlias接口获得每一个几何图形集对象的名称;
(3)与预先指定的名称进行比较,如果二者名称相同,则该几何图形集特征为存储装配孔位信息结点。
3.3 几何点特征的判断方式
在获取指定几何图形集特征对象的基础上利用CATIDescendants接口的GetDirectChildren函数接口获得该几何图形集的所有子结点,然后依次对每一个结点进行判断,判断子结点是否为几何点。在设计人员进行产品设计时,生成点的方式通常有直接定义、相交、投影、对称等方式,因此在判断子结点是否为几何点时,要考虑到上述几种情形,否则就会有遗漏。对于直接定义方式生成的几何点,即利用CATIA创建点功能得到的几何点,在用户不做更改的情况下,会在特征树上有类似“点.XXX”的名称显示,其中名称中的XXX为数字,按照创建的顺序从1开始,依次增加,因而可以通过几何的名称判断是否是几何点。对由相交、投影、对称等方式创建的几何点,相应地在特征树上有“相交.XXX”、“投影.XXX”、“对称.XXX”的名称显示,此时,单纯通过名称判断无法,因为通过相交、投影、对称等方式创建的几何还可能是线或面,而此时它们在特征树上的名称也具有上述形式,因此不能只依据名称进行判断,需要另僻稀径,即通过特征内部的拓扑结构进行判断。综上所述,得到对点判断的方式如图2所示。对所有的子结点进行判断,记录通过判断的点位坐标、名称信息进行输出,便可得到自动制孔信息表。
图2 CATIA格式几何点判断方式Fig.2 Judgement styles of CATIA geometry points
4 应用实例
利用CATIA进行二次开发工具CAA,基于CATIA V5平台实现了上述制孔信息提取方式,可以非常容易地得到产品中的自动制孔孔位信息。用户交互界面如图3所示。
图3 “自动搜索编程孔”功能用户交互界面Fig.3 User interface of automatically searching programming point
对话框的主体为列表框,用于显示当前打开文件中所有几何点特征对象的名称。此外还包括4个功能按钮。一个是“开始”命令按钮,用于在指定的模型文件中自动搜索孔位信息。由于实际建模的复杂性,模型中可能会存在利用除前文提到的方式以外的几何点特征,这样会导致在遍历模型特征树进行孔位信息的自动提取时遗漏一些几何点特征,需要手工补充,另外,根据自动制孔设备的工作能力范围,会有一些自动提取到的点不需要进行自动制孔,需要手工删除。根据这些实际使用需要,设计了两个命令按钮,一个用于手工添加点,一个用于手工删除点。此外还有一个“保存”命令按钮,用于将自动制孔孔位信息保存至数据库表中。
在实际应用时,首先利用CATIA自身的功能导入装配件模型文件,然后单击工具条中的“制孔孔位自动搜索”命令按钮,在弹出的“自动搜索编程孔”对话框中单击“开始”命令按钮,程序开始执行,自动搜索当前打开模型文件中所有零件中的连接定义信息,将得到信息的名称依次列在“孔列表”列表框中,单击“保存”命令按钮,当前所有点的信息保存至数据库表中。
5 结束语
基于模型的设计技术已经逐步成为一种设计规范,得到越来越广泛的应用。它的最大优势在于可以统一产品从设计到制造的数据,成为单一的数据源。当数据的定义规范之后,对于数据的使用者,也有了新的要求,即如何快速准确从MBD模型中得到自己需要的数据。针对MBD模型进行制孔孔位等装配信息的自动提取方法研究可以大大节省工艺编程人员的工作量,用户只需要简单的操作,便可快速得到所需的制孔孔位几何名称、坐标,作为后续的离线编程工作的依据。
[1]欧阳,邹成,刘继红.面向机翼柔性制孔的多层次数控程序结构.计算机集成制造系统,2011(8): 1806-1807.
[2]梅中义. 基于MBD的飞机数字化装配技术. 航空制造技术,2010(18): 42-45.
[3]余志强,陈嵩,孙炜,等. 基于MBD的三维数模在飞机制造过程中的应用. 航空制造技术,2009(25): 82-85.