朱文博, 吳新仁, 甘 屹
(上海理工大學(xué)機(jī)械工程學(xué)院,上海 200093)
基于形狀拆分的機(jī)械零件三維模型檢索
朱文博, 吳新仁, 甘 屹
(上海理工大學(xué)機(jī)械工程學(xué)院,上海 200093)
提出一種基于形狀拆分的機(jī)械零件三維模型檢索方法。首先根據(jù)零件名稱和功能,將機(jī)械零件模型庫(kù)按傳統(tǒng)方式劃分為四大類,即軸套類、盤蓋類、叉架類和箱體類,三維模型之間的匹配在同一類模型中進(jìn)行;隨后進(jìn)行三維模型外輪廓掃描,將整個(gè)三維模型拆分成若干平面體、回轉(zhuǎn)體和曲面體,根據(jù)同一型體之間特征數(shù)量和參數(shù)的不同,進(jìn)行單一型體之間的匹配;最后根據(jù)單一型體的數(shù)量和匹配對(duì)的相似度,綜合計(jì)算整個(gè)模型的相似度。單一型體的定義和整個(gè)匹配算法均是圍繞著形狀和工藝相似進(jìn)行的。通過(guò)實(shí)例驗(yàn)證了該方法的有效性。
形狀拆分;模型檢索;機(jī)械零件;單一型體;相似度
三維模型的檢索在很多領(lǐng)域都已成為熱點(diǎn),尤其是在機(jī)械工程領(lǐng)域[1]。國(guó)內(nèi)外已提出多種檢索方法,如美國(guó)俄亥俄州立大學(xué)[2]研究了基于幾何和拓?fù)湎嗨菩缘娜S機(jī)械零件模型的匹配以及檢索方法,該方法適應(yīng)于CAD實(shí)體模型的全部特征和局部特征相似,但提取屬性圖的方法計(jì)算量大、難度高、準(zhǔn)確度低。Chu等[3-4]從基本形體切割的角度構(gòu)建負(fù)特征樹,并采用神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行零件相似度匹配,該方法有一定的局限性,模型多以正四棱柱為主。王家樂(lè)等[5]設(shè)計(jì)出一種灰度體素模型上的基于三維SIFT算法的局部形狀特征提取方法,得到三維模型的尺度不變形狀特征后,采用BoF方法構(gòu)建模型的形狀特征向量,配合相應(yīng)的距離函數(shù)實(shí)現(xiàn)三維模型“部分-整體”的匹配和檢索,方法較繁瑣,編程實(shí)現(xiàn)困難。董雁和徐靜[6]提出一種基于裝配結(jié)構(gòu)相似的零件三維模型檢索方法,借鑒化學(xué)符號(hào)表示零件功能表面、相對(duì)位置、朝向以及面與面之間拓?fù)潢P(guān)系,并對(duì)裝配結(jié)構(gòu)進(jìn)行編碼,建立檢索機(jī)制,但編碼的規(guī)則復(fù)雜,生成編碼需要大量人工。因此,如何有效地進(jìn)行機(jī)械零件三維模型的檢索,還需要更深層次的研究。本文將利用機(jī)械零件形狀和工藝的特點(diǎn),將復(fù)雜的機(jī)械零件拆分成若干相對(duì)簡(jiǎn)單的形體,隨后再進(jìn)行匹配檢索。
機(jī)械零件模型表示的是模型檢索的前提條件,好的模型表示可以快速準(zhǔn)確的從模型庫(kù)中找到相似的機(jī)械零件。為了方便快捷地檢索到形狀相似的機(jī)械零件,本文首先將機(jī)械零件的三維模型根據(jù)形狀特征進(jìn)行拆分。
1.1 機(jī)械零件形狀特征的拆分
對(duì)于給定某一機(jī)械零件,首先需根據(jù)零件名稱和功能按傳統(tǒng)方式劃分為軸套類、盤蓋類、叉架類和箱體類,隨后,通過(guò)計(jì)算機(jī)進(jìn)行機(jī)械零件三維模型外輪廓掃描。在忽略輪廓外表面特征的前提下,如凸臺(tái)(高度小于等于3 mm)、鍵槽等,掃描零件的外輪廓,從形狀上對(duì)各類零件進(jìn)行拆分,最終分解成若干個(gè)平面體、回轉(zhuǎn)體和曲面體。零件拆分的依據(jù)是臺(tái)階面,當(dāng)零件同一方向相鄰兩個(gè)面之間不是光滑連接,或在三維實(shí)體造型中不屬于同一特征,或加工時(shí)無(wú)法在同一工步中進(jìn)行加工,則稱這一連接面為臺(tái)階面。當(dāng)零件含有臺(tái)階面時(shí),則在臺(tái)階面處對(duì)零件進(jìn)行拆分直到?jīng)]有臺(tái)階面為止,得到的每一段稱為一個(gè)單一型體。如圖 1所示,將零件在臺(tái)階面處進(jìn)行拆分,拆分后得到若干單一型體。針對(duì)拆分后的三維模型表面輪廓(暫不考慮模型內(nèi)形),將單一型體分為平面體、回轉(zhuǎn)體和曲面體。若拆分后的某單一型體表面只包含平面(倒角、倒圓不算),則稱該單一型體為平面體,如圖2(a)所示;若拆分后的某單一型體表面為圓柱面、圓錐面或球面,則稱該單一型體為回轉(zhuǎn)體,如圖2(b)所示;若拆分后的某單一型體由曲面和平面共同構(gòu)成,則稱該單一型體為曲面體,如圖2(c)所示。機(jī)械零件三維模型庫(kù)的組織首先按照四大類零件,即軸套類、盤蓋類、叉架類和箱體類分類存儲(chǔ),每一類零件的每個(gè)三維模型又被拆分為若干單一型體進(jìn)行存儲(chǔ)。機(jī)械零件三維模型庫(kù)的組織如圖3所示。
圖1 三維模型拆分示意圖
圖2 單一型體示例圖
圖3 機(jī)械零件三維模型庫(kù)
1.2 基于拆分的機(jī)械零件三維模型表示
如上所述,每一個(gè)機(jī)械零件三維模型最終被拆分為若干個(gè)平面體、回轉(zhuǎn)體和曲面體,因此模型的表示就細(xì)化為對(duì)每一種單一型體的表示。
對(duì)于平面體,即外表面由若干平面構(gòu)成的幾何體。每個(gè)平面體由若干特征來(lái)表示。根據(jù)機(jī)械零件的形狀特點(diǎn)和加工工藝,平面體的特征包括:平面特征,其特征參數(shù)為平面的厚度和面積;孔特征,進(jìn)一步細(xì)分為通孔、階梯通孔、矩形陣列通孔、圓周陣列通孔、盲孔、矩形陣列盲孔、圓周陣列盲孔、螺紋通孔、矩形陣列螺紋通孔、圓周陣列螺母通孔、螺紋盲孔、矩形陣列螺紋盲孔,圓周陣列螺紋盲孔,其特征參數(shù)為孔的直徑和深度等;槽特征,細(xì)分為鍵槽、矩形槽、半圓槽等,其特征參數(shù)為槽的面積和深度;凸臺(tái)特征,其參數(shù)為凸臺(tái)形狀、凸臺(tái)面積和凸臺(tái)高度;圓角特征,其特征參數(shù)為圓角半徑;筋板特征,其特征參數(shù)為筋板厚度。孔特征、槽特征、凸臺(tái)特征、圓角特征、筋板特征等均依附于某一平面。
對(duì)于回轉(zhuǎn)體,細(xì)分為圓柱回轉(zhuǎn)體,其特征參數(shù)為圓柱長(zhǎng)度和直徑之比;圓錐回轉(zhuǎn)體,其特征參數(shù)為圓錐大端直徑減去小端直徑的差比錐面高度;球體為球面積?;剞D(zhuǎn)體上的孔特征、槽特征等的表示同平面體。
對(duì)于曲面體,可以看成由曲面和平面構(gòu)成。曲面通過(guò)曲面面積和曲率來(lái)表示,平面用面積來(lái)表示。曲面體表面的特征,如孔、槽、凸臺(tái)等表示同平面體。
相似的零件一般都屬于同類零件,故為了縮小檢索范圍,加快檢索速度,機(jī)械零件三維模型的檢索在同一類模型中進(jìn)行,即在軸套類、盤蓋類、叉架類和箱體類四大類子模型庫(kù)之一中進(jìn)行。對(duì)于同類的兩個(gè)模型,首先進(jìn)行單一型體之間的匹配度計(jì)算,之后進(jìn)行整個(gè)模型的綜合匹配檢索。
2.1 單一型體的匹配度計(jì)算
2.1.1 平面體的匹配度
平面體的表面由若干個(gè)平面組成。設(shè)新模型中的某一平面體Pi中含有v個(gè)平面(Pi1,Pi2,Pi3,…,Piv),模型庫(kù)中某一模型包含一Pj平面體,其有w個(gè)平面(Pj1,Pj2,Pj3,…,Pjw),搜索 min(v,w)對(duì)平面匹配對(duì),作為計(jì)算兩平面體相似度的基礎(chǔ)。
將新平面體 Pi的每個(gè)平面與模型庫(kù)中平面體Pj的每個(gè)平面兩兩匹配,可以組成 v×w個(gè)平面對(duì)((Pi1,Pj1),(Pi1,Pj2),…,(Pid,Pje),…,(Piv,Pjw))。根據(jù)每個(gè)平面上特征的個(gè)數(shù),采用歐式距離計(jì)算每一對(duì)平面的相似度,計(jì)算公式如下[7]:
然后將 v×w個(gè)平面對(duì)按匹配度的大小排列,選取相似度值最大且平面不重復(fù)出現(xiàn)的min(v,w)對(duì)平面匹配對(duì)。在得到的平面匹配對(duì)的基礎(chǔ)上,進(jìn)一步根據(jù)特征參數(shù)的匹配計(jì)算平面對(duì)的相似度。
設(shè)平面Pid和平面Pje是通過(guò)式(1)計(jì)算找到的平面匹配對(duì),僅在這兩個(gè)平面上搜索特征對(duì)。同種特征進(jìn)行匹配,不同種特征不匹配。若平面Pid上有某種特征且數(shù)量是a,平面Pje上也有該種特征且數(shù)量是b,則首先兩兩特征組合,組合成(a×b)對(duì)特征對(duì),每對(duì)特征相似度的值按式(2)確定。之后,將(a×b)的個(gè)值從高到低排列,選出相似度最大且特征不重復(fù)出現(xiàn)的 min(a,b)個(gè)值,即找到min(a,b)對(duì)特征匹配對(duì)。
計(jì)算完平面Pid和Pje上所有特征匹配對(duì)的相似度值之后,則平面Pid和Pje的相似度更新為式(4):
通過(guò)式(4)的計(jì)算,得到min(v,w)對(duì)平面匹配對(duì)的相似度值,則兩個(gè)平面體Pi和Pj的相似度值由式(5)計(jì)算。
式中, Pi,j為兩個(gè)平面體Pi和Pj的相似度值;為通過(guò)式(4)計(jì)算得到的平面匹配對(duì)(Pid,Pje)的相似度值,v是平面體Pi的平面?zhèn)€數(shù);w是平面體Pj的平面?zhèn)€數(shù)。
2.1.2 回轉(zhuǎn)體的匹配度
兩回轉(zhuǎn)體匹配度的計(jì)算由兩回轉(zhuǎn)面的相似度、回轉(zhuǎn)面上特征匹配對(duì)的相似度、平面(指回轉(zhuǎn)體兩端面,對(duì)于完整球面沒(méi)有平面則不要此項(xiàng))的相似度來(lái)確定。
式中,Hi,j為兩個(gè)回轉(zhuǎn)體Hi和Hj的相似度值;為兩回轉(zhuǎn)面的相似度值,為回轉(zhuǎn)面上某一特征對(duì)的相似度值,a是回轉(zhuǎn)體 Hi回轉(zhuǎn)面上特征的個(gè)數(shù),b是回轉(zhuǎn)體Hj回轉(zhuǎn)面上特征的個(gè)數(shù);為某一平面對(duì)的相似度值,c是回轉(zhuǎn)體Hi平面的個(gè)數(shù),d是回轉(zhuǎn)體Hj平面的個(gè)數(shù)。
2.1.3 曲面體的匹配度
兩曲面體的匹配度由曲面的相似度和平面的相似度來(lái)決定。
若曲面體Qi含有a′個(gè)曲面,曲面體Qj含有b′個(gè)曲面,則存在min(a′,b′)個(gè)曲面匹配對(duì)。類似于搜索平面匹配對(duì),首先任意兩曲面組成(a′×b′)個(gè)曲面對(duì),用公式(8)一一計(jì)算,然后從高到低排列,選取相似度值最大且曲面不重復(fù)出現(xiàn)的min(a′,b′)個(gè)匹配對(duì)。
式(9)中,iS是曲面體Qi中某一曲面的面積,jS是曲面體Qj中某一曲面的面積,iρ為曲面體Qi中相應(yīng)曲面的曲率,jρ為曲面體 Qj中相應(yīng)曲面的曲率。
則兩曲面體Qi和Qj的相似度由式(10)計(jì)算:
式中,,ijQ 為兩個(gè)曲面體Qi和Qj的相似度值為曲面匹配對(duì)的相似度值,a′是曲面體 Qi曲面的個(gè)數(shù),b′是曲面體 Qj曲面的個(gè)數(shù);為平面匹配對(duì)的相似度值,c′是曲面體 Qi平面的個(gè)數(shù),d′是曲面體Qj平面的個(gè)數(shù)。
2.2 機(jī)械零件三維模型的相似度
如1.1節(jié)所述,首先根據(jù)零件名稱和功能,將每一機(jī)械零件三維模型劃歸為軸套類、盤蓋類、叉架類和箱體類四個(gè)子模型庫(kù)之一中,兩三維模型的相似度計(jì)算是在同一子模型庫(kù)間進(jìn)行,不同子模型庫(kù)之間不進(jìn)行相似度匹配。
設(shè)新模型包含r個(gè)平面體(P1,P2,…,Pr)、s個(gè)回轉(zhuǎn)體(H1,H2,…,Hs)和t個(gè)曲面體(Q1,Q2,…,Qt),模型庫(kù)中某一舊模型包含 r′個(gè)平面體(P1,P2,…,Pr′)、s′個(gè)回轉(zhuǎn)體(H1,H2,…,Hs′)和t′個(gè)曲面體(Q1,Q2,…,Qt′),匹配計(jì)算的基本原則是同種單一型體之間進(jìn)行匹配,不同種單一型體之間不匹配。
新模型的r個(gè)平面體(P1,P2,…,Pr)和舊模型的r′個(gè)平面體(P1,P2,…,Pr′)兩兩組成r×r′對(duì)平面體匹配對(duì),每一對(duì)均按照2.1.1節(jié)所述平面體的匹配度計(jì)算公式進(jìn)行計(jì)算,將r×r′個(gè)值從高到低排列,選出相似度最大且平面體不能重復(fù)出現(xiàn)的min(r,r′)對(duì)平面體匹配對(duì)。同理根據(jù)2.1.2節(jié)所述選出min(s,s′)對(duì)回轉(zhuǎn)體匹配對(duì),根據(jù)2.1.3節(jié)所述選出 min(t,t′)對(duì)曲面體匹配對(duì),則新舊兩個(gè)模型的相似度為:
式中, SN,O為新舊兩個(gè)機(jī)械零件三維模型的相似度值;為平面體匹配對(duì)相似度值,按式(5)計(jì)算,r為新模型平面體的個(gè)數(shù),r′為舊模型平面體的個(gè)數(shù);為回轉(zhuǎn)體匹配對(duì)相似度值,按式(7)計(jì)算,s為新模型回轉(zhuǎn)體的個(gè)數(shù),s′為舊模型回轉(zhuǎn)體的個(gè)數(shù);為曲面體匹配對(duì)相似度值,按式(10)計(jì)算,t為新模型曲面體的個(gè)數(shù),t′為舊模型曲面體的個(gè)數(shù)。
據(jù)式(11)可以計(jì)算出新零件模型與模型庫(kù)中每一模型間的相似度。計(jì)算出的相似度值越高,說(shuō)明模型庫(kù)中該零件在幾何形體上及工藝上與新零件越為相似,進(jìn)而可以參照模型庫(kù)中的相似模型進(jìn)行新零件模型的工藝設(shè)計(jì);也可將得到的相似度從高到低進(jìn)行排序,根據(jù)需求選取滿足條件的機(jī)械零件模型。
現(xiàn)有一個(gè)新機(jī)械零件三維模型(如圖4)需要進(jìn)行工藝設(shè)計(jì),該零件為箱體類零件,故在模型庫(kù)箱體類零件中按照本文所述方法進(jìn)行搜索,找到相似三維零件模型,作為工藝設(shè)計(jì)參考。將新零件進(jìn)行拆分,拆分結(jié)果也顯示在圖4中,共得到6個(gè)單一型體,如圖 4中(1)~(6)所示,其中(6)為平面體,(1)~(4)為回轉(zhuǎn)體,(5)為曲面體。表 1中有模型庫(kù)箱體類零件其中20個(gè)三維模型的示例,依次拆分后,按照式(11)進(jìn)行相似度計(jì)算,與新零件模型的相似度值計(jì)算結(jié)果顯示在表1中。
很顯然,新零件的三維模型與 006號(hào)和 008號(hào)零件三維模型的相似度較高,因此,可以參考這兩個(gè)零件的工藝加工方案來(lái)制定新零件的加工工藝。
圖4 新零件三維模型及其拆分圖
表1 模型庫(kù)中部分零件及其與新零件的相似度值
本文提出了一種基于形狀拆分的機(jī)械零件三維模型檢索方法。該方法根據(jù)機(jī)械零件的形狀特點(diǎn)和加工工藝,在傳統(tǒng)的機(jī)械零件分類的基礎(chǔ)上,進(jìn)一步將整個(gè)三維模型拆分成若干平面體、回轉(zhuǎn)體和曲面體,每一型體稱為單一型體,隨后根據(jù)同一型體之間特征數(shù)量和參數(shù)的不同,進(jìn)行單一型體之間的匹配,最后再根據(jù)單一型體的數(shù)量和匹配對(duì),綜合計(jì)算整個(gè)模型的相似度。該方法計(jì)算簡(jiǎn)便,編程容易實(shí)現(xiàn),可以快速準(zhǔn)確地進(jìn)行零件三維模型之間的匹配,并且由于單一型體的劃分和特征的分類出發(fā)點(diǎn)都是形狀相似、工藝相近,因此,利用匹配的結(jié)果可以參考工藝設(shè)計(jì)。然而有些零件形狀非常復(fù)雜,使得拆分較困難,而且拆分后可能破壞形狀的完整形,因此要使本方法具有更廣泛的適應(yīng)性,還需后續(xù)更深入地研究。
[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]王家樂(lè), 姜 波, 黃逸民. 機(jī)械零件模型局部形狀相似性檢索算法研究[J]. 中國(guó)機(jī)械工程, 2012, 23(11):1293-1296, 1301.
[6]董 雁, 徐 靜. 基于裝配結(jié)構(gòu)相似的零件三維模型檢索方法[J]. 機(jī)械工程學(xué)報(bào), 2009, 45(4): 273-280.
[7]朱文博, 李愛(ài)平, 劉雪梅. 基于工藝相似的沖壓件實(shí)例檢索方法[J]. 計(jì)算機(jī)集成制造系統(tǒng), 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
上海市教育委員會(huì)科研創(chuàng)新一般資助項(xiàng)目(13YZ071);國(guó)家自然科學(xué)基金資助項(xiàng)目(51375314)
朱文博(1973-),女,山東寧陽(yáng)人,副教授,博士。主要研究方向?yàn)榛谥R(shí)的工程研究。E-mail:teacherzwb@163.com