燕 哲 董玉德 何金鑫 貴興鋒 陶高周
1.合肥工業(yè)大學(xué)機(jī)械工程學(xué)院,合肥,2300092.陽(yáng)光電源有限公司中央研究院,合肥,230088
三維標(biāo)注技術(shù)日趨成熟,已逐漸被應(yīng)用于零件的設(shè)計(jì)流程?,F(xiàn)有的三維標(biāo)注系統(tǒng)多以組合視圖為基礎(chǔ),通過(guò)對(duì)標(biāo)注進(jìn)行分類(lèi)管理來(lái)解決“刺猬現(xiàn)象”,這導(dǎo)致三維尺寸完備性檢驗(yàn)更為復(fù)雜。尺寸標(biāo)注的完備性檢驗(yàn)就是檢查零件模型是否存在冗余尺寸、是否缺失尺寸。零件越復(fù)雜,尺寸標(biāo)注的數(shù)目越多,人工檢查的難度就越大[1-4],因此,國(guó)內(nèi)外眾多學(xué)者對(duì)三維尺寸標(biāo)注的完備性檢驗(yàn)進(jìn)行了相關(guān)研究。
尤炎炎等[5-6]對(duì)尺寸數(shù)據(jù)進(jìn)行預(yù)處理,構(gòu)建關(guān)于尺寸節(jié)點(diǎn)的鄰接矩陣,再以該鄰接矩陣進(jìn)行尺寸冗余和缺失判斷。羅磊等[7]提出一種基于參數(shù)化建模映射關(guān)系的尺寸完備性檢驗(yàn)算法,以牛頓迭代法求解映射矩陣,以化簡(jiǎn)后的映射矩陣進(jìn)行完備性分析。無(wú)論是創(chuàng)建鄰接矩陣還是映射矩陣,當(dāng)模型復(fù)雜導(dǎo)致特征過(guò)多時(shí),矩陣的階數(shù)會(huì)變大,使計(jì)算過(guò)程緩慢甚至難以實(shí)現(xiàn)完備性檢驗(yàn)。
程亞龍等[8-11]引入定位元的概念,提出一種基于剛性體識(shí)別的三維尺寸完備性檢驗(yàn)方法,將循環(huán)約束問(wèn)題轉(zhuǎn)化為剛性體的識(shí)別問(wèn)題。劉金鋒等[12-13]提出基于尺寸標(biāo)注元素優(yōu)先級(jí)的定形尺寸規(guī)范化處理方法和基于特征約束的定位尺寸完備性檢驗(yàn)方法。但這兩種思路均未考慮三維尺寸中可能出現(xiàn)的等價(jià)尺寸情況,尺寸的冗余性判斷不夠完整。
付超凡等[14-15]基于集合約束傳播進(jìn)行尺寸完備性檢驗(yàn),以幾何要素約束模型,并以尺寸信息模型為主要數(shù)據(jù)得到尺寸冗余和尺寸缺失信息??到艿萚16]通過(guò)模糊聚類(lèi)學(xué)習(xí),對(duì)標(biāo)注結(jié)果進(jìn)行結(jié)構(gòu)約束和完備性檢測(cè)。這兩種檢驗(yàn)方法無(wú)法實(shí)現(xiàn)尺寸鏈冗余情況的判斷。
綜上所述,目前眾多學(xué)者關(guān)于三維標(biāo)注完備性檢驗(yàn)還存在以下不足:①大部分檢驗(yàn)算法只適用于簡(jiǎn)單零件,當(dāng)模型復(fù)雜時(shí),尤其是基于特征矩陣實(shí)現(xiàn)完備性檢驗(yàn)的算法,其效率極低;②冗余性檢驗(yàn)未能實(shí)現(xiàn)對(duì)等價(jià)冗余尺寸和尺寸鏈冗余兩種情況的完全檢驗(yàn);③目前所有完備性檢驗(yàn)算法均在標(biāo)注完成后進(jìn)行,但若在標(biāo)注過(guò)程中進(jìn)行冗余性檢驗(yàn),標(biāo)注效率更高。
因此,本文提出等價(jià)尺寸集和等價(jià)節(jié)點(diǎn)的概念;基于自研三維標(biāo)注系統(tǒng),在尺寸創(chuàng)建過(guò)程中實(shí)現(xiàn)三維尺寸的冗余性檢驗(yàn);基于面特征的完全約束判斷,將尺寸缺失檢查轉(zhuǎn)換為面特征約束檢查。
三維標(biāo)注過(guò)程中會(huì)出現(xiàn)多個(gè)標(biāo)注表示同一約束的情況,降低了三維標(biāo)注的可閱讀性和嚴(yán)謹(jǐn)性,因此,本文定義表示同一約束的尺寸互為等價(jià)尺寸,它構(gòu)成的集合為等價(jià)尺寸集。下面分析每一種類(lèi)型尺寸可能存在的等價(jià)尺寸。
1.1.1直線類(lèi)型尺寸
當(dāng)創(chuàng)建尺寸的幾何元素只包含一條直線時(shí),創(chuàng)建類(lèi)型一定為距離尺寸。如圖1所示,L1為選中的一條直線,對(duì)于以L1為參考所創(chuàng)建的距離尺寸,存在的等價(jià)類(lèi)型(集合中所有元素應(yīng)與L1相鄰)包括直線-直線{L2-L3,L4-L5,…}、直線{L6,L7,…}、平面-平面{S1-S2,…}、直線-平面{L2-S2,L3-S1,…}。
(1)直線-直線:以L2-L3為例,判斷L2、L3是否均垂直于L1,若滿(mǎn)足則判斷L1、L2、L3是否共面。
圖1 直線
(2)直線:以L6為例,判斷L6是否為L(zhǎng)2、L3除L1以外的另一個(gè)公共鄰近邊,若滿(mǎn)足則判斷L6是否與L1平行且等長(zhǎng)。
(3)平面-平面:以S1-S2為例,判斷S1、S2是否均垂直于L1。
(4)直線-平面:以L2-S2為例,判斷L2、S2是否均垂直于L1。
1.1.2直線-直線類(lèi)型尺寸
當(dāng)創(chuàng)建尺寸的幾何元素包含兩條直線時(shí),如圖2所示,創(chuàng)建類(lèi)型可能為距離尺寸或角度尺寸(排除兩直線異面的非法情況)。求解該類(lèi)型尺寸的等價(jià)尺寸,需先判斷兩直線是否有重合的鄰近面,若沒(méi)有則不存在等價(jià)尺寸集。
圖2 直線-直線
當(dāng)直線-直線平行時(shí),如圖2中L2-L3,創(chuàng)建類(lèi)型為距離尺寸,存在的等價(jià)類(lèi)型(集合中所有元素應(yīng)與L2或L3相鄰)包括直線{L1,L6,L7,…}、面-面{S1-S2,…}、直線-平面{L2-S2,L3-S1,…}。
(1)直線:以L1為例,判斷L1是否在S3上,若滿(mǎn)足則判斷L1與L2是否垂直。
(2)平面-平面:以S1-S2為例,判斷S1、S2的法向量是否均與L2的方向向量垂直。
(3)直線-平面:以L2-S2為例,判斷S1-S2是否等價(jià)于L2-L3,若滿(mǎn)足則判斷L2的方向向量與S2的法向量是否垂直。
當(dāng)直線-直線相交時(shí),如圖2中L2-L6,創(chuàng)建類(lèi)型為角度尺寸,存在的等價(jià)類(lèi)型(集合中所有元素應(yīng)與L2或L6相鄰)包括平面-平面{S1-S5,…}、直線-平面{L2-S5,L6-S1,…}。
(1)平面-平面:以S1-S5為例,判斷S1、S5的夾角是否與L2和L6的夾角相同。
(2)直線-平面:以L2-S5為例,判斷S1-S5是否等價(jià)于L2-L6,若滿(mǎn)足則判斷L2、S5的夾角是否與L2、L6的夾角相同。
1.1.3直線-平面類(lèi)型尺寸
當(dāng)創(chuàng)建尺寸的幾何元素包含一條直線和一個(gè)平面時(shí),如圖3所示,創(chuàng)建類(lèi)型可能為距離尺寸或角度尺寸。
圖3 直線-平面
當(dāng)直線-平面平行時(shí),如圖3中L2-S2,為距離尺寸,存在的等價(jià)類(lèi)型(集合中所有元素應(yīng)與L2或S2相鄰)包括直線-直線{L2-L3,…}、平面-平面{S1-S2,…}。
(1)直線-直線:以L2-L3為例,判斷L2、L3是否平行,若滿(mǎn)足則判斷L2到L3的距離是否與L2到S2的距離相同。
(2)平面-平面:以S1-S2為例,判斷S1、S2是否平行,若滿(mǎn)足則判斷S1到S2的距離是否與L2到S2的距離相同。
當(dāng)直線-平面相交時(shí),如圖3中L1-S1,創(chuàng)建類(lèi)型為角度尺寸,存在的等價(jià)類(lèi)型(集合中所有元素應(yīng)與L1或S1相鄰)包括直線-直線{L1-L2,L1-L4,…}、平面-平面{S1-S4,…}。
(1)直線-直線:以L1-L4為例,判斷L4是否屬于S1,若滿(mǎn)足則判斷L1、L4的夾角是否與L1、S1的夾角相同。
(2)平面-平面:以S1-S4為例,判斷S4是否包含L1,若滿(mǎn)足則判斷S1、S4的夾角是否與L1、S1的夾角相等。
1.1.4平面-平面類(lèi)型尺寸
當(dāng)創(chuàng)建尺寸的幾何元素包含兩個(gè)平面時(shí),如圖4所示,創(chuàng)建類(lèi)型可能為距離尺寸或角度尺寸。
圖4 平面-平面
當(dāng)平面-平面平行時(shí),如圖4中S1-S2,創(chuàng)建類(lèi)型為距離尺寸,存在的等價(jià)類(lèi)型(集合中所有元素應(yīng)與S1或S2相鄰)包括直線-直線{L2-L3,L4-L5,…}、直線{L1,L6,…}、直線-平面{L2-S2,L3-S1,…}。
(1)直線-直線:以L2-L3為例,判斷L2、L3是否有公共的鄰近面S3,若滿(mǎn)足則判斷L2、L3是否平行。
(2)直線:以L1為例,判斷L2-L3或L4-L5是否等價(jià)于S1-S2,若滿(mǎn)足則判斷L1是否在L2、L3的重合面S3上且L1是否垂直于L2。
(3)直線-平面:以L2-S2為例,判斷L2是否與S2平行。
當(dāng)平面-平面相交時(shí),如圖4中S1-S3,創(chuàng)建類(lèi)型為角度尺寸,存在的等價(jià)類(lèi)型(集合中所有元素應(yīng)與S1或S3相鄰)包括直線-直線{L1-L4,…}、直線-平面{L1-S1,L4-S3,…}。
(1)直線-直線:以L1-L4為例,判斷L1、L4是否有公共的鄰近面S4,若滿(mǎn)足則判斷L1、L4的夾角是否與S1、S3的夾角相等。
(2)直線-平面:以L1-S1為例,判斷L1、S1的夾角是否與S1、S3的夾角相等。
1.1.5圓弧類(lèi)型尺寸
當(dāng)創(chuàng)建尺寸的幾何元素包含圓弧時(shí),如圖5所示,可能的創(chuàng)建類(lèi)型包含圓弧(如arc1)、圓弧-平面(如arc1-S1)、圓弧-直線(如arc1-L1)、圓弧-圓弧(如arc1-arc2),上述尺寸的等價(jià)尺寸集僅包含本身。
三維標(biāo)注的尺寸鏈冗余檢驗(yàn)存在尺寸鏈中節(jié)點(diǎn)不重合的問(wèn)題,因此,本文將某一等價(jià)尺寸集中所有尺寸兩端元素分別抽象為兩個(gè)節(jié)點(diǎn),進(jìn)行信息存儲(chǔ),并定義該節(jié)點(diǎn)為等價(jià)節(jié)點(diǎn)。
一條尺寸鏈由若干距離型尺寸構(gòu)成,主要有直線、直線-直線、直線-平面、平面-平面、圓弧-圓弧、圓弧-直線、圓弧-平面。上述距離型尺寸均由兩端幾何元素進(jìn)行約束,約束元素包括點(diǎn)、直線、平面、圓弧。如圖6所示,將元素集合{P1,P2,P3,P4,L1,L2,L3,L4,S1}抽象為節(jié)點(diǎn)N2,集合{P′1,P′2,P′3,P′4,L′1,L′2,L′3,L′4,S′1}抽象為節(jié)點(diǎn)N1。
圖6 等價(jià)節(jié)點(diǎn)
圖7 尺寸冗余性檢驗(yàn)
尺寸冗余檢驗(yàn)的邏輯如圖7所示。首先判斷該尺寸的創(chuàng)建是否會(huì)造成等價(jià)尺寸冗余,若不存在等價(jià)尺寸,則判斷是否會(huì)導(dǎo)致尺寸鏈冗余,若尺寸創(chuàng)建未導(dǎo)致尺寸鏈冗余,則說(shuō)明該尺寸非冗余。
基于等價(jià)尺寸集進(jìn)行冗余尺寸檢驗(yàn)的邏輯如圖8所示。首先獲得創(chuàng)建尺寸所需幾何元素集中所有元素的標(biāo)識(shí)號(hào),并求得對(duì)應(yīng)key值。判斷該key值是否已經(jīng)存在,若存在則說(shuō)明該尺寸為等價(jià)冗余尺寸,若不存在則進(jìn)行等價(jià)尺寸集創(chuàng)建。
本文基于迭代思想創(chuàng)建等價(jià)尺寸集。首先將創(chuàng)建尺寸的初始幾何元素集加入棧中,然后每次獲得棧頂?shù)膸缀卧丶⒊鰲!R约现兴性氐臉?biāo)識(shí)號(hào)獲得對(duì)應(yīng)key值。若key值存在則進(jìn)行下一次判斷,否則記錄key值并判斷該幾何元素集是否屬于直線、直線-直線、直線-平面、平面-平面中的一種,若屬于則執(zhí)行上述等價(jià)尺寸的判斷邏輯,找出該尺寸對(duì)應(yīng)的所有等價(jià)尺寸的幾何元素集并壓入棧中。
圖9a為一軸類(lèi)零件三維標(biāo)注的示意圖?;谏鲜龅葍r(jià)節(jié)點(diǎn)的概念,將圖9a中的標(biāo)注約束元素抽象為若干等價(jià)節(jié)點(diǎn)集合,并按標(biāo)注間的約束關(guān)系構(gòu)建圖9b所示的無(wú)向圖。
基于無(wú)向圖進(jìn)行尺寸鏈的冗余檢驗(yàn),其檢驗(yàn)邏輯如圖10所示。首先獲得尺寸兩端約束所屬節(jié)點(diǎn)N1、N2,然后基于深度遍歷算法查找等價(jià)節(jié)點(diǎn)構(gòu)成的無(wú)向圖中以N1為起點(diǎn)的所有路徑,判斷是否存在經(jīng)過(guò)N2的路徑,若存在則該尺寸的創(chuàng)建會(huì)導(dǎo)致N1與N2形成閉環(huán),即尺寸鏈冗余。
尺寸標(biāo)注的目的是對(duì)模型中所有面特征進(jìn)行約束,因此,三維標(biāo)注的尺寸缺失檢驗(yàn)可以轉(zhuǎn)換為查找模型中未能完全約束的面特征。模型中需約束的面特征包括平面、圓柱面、圓錐面。
(a)標(biāo)注示意圖
(b)無(wú)向圖圖9 等價(jià)節(jié)點(diǎn)構(gòu)建無(wú)向圖
圖10 尺寸鏈冗余性檢驗(yàn)
對(duì)平面而言,通過(guò)判斷該平面是否屬于某個(gè)等價(jià)節(jié)點(diǎn)來(lái)判斷是否已被約束。如圖11a所示,完全約束一個(gè)圓柱面,需要約束圓柱的高和半徑。高為距離尺寸,可以判斷是否存在某等價(jià)尺寸集包含以下尺寸:arc1-arc2、S1-S2、arc1-S2、arc2-S1。圓柱半徑是否被約束只需判斷是否有某等價(jià)尺寸集包含arc1或arc2。若高和半徑均被約束,則該圓柱面被完全約束。如圖11b所示,完全約束一個(gè)圓錐面,相比于圓柱面需再判斷其是否已被標(biāo)注錐度尺寸,即錐角是否被約束。
(a)圓柱面
(b)圓錐面圖11 約束判斷
尺寸缺失檢驗(yàn)的邏輯如圖12所示。首先,基于深度遍歷算法獲得模型所有面特征,然后根據(jù)每個(gè)面特征的類(lèi)型逐個(gè)判斷該面是否已被完全約束,若未被完全約束則將該面特征高亮顯示。
圖12 尺寸缺失檢驗(yàn)
目前,國(guó)內(nèi)外學(xué)者研究的三維標(biāo)注系統(tǒng)多以對(duì)話(huà)框的嵌套調(diào)用實(shí)現(xiàn),且未包含尺寸完備性檢驗(yàn)功能,導(dǎo)致三維標(biāo)注的效率較低[17-19]。如圖13所示,本文三維標(biāo)注系統(tǒng)以?xún)x表盤(pán)為框架進(jìn)行設(shè)計(jì),避免了對(duì)話(huà)框的冗余嵌套帶來(lái)效率損失。本文設(shè)計(jì)了兩個(gè)版本的三維標(biāo)注系統(tǒng),如表1所示?!霸到y(tǒng)”未包含尺寸完備性檢驗(yàn)功能,“改進(jìn)系統(tǒng)”中實(shí)現(xiàn)了本文所提出的尺寸完備性檢驗(yàn)算法。對(duì)某裝配體中具有不同特征的多個(gè)零件模型進(jìn)行測(cè)試,測(cè)試結(jié)果表明,在標(biāo)注過(guò)程中執(zhí)行尺寸冗余性檢查能夠提高標(biāo)注的整體效率。由表1可知,改進(jìn)系統(tǒng)標(biāo)注效率最高提高了25%,最低提高17%。因?yàn)槟P驮綇?fù)雜在標(biāo)注過(guò)程中出現(xiàn)尺寸冗余的可能性越大,則效率提高也就越多。
圖13 標(biāo)注示例
表1 標(biāo)注效率對(duì)比表
如圖13所示,對(duì)“8ld_287_1003_model_.prt”零件在標(biāo)注系統(tǒng)中基于尺寸功能進(jìn)行標(biāo)注。為提高標(biāo)注的可閱讀性,以“視圖1”、“視圖2”兩個(gè)組合視圖對(duì)標(biāo)注進(jìn)行分類(lèi)管理?!耙晥D1”的標(biāo)注效果如圖13所示,“視圖2”的標(biāo)注效果如圖14所示,此時(shí)零件的多個(gè)面特征已被約束。
(a)等價(jià)尺寸冗余
如圖14所示,對(duì)該零件進(jìn)行尺寸冗余創(chuàng)建測(cè)試,圖中高亮幾何元素為創(chuàng)建尺寸所選元素。圖14a所示為等價(jià)尺寸冗余,此時(shí)創(chuàng)建尺寸所選元素集已存在于某等價(jià)尺寸集中,因此程序判斷為等價(jià)尺寸冗余,并彈出對(duì)話(huà)框提醒。圖14b所示為尺寸鏈冗余,此時(shí)創(chuàng)建尺寸所選兩元素對(duì)應(yīng)等價(jià)節(jié)點(diǎn)間已存在一條路徑,因此程序判斷為尺寸鏈冗余。
如圖15所示,對(duì)該零件進(jìn)行尺寸缺失檢驗(yàn)。程序?qū)α慵兴忻嫣卣鬟M(jìn)行約束檢驗(yàn),將其中未被完全約束的面特征高亮顯示,并彈出對(duì)話(huà)框指出未被約束的面特征個(gè)數(shù)及其標(biāo)識(shí)號(hào)。
由測(cè)試結(jié)果可看出,本文算法能夠在尺寸創(chuàng)建過(guò)程中避免等價(jià)尺寸冗余和尺寸鏈冗余;在標(biāo)注完成后,可進(jìn)行尺寸缺失檢驗(yàn),對(duì)缺失約束的面特征進(jìn)行高亮提示。檢驗(yàn)結(jié)果正確,驗(yàn)證了該算法的正確性和有效性。
(1)提出等價(jià)尺寸集與等價(jià)節(jié)點(diǎn)的概念,以等價(jià)節(jié)點(diǎn)構(gòu)建無(wú)向圖替代鄰接矩陣,可實(shí)現(xiàn)對(duì)復(fù)雜模型的完備性檢驗(yàn)。
(2)基于CREO軟件中的自研三維標(biāo)注系統(tǒng)實(shí)現(xiàn)了在尺寸標(biāo)注過(guò)程中進(jìn)行等價(jià)尺寸冗余和尺寸鏈冗余的檢驗(yàn),相比于標(biāo)注完成后檢驗(yàn),效率明顯提高。
(3)提出各類(lèi)型面特征的約束判斷條件,將尺寸缺失檢驗(yàn)轉(zhuǎn)化為面特征約束檢驗(yàn)。實(shí)例測(cè)試結(jié)果表明,該算法能夠正確檢查出三維尺寸標(biāo)注存在的尺寸冗余和尺寸缺失。
(4)目前,本文算法未能實(shí)現(xiàn)對(duì)螺紋、齒輪等由標(biāo)準(zhǔn)參數(shù)形成的特征以及樣條曲面特征的尺寸缺失判斷。由于各類(lèi)螺紋的標(biāo)注組成不同,故需對(duì)不同類(lèi)型螺紋執(zhí)行不同邏輯的尺寸缺失檢驗(yàn);齒輪特征需結(jié)合模型本身標(biāo)注及齒輪參數(shù)表進(jìn)行尺寸缺失的判斷;樣條曲面特征的尺寸缺失檢驗(yàn)需對(duì)放樣點(diǎn)距離約束、每段曲線的曲率以及角度約束進(jìn)行綜合判斷。由此可見(jiàn),這些方面有待進(jìn)一步研究。