异构装配信息的统一表达方法研究*
2014-09-05刘云华
刘云华,刘 巍
(华中科技大学国家CAD支撑软件工程技术研究中心,湖北 武汉430074)
1 引言
当前大型机械、装备等产品设计通常在不同三维平台中完成,导致装配体信息表达方式不一致,在对模型进行装配仿真时,需统一到同一三维平台,但由于数据表达格式的不一致,导致数据在交换过程中一些必要的三维信息被丢失、或者三维模型信息不一致,如颜色、属性等信息缺失,特别是三维装配关系通常被抛弃[1],而这些信息往往是装配序列规划和运动仿真分析的关键信息[2]。所以,针对这一问题,需要构建一种统一的装配信息表达模型,使其能完整地描述产品的信息,不仅是产品的几何信息,还包括产品的关系和属性信息。
通常装配模型由子部件和零件构成,子部件又可以分解为下一级的子部件和零件,这样形成了一种层次结构关系[3]。而装配模型除了这种层次关系之外,还存在装配关系,装配体的零部件就是通过这种装配关系约束到一起形成整体[4]。最后,为了能够将装配体正确显示出来,还需要建立零件信息,主要包括零件的形状、尺寸等信息。所以,装配模型信息主要是层次关系、装配关系、零件信息。为实现统一的产品数据模型,装配信息里应该包含装配体内的各个子部件之间的父子关系信息,建立零部件间的装配约束关系,描述零件的尺寸形状。
归纳总结目前的产品装配模型,可以分为层次模型、关系模型以及两者相结合的混合模型[5,6]。这些方法只在装配结构方面进行了一些描述,而在其它方面没有做更多的分析,并不能解决实际问题,如混合模型并没能保留下装配约束关系,不适用于实际的装配信息建模。此外,随着大规模制造的发展,装配模型往往比较大,文件过大不利于网络传输并影响虚拟装配仿真的效率[7]。
为了能够清晰反映零部件的结构关系和装配关系,本文采用轻量化的层次和关系混合模型来实现对异构CAD平台模型的统一表达。轻量化体现在对源模型数据进行压缩,过滤掉与虚拟装配仿真无关的信息,如建模过程信息,仅仅保留模型的装配结构信息、装配关系信息和几何信息;层次性体现在装配体从顶到下一层层分解直到零件,每一层都记录了相应的装配信息和零件信息,呈典型的树状结构;关系性体现在零部件不是简单地记录了包含、从属关系,而且保留了不同零件的几何元素间的装配约束信息,能够直观地反映出零部件间的配合关系、运动关系等。
综上所述,为了统一表达异构CAD平台的装配模型信息,本文的轻量化装配信息混合模型应包括以下内容:
(1)提供零部件间的父子关系信息,方便零部件的属性管理。
(2)保留源装配模型的装配关系信息,为之后进行的装配序列规划和运动仿真提供数据基础。
(3)保留源装配模型的零件信息,用于对装配体的正确显示,便于零件几何元素之间的计算,如测量、约束求解等。
(4)对源模型数据进行压缩,缩小后的文件方便在网络上传输。
2 统一的轻量化装配信息混合模型
轻量化的层次和关系混合模型表达方法如图1所示,将产品装配信息分为两个部分:装配结构信息和装配关系信息。装配结构信息里记录了零部件的层次结构,包含零件的几何尺寸信息、显示信息,零部件的父子关系信息;装配关系信息里记录了不同零件间的约束关系,在此约束关系下,零部件形成了一个联系紧密的整体。
Figure 1 Mixed expression model of hierarchy and relationships图1 层次和关系混合表达模型
为充分保证模型的一致性,本文采用数据记录方式尽量使三维模型数据保持一致,将三维装配信息和零件分开表达。用装配文件记录装配结构信息和装配关系信息,记为装配层信息;零件文件记录几何信息,记为零件层信息。然后,装配文件通过数据引用的方式将零件文件的几何信息显示在正确的位置。装配层中的装配关系信息需要利用零件层中的几何信息来建立,而零件层中的几何信息需要通过装配层中装配结构信息调用来显示。下面将分别详细介绍装配层和零件层的信息表达。
2.1 装配层表达
装配层表达的是层次与关系的混合模型,反映了整个三维模型的框架,记录了装配体下面的零部件结构、装配关系。装配层表达主要包括装配关系信息表达和零部件引用表达。
装配关系信息分为三类:配合关系、运动关系、联结关系[8]。
配合关系是两个零件的几何特征之间的接触约束关系,它描述两个相互配合的零件如何通过零件上若干几何表面的相互接触来实现他们之间的相互联系,是产生产品装配顺序和评价可装配性的重要依据。配合关系包括:平面与平面贴合、柱面与柱面同轴、平面与回转面相切、点面接触等类型。数据结构为:配合关系信息 = {装配零件1,装配零件2,几何元素1,几何元素2,配合关系类型}。
运动关系是构成装配的零部件之间存在的相对运动关系,这种相对运动是产品完成机械运动和实现力做功的基础。
联接关系是若干零部件通过其他联接零件或自身的联接特征联接在一起,构成稳定的整体的特殊装配关系。数据结构为:运动(联接)关系信息={装配零件1,装配零件2,运动(联接)关系类型,运动(联接)关系详细信息}。
零部件引用记录了零部件的名称、ID号、文件相对路径、相对变换矩阵。装配层信息中只记录零部件的文件路径,对其进行引用,并不记录具体的几何拓扑信息,这样会减少数据的冗余,减小文件大小。
2.2 零件层表达
零件信息是数字化产品装配信息的关键内容,没有零件就无法构成产品。零件是构成产品的基本单元。
零件信息分为几何信息和显示信息。几何信息是用来描述零件的实际几何结构以及几何形状的尺寸,可以用具体的函数来精确表达。例如,圆柱体零件包含的几何信息对象有圆、平面、柱面,圆对应的几何属性有圆心坐标和半径,平面的几何属性有定位点坐标和法矢。显示信息是指将零件的几何对象三角化后得到的三角化面、三角化边和点的信息,因为三角面片能够使模型加速显示,所以我们采用三角面片来显示图形。
因此,零件层的数据结构为:零件层信息 ={几何信息,显示信息};几何信息 = {几何对象类型,几何对象属性};显示信息 = {三角化面,三角化边,点}。
3 数据结构中的关键技术
对于第2节提出的轻量化混合装配信息表达模型,为了进一步减少数据冗余,使之后的装配序列规划以及运动仿真更加快速、有效,有几点关键技术需要进一步讨论,包括装配体属性管理和零件显示机制。
3.1 装配体属性管理
装配体从显示上来看是简单的父子层次结构,而实际在内部数据方面,并非是简单的父子关系,而是父-实例-零件的三层关系。因此,装配体中的属性就不仅只有父和子零件的属性,还存在一个子在父中实例的属性,这一属性表示,当一个零件被装配到某一特定装配体下时,该实例零件还可以拥有与原零件不同的属性信息,如颜色、外形等等。为了使同一个零件在不同部件中能够显示不同的属性,本文的装配信息表达方法是将零件的这些属性保存在其上一级的父装配体文件中。通过修改装配体文件中被引用零件的相关属性信息,实现零件的多形态显示。这样可以解决装配体上的颜色设置、变型件问题。
如图2所示,在装配体A中引用了两个子装配体C,分别记为C1和C2。由于C1和C2是同一个装配体文件,所以如果通过装配体C来修改零件D的颜色,会导致C1和C2中零件D的颜色都会改变。按照本文的轻量化混合表达方法,部件C1和C2虽然都来自同一装配文件,但是在这里是作为两个实例来处理的,那么修改C1中零件D1的颜色只是改变了这个实例的颜色,并不会改变另外一个实例C1中零件D2的颜色。
Figure 2 Same part is called in many places图2 同一部件在多处被调用
同样,子部件的这类属性也是记录在其上一级父装配体文件中。那么,这样就会带来一个问题,当一个零件和它的父装配体同时设置了某个属性时,该零件应显示哪个属性?由于模型的显示过程是自顶向下的,即读取属性的过程是从总装配体到子装配体最后到零件,所以当零件和其父装配体的同一属性设置了不同值时,零件会取最后自身设置的属性值。
3.2 零件显示机制
在本文的轻量化装配信息表达中,所有零部件的几何信息都是相对于上一级父装配体的位置进行保存的,记录为相对变换矩阵。为了将零件显示在正确的位置,就需要计算零件在装配体中的绝对位置,可由零件的上级所有节点的变换矩阵相乘得到。若设某零件的所有上级节点的变换矩阵为Mi(i=1,2,…,n),则该零件的当前绝对位置矩阵为M=∏ni=1Mi(i=1,2,…,n)。
这样做的意义在于,当某个零件被多个不同部件调用时,其位置显示问题能够得以解决。如图2所示,零件D在两处被调用,而它自身的几何数据是确定的,那么要同时表示两个位置,就可以利用相对位置矩阵。D在C中的相对位置矩阵为Mdc,C在A中的相对位置矩阵为Mca,那么零件D在总装配体A中的绝对位置矩阵M=Mca*Mdc。零件D相对于子部件C的位置Mdc、子部件C相对于装配体A的位置都可以通过修改装配体文件中的相对变换矩阵来变化。这样,通过每一层的数据引用,最终可以实现同一零件多次被调用时的显示问题。
4 应用实例
利用轻量化装配信息混合表达模型,可将异构CAD平台装配模型的装配结构信息、装配关系信息以及几何信息转换为统一的数据表示模式,在该统一模型下,还可利用该模型表达将这些三维模型装配在一起,实现异构模型的三维装配。在装配模型中不仅保留了零部件的位置信息,还保留了零部件间的约束关系,利用这个模型我们可以方便地进行三维仿真。
利用HOOPS可视化开发包,在VS2005上开发了天喻软件三维浏览器InteVue2012,通过三维CAD软件提供的二次开发接口读取对方的文件,然后将其转化为统一的装配模型表达方式,以实现对当前主流三维软件模型的浏览,如Catia、Solid-Works、ProE等。
图3是来自Inventor2011和SolidWorks2011的模型,进行了文件格式转换后,在InteVue2012中打开,只保留了装配体的几何信息、拓扑信息、装配关系信息以及少量的设计信息,文件大小相对于源文件减小很多,浏览速度快,并且能够实现零部件的移动和颜色修改等功能。图3中显示了装配体的层次结构,保留了源文件的装配关系,便于后期的装配序列规划以及装配运动仿真,之后在两个子部件之间又新增加了共轴和重合的约束配合。
5 结束语
本文提出了一种轻量化的层次和关系混合模型来表达异构三维CAD平台的装配体模型,实现了对异构CAD平台模型的浏览,解决了零部件属性一致性的问题,保留了装配体的装配关系,填补了国内三维浏览器在装配关系建立方面的空白。采用此方法可以有效地提高三维模型浏览速度,更好地指导装配序列规划和运动仿真。
[1] Peng Tao,Li Shi-qi,Zhang Chong-hui,et al.Information acquisition and application for the virtual assembly[J].Com-
Figure 3 Model of heterogeneous CAD platform图3 异构CAD平台的模型puter Integrated Manufacturing Systems,2009,15(9):1817-1822.(in Chinese)
[2] Yang Run-dang,Wu Dian-liang,Fan Xiu-min,et al.Research on constraint-based virtual assembly technologies[J].Computer Integrated Manufacturing Systems,2006,12(3):414-419.(in Chinese)
[3] Liu Zhen-yu,Tan Jian-rong,Zhang Shu-you.The multi-level representation of product information for virtual assembly[J].Journal of Computer-Aided Design & Computer Graphics,2001,13(3):224-228.(in Chinese)
[4] Dai Guo-hong.Research on the techniques of modeling and sequence planning for digital pre-assembly [D].Nanjing:Nanjing University of Science & Technology,2007.(in Chinese)
[5] van Holland W,Bronsvoort W F.Assembly features in modeling and planning [J].Robotics and Computer Integrated Manufacturing,2000,16(4):277-294.
[6] Jayaram S,Connacher H I,Lyons K W.Virtual assembly u-sing virtual reality techniques[J].Computer-Aided Design,1997,29(8):575-584.
[7] Sang Xiao-chong,Zhou Hua-lin,Zuo Dun-wen.Research on the automatically extracting technology of assembly information for virtual assembly[J].Manufacture Information Engineering of China,2010,39(19):33-40.(in Chinese)
[8] Zhang Fan.Research on the key technology for collaborative digital pre-assembly system[D].Nanjing:Nanjing University of Science & Technology,2005.(in Chinese)
附中文参考文献:
[1] 彭涛,李世其,章崇晖,等.面向虚拟装配的信息获取与应用[J].计算机集成制造系统,2009,15(9):1817-1822.
[2] 杨润党,武殿梁,范秀敏,等.基于约束的虚拟装配技术研究[J].计算机集成制造系统,2006,12(3):414-419.
[3] 刘振宇,谭建荣,张树有.面向虚拟装配的产品层次信息表达研究[J].计算机辅助设计与图形学学报,2001,13(3):224-228.
[4] 戴国洪.数字化预装配建模与序列规划技术的研究[D].南京:南京理工大学,2007.
[7] 桑小冲,周华林,左敦稳.面向虚拟装配的装配信息自动提取技术的研究与实现[J].中国制造业信息化,2010,39(19):33-40.
[8] 张帆.协同数字化预装配系统的关键技术研究[D].南京:南京理工大学,2005.