基于形状拆分的机械零件三维模型检索
2015-03-15朱文博吴新仁
朱文博, 吴新仁, 甘 屹
(上海理工大学机械工程学院,上海 200093)
基于形状拆分的机械零件三维模型检索
朱文博, 吴新仁, 甘 屹
(上海理工大学机械工程学院,上海 200093)
提出一种基于形状拆分的机械零件三维模型检索方法。首先根据零件名称和功能,将机械零件模型库按传统方式划分为四大类,即轴套类、盘盖类、叉架类和箱体类,三维模型之间的匹配在同一类模型中进行;随后进行三维模型外轮廓扫描,将整个三维模型拆分成若干平面体、回转体和曲面体,根据同一型体之间特征数量和参数的不同,进行单一型体之间的匹配;最后根据单一型体的数量和匹配对的相似度,综合计算整个模型的相似度。单一型体的定义和整个匹配算法均是围绕着形状和工艺相似进行的。通过实例验证了该方法的有效性。
形状拆分;模型检索;机械零件;单一型体;相似度
三维模型的检索在很多领域都已成为热点,尤其是在机械工程领域[1]。国内外已提出多种检索方法,如美国俄亥俄州立大学[2]研究了基于几何和拓扑相似性的三维机械零件模型的匹配以及检索方法,该方法适应于CAD实体模型的全部特征和局部特征相似,但提取属性图的方法计算量大、难度高、准确度低。Chu等[3-4]从基本形体切割的角度构建负特征树,并采用神经网络的方法进行零件相似度匹配,该方法有一定的局限性,模型多以正四棱柱为主。王家乐等[5]设计出一种灰度体素模型上的基于三维SIFT算法的局部形状特征提取方法,得到三维模型的尺度不变形状特征后,采用BoF方法构建模型的形状特征向量,配合相应的距离函数实现三维模型“部分-整体”的匹配和检索,方法较繁琐,编程实现困难。董雁和徐静[6]提出一种基于装配结构相似的零件三维模型检索方法,借鉴化学符号表示零件功能表面、相对位置、朝向以及面与面之间拓扑关系,并对装配结构进行编码,建立检索机制,但编码的规则复杂,生成编码需要大量人工。因此,如何有效地进行机械零件三维模型的检索,还需要更深层次的研究。本文将利用机械零件形状和工艺的特点,将复杂的机械零件拆分成若干相对简单的形体,随后再进行匹配检索。
1 机械零件三维模型的表示
机械零件模型表示的是模型检索的前提条件,好的模型表示可以快速准确的从模型库中找到相似的机械零件。为了方便快捷地检索到形状相似的机械零件,本文首先将机械零件的三维模型根据形状特征进行拆分。
1.1 机械零件形状特征的拆分
对于给定某一机械零件,首先需根据零件名称和功能按传统方式划分为轴套类、盘盖类、叉架类和箱体类,随后,通过计算机进行机械零件三维模型外轮廓扫描。在忽略轮廓外表面特征的前提下,如凸台(高度小于等于3 mm)、键槽等,扫描零件的外轮廓,从形状上对各类零件进行拆分,最终分解成若干个平面体、回转体和曲面体。零件拆分的依据是台阶面,当零件同一方向相邻两个面之间不是光滑连接,或在三维实体造型中不属于同一特征,或加工时无法在同一工步中进行加工,则称这一连接面为台阶面。当零件含有台阶面时,则在台阶面处对零件进行拆分直到没有台阶面为止,得到的每一段称为一个单一型体。如图 1所示,将零件在台阶面处进行拆分,拆分后得到若干单一型体。针对拆分后的三维模型表面轮廓(暂不考虑模型内形),将单一型体分为平面体、回转体和曲面体。若拆分后的某单一型体表面只包含平面(倒角、倒圆不算),则称该单一型体为平面体,如图2(a)所示;若拆分后的某单一型体表面为圆柱面、圆锥面或球面,则称该单一型体为回转体,如图2(b)所示;若拆分后的某单一型体由曲面和平面共同构成,则称该单一型体为曲面体,如图2(c)所示。机械零件三维模型库的组织首先按照四大类零件,即轴套类、盘盖类、叉架类和箱体类分类存储,每一类零件的每个三维模型又被拆分为若干单一型体进行存储。机械零件三维模型库的组织如图3所示。
图1 三维模型拆分示意图
图2 单一型体示例图
图3 机械零件三维模型库
1.2 基于拆分的机械零件三维模型表示
如上所述,每一个机械零件三维模型最终被拆分为若干个平面体、回转体和曲面体,因此模型的表示就细化为对每一种单一型体的表示。
对于平面体,即外表面由若干平面构成的几何体。每个平面体由若干特征来表示。根据机械零件的形状特点和加工工艺,平面体的特征包括:平面特征,其特征参数为平面的厚度和面积;孔特征,进一步细分为通孔、阶梯通孔、矩形阵列通孔、圆周阵列通孔、盲孔、矩形阵列盲孔、圆周阵列盲孔、螺纹通孔、矩形阵列螺纹通孔、圆周阵列螺母通孔、螺纹盲孔、矩形阵列螺纹盲孔,圆周阵列螺纹盲孔,其特征参数为孔的直径和深度等;槽特征,细分为键槽、矩形槽、半圆槽等,其特征参数为槽的面积和深度;凸台特征,其参数为凸台形状、凸台面积和凸台高度;圆角特征,其特征参数为圆角半径;筋板特征,其特征参数为筋板厚度。孔特征、槽特征、凸台特征、圆角特征、筋板特征等均依附于某一平面。
对于回转体,细分为圆柱回转体,其特征参数为圆柱长度和直径之比;圆锥回转体,其特征参数为圆锥大端直径减去小端直径的差比锥面高度;球体为球面积。回转体上的孔特征、槽特征等的表示同平面体。
对于曲面体,可以看成由曲面和平面构成。曲面通过曲面面积和曲率来表示,平面用面积来表示。曲面体表面的特征,如孔、槽、凸台等表示同平面体。
2 机械零件三维模型的检索
相似的零件一般都属于同类零件,故为了缩小检索范围,加快检索速度,机械零件三维模型的检索在同一类模型中进行,即在轴套类、盘盖类、叉架类和箱体类四大类子模型库之一中进行。对于同类的两个模型,首先进行单一型体之间的匹配度计算,之后进行整个模型的综合匹配检索。
2.1 单一型体的匹配度计算
2.1.1 平面体的匹配度
平面体的表面由若干个平面组成。设新模型中的某一平面体Pi中含有v个平面(Pi1,Pi2,Pi3,…,Piv),模型库中某一模型包含一Pj平面体,其有w个平面(Pj1,Pj2,Pj3,…,Pjw),搜索 min(v,w)对平面匹配对,作为计算两平面体相似度的基础。
将新平面体 Pi的每个平面与模型库中平面体Pj的每个平面两两匹配,可以组成 v×w个平面对((Pi1,Pj1),(Pi1,Pj2),…,(Pid,Pje),…,(Piv,Pjw))。根据每个平面上特征的个数,采用欧式距离计算每一对平面的相似度,计算公式如下[7]:
然后将 v×w个平面对按匹配度的大小排列,选取相似度值最大且平面不重复出现的min(v,w)对平面匹配对。在得到的平面匹配对的基础上,进一步根据特征参数的匹配计算平面对的相似度。
设平面Pid和平面Pje是通过式(1)计算找到的平面匹配对,仅在这两个平面上搜索特征对。同种特征进行匹配,不同种特征不匹配。若平面Pid上有某种特征且数量是a,平面Pje上也有该种特征且数量是b,则首先两两特征组合,组合成(a×b)对特征对,每对特征相似度的值按式(2)确定。之后,将(a×b)的个值从高到低排列,选出相似度最大且特征不重复出现的 min(a,b)个值,即找到min(a,b)对特征匹配对。
计算完平面Pid和Pje上所有特征匹配对的相似度值之后,则平面Pid和Pje的相似度更新为式(4):
通过式(4)的计算,得到min(v,w)对平面匹配对的相似度值,则两个平面体Pi和Pj的相似度值由式(5)计算。
式中, Pi,j为两个平面体Pi和Pj的相似度值;为通过式(4)计算得到的平面匹配对(Pid,Pje)的相似度值,v是平面体Pi的平面个数;w是平面体Pj的平面个数。
2.1.2 回转体的匹配度
两回转体匹配度的计算由两回转面的相似度、回转面上特征匹配对的相似度、平面(指回转体两端面,对于完整球面没有平面则不要此项)的相似度来确定。
式中,Hi,j为两个回转体Hi和Hj的相似度值;为两回转面的相似度值,为回转面上某一特征对的相似度值,a是回转体 Hi回转面上特征的个数,b是回转体Hj回转面上特征的个数;为某一平面对的相似度值,c是回转体Hi平面的个数,d是回转体Hj平面的个数。
2.1.3 曲面体的匹配度
两曲面体的匹配度由曲面的相似度和平面的相似度来决定。
若曲面体Qi含有a′个曲面,曲面体Qj含有b′个曲面,则存在min(a′,b′)个曲面匹配对。类似于搜索平面匹配对,首先任意两曲面组成(a′×b′)个曲面对,用公式(8)一一计算,然后从高到低排列,选取相似度值最大且曲面不重复出现的min(a′,b′)个匹配对。
式(9)中,iS是曲面体Qi中某一曲面的面积,jS是曲面体Qj中某一曲面的面积,iρ为曲面体Qi中相应曲面的曲率,jρ为曲面体 Qj中相应曲面的曲率。
则两曲面体Qi和Qj的相似度由式(10)计算:
式中,,ijQ 为两个曲面体Qi和Qj的相似度值为曲面匹配对的相似度值,a′是曲面体 Qi曲面的个数,b′是曲面体 Qj曲面的个数;为平面匹配对的相似度值,c′是曲面体 Qi平面的个数,d′是曲面体Qj平面的个数。
2.2 机械零件三维模型的相似度
如1.1节所述,首先根据零件名称和功能,将每一机械零件三维模型划归为轴套类、盘盖类、叉架类和箱体类四个子模型库之一中,两三维模型的相似度计算是在同一子模型库间进行,不同子模型库之间不进行相似度匹配。
设新模型包含r个平面体(P1,P2,…,Pr)、s个回转体(H1,H2,…,Hs)和t个曲面体(Q1,Q2,…,Qt),模型库中某一旧模型包含 r′个平面体(P1,P2,…,Pr′)、s′个回转体(H1,H2,…,Hs′)和t′个曲面体(Q1,Q2,…,Qt′),匹配计算的基本原则是同种单一型体之间进行匹配,不同种单一型体之间不匹配。
新模型的r个平面体(P1,P2,…,Pr)和旧模型的r′个平面体(P1,P2,…,Pr′)两两组成r×r′对平面体匹配对,每一对均按照2.1.1节所述平面体的匹配度计算公式进行计算,将r×r′个值从高到低排列,选出相似度最大且平面体不能重复出现的min(r,r′)对平面体匹配对。同理根据2.1.2节所述选出min(s,s′)对回转体匹配对,根据2.1.3节所述选出 min(t,t′)对曲面体匹配对,则新旧两个模型的相似度为:
式中, SN,O为新旧两个机械零件三维模型的相似度值;为平面体匹配对相似度值,按式(5)计算,r为新模型平面体的个数,r′为旧模型平面体的个数;为回转体匹配对相似度值,按式(7)计算,s为新模型回转体的个数,s′为旧模型回转体的个数;为曲面体匹配对相似度值,按式(10)计算,t为新模型曲面体的个数,t′为旧模型曲面体的个数。
据式(11)可以计算出新零件模型与模型库中每一模型间的相似度。计算出的相似度值越高,说明模型库中该零件在几何形体上及工艺上与新零件越为相似,进而可以参照模型库中的相似模型进行新零件模型的工艺设计;也可将得到的相似度从高到低进行排序,根据需求选取满足条件的机械零件模型。
3 应用实例
现有一个新机械零件三维模型(如图4)需要进行工艺设计,该零件为箱体类零件,故在模型库箱体类零件中按照本文所述方法进行搜索,找到相似三维零件模型,作为工艺设计参考。将新零件进行拆分,拆分结果也显示在图4中,共得到6个单一型体,如图 4中(1)~(6)所示,其中(6)为平面体,(1)~(4)为回转体,(5)为曲面体。表 1中有模型库箱体类零件其中20个三维模型的示例,依次拆分后,按照式(11)进行相似度计算,与新零件模型的相似度值计算结果显示在表1中。
很显然,新零件的三维模型与 006号和 008号零件三维模型的相似度较高,因此,可以参考这两个零件的工艺加工方案来制定新零件的加工工艺。
图4 新零件三维模型及其拆分图
表1 模型库中部分零件及其与新零件的相似度值
4 结 束 语
本文提出了一种基于形状拆分的机械零件三维模型检索方法。该方法根据机械零件的形状特点和加工工艺,在传统的机械零件分类的基础上,进一步将整个三维模型拆分成若干平面体、回转体和曲面体,每一型体称为单一型体,随后根据同一型体之间特征数量和参数的不同,进行单一型体之间的匹配,最后再根据单一型体的数量和匹配对,综合计算整个模型的相似度。该方法计算简便,编程容易实现,可以快速准确地进行零件三维模型之间的匹配,并且由于单一型体的划分和特征的分类出发点都是形状相似、工艺相近,因此,利用匹配的结果可以参考工艺设计。然而有些零件形状非常复杂,使得拆分较困难,而且拆分后可能破坏形状的完整形,因此要使本方法具有更广泛的适应性,还需后续更深入地研究。
[1]Jayanti S, Kalyanaraman Y, Iyer N, et al. Developing an engineering shape benchmark for CAD models [J]. Journal of Computer-Aided Design, 2006, 38(9): 939-953.
[2]El-Mehalawi M, Miller R A. A database system of mechanical components based on geometric and topological similarity. part II: indexing, retrieval, matching and similarity assessment [J]. Journal of Computer-Aided Design, 2003, 35(1): 95-105.
[3]Chu C H, Cheng Hanchung, Wang E, et al. ANN-based 3D part search with different levels of detail (LOD) in negative feature decomposition [J]. Expert Systems with Applications, 2009, 36(8): 10905-10913.
[4]Cheng Hanchung, Lo Chenghung, Chu C H, et al. Shape similarity measurement for 3D mechanical part using D2 shape distribution and negative feature decomposition [J]. Computers in Industry, 2011, 62(3): 269-280.
[5]王家乐, 姜 波, 黄逸民. 机械零件模型局部形状相似性检索算法研究[J]. 中国机械工程, 2012, 23(11):1293-1296, 1301.
[6]董 雁, 徐 静. 基于装配结构相似的零件三维模型检索方法[J]. 机械工程学报, 2009, 45(4): 273-280.
[7]朱文博, 李爱平, 刘雪梅. 基于工艺相似的冲压件实例检索方法[J]. 计算机集成制造系统, 2007, 13(4):721-726.
3D Model Retrieval of Mechanical Parts Based on Shape Split
Zhu Wenbo, Wu Xinren, Gan Yi
(School of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China)
A 3D model retrieval method of mechanical parts based on shape split was proposed. Firstly, according to the name and function of the parts, the mechanical parts model library was divided into four categories with the traditional way: the shaft-like parts, the plate-like parts, the fork-like parts and the box-like parts, the matching between the two 3D models was completed in the same category. Then, scanning the outer contour of 3D models with the computer and dividing one 3D model into several sub-models, such as plane solids, revolved solids or curved solids, the matching between the two sub-models was calculated with the quantity of the features and the values of feature-parameters at the same kind of sub-models. Finally, the similarity degree of the whole model is computed synthetically with the numbers of sub-models and similarity degrees of the matching between the two sub-models. The definition of sub-models and the whole matching algorithm were determined by the similar shapes and process. A case study was used to reveal the effectiveness of this method.
shape split; model retrieval; mechanical parts; sub-model; similarity degree
TH 128; TP 391
A
2095-302X(2015)01-0035-06
2014-05-19;定稿日期:2014-08-05
上海市教育委员会科研创新一般资助项目(13YZ071);国家自然科学基金资助项目(51375314)
朱文博(1973-),女,山东宁阳人,副教授,博士。主要研究方向为基于知识的工程研究。E-mail:teacherzwb@163.com