耿維忠,于江饒,焦躍軍
(新鄉(xiāng)學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,河南 新鄉(xiāng) 453003)
CAD模型復(fù)雜化與計(jì)算機(jī)系統(tǒng)間的矛盾日益凸顯,其直接影響CAX無(wú)縫集成。面向領(lǐng)域需求的CAD模型簡(jiǎn)化是促進(jìn)CAX集成的關(guān)鍵技術(shù)之一[1],在產(chǎn)品CAPP中,采用基于工藝知識(shí)驅(qū)動(dòng)模型簡(jiǎn)化方法,抑制后續(xù)工序加工體,實(shí)現(xiàn)工序模型幾何演變建模[2,3]。在三維場(chǎng)景構(gòu)建中,保證視覺(jué)效果,簡(jiǎn)化細(xì)節(jié)特征,有效降低模型復(fù)雜度,是提高分析和渲染效率的關(guān)鍵[4]。因此,模型簡(jiǎn)化始終是CAD領(lǐng)域的研究熱點(diǎn)問(wèn)題之一[5]。
現(xiàn)有模型簡(jiǎn)化研究主要面向網(wǎng)格模型、B-rep和CSG模型等三維模型,國(guó)內(nèi)外學(xué)者提出了諸多簡(jiǎn)化方法。網(wǎng)格模型簡(jiǎn)化根據(jù)簡(jiǎn)化目的識(shí)別并刪除簡(jiǎn)化區(qū)域的三角面片,并更新待簡(jiǎn)化區(qū)域拓?fù)浣Y(jié)構(gòu)。CAD網(wǎng)格模型的三角面片存在疏密不均、尺寸差異較大等特點(diǎn),其簡(jiǎn)化重構(gòu)存在拓?fù)洚悩?gòu)、模型工程語(yǔ)義丟失等問(wèn)題[6-8]。B-rep模型簡(jiǎn)化是以點(diǎn)、線(xiàn)和面等拓?fù)鋵?duì)象為數(shù)據(jù)對(duì)象,從B-rep模型中識(shí)別待簡(jiǎn)化區(qū)域,其相關(guān)研究主要集中在過(guò)渡特征抑制和多分辨率建模方面。孫銳等[9,10]認(rèn)為過(guò)渡特征抑制是過(guò)渡特征生成的逆操作,提出了基于體重構(gòu)的過(guò)渡特征抑制算法,又根據(jù)過(guò)渡特征抑制是否刪除拓?fù)浼膺咁A(yù)測(cè)模型拓?fù)渥兓?,并?jù)此提出一種相交過(guò)渡特征的抑制算法。程亞龍等[11]提出了一種面向設(shè)備加工能力的過(guò)渡特征抑制方法,該方法根據(jù)主加工面識(shí)別過(guò)渡面,去識(shí)別和抑制過(guò)渡特征,并還原三維模型的初始結(jié)構(gòu)。Sun Rui[12]提出基于邊界環(huán)分解的多分辨率建模方法,該方法通過(guò)邊界環(huán)分解、修補(bǔ)面縫合等操作,實(shí)現(xiàn)B-rep模型的簡(jiǎn)化。CSG模型簡(jiǎn)化以體素為數(shù)據(jù)單元,識(shí)別并抑制帶簡(jiǎn)化數(shù)據(jù)單元。面向網(wǎng)絡(luò)協(xié)同設(shè)計(jì),Lee J.Y.等[13]以正特征構(gòu)成初始模型,采用細(xì)胞元表示凹特征,在初始模型中添加凹特征,以體積值為標(biāo)準(zhǔn)排序,通過(guò)改變特征歷史樹(shù)中的特征順序關(guān)系創(chuàng)建零件多層次分辨率模型。Lee K.Y.等[14]以細(xì)胞元的幾何尺寸為模型簡(jiǎn)化標(biāo)準(zhǔn),通過(guò)刪除小尺寸幾何特征、降維薄區(qū)域等操作實(shí)現(xiàn)模型簡(jiǎn)化。吳敏等[15]基于啟發(fā)性規(guī)則,根據(jù)以特征包圍盒體積表示特征的體積,通過(guò)體積簡(jiǎn)化閾值的制定,創(chuàng)建多分辨率的簡(jiǎn)化模型。
目前,特征CAD模型已廣泛應(yīng)用于商業(yè)CAX系統(tǒng),其含有拓?fù)湓?、設(shè)計(jì)特征和兩者的映射屬性。但是,現(xiàn)有模型簡(jiǎn)化研究都忽略了特征CAD的設(shè)計(jì)特征及其映射關(guān)系等高層信息,所提方法存在交互性差、工程語(yǔ)義模糊、復(fù)雜度偏高等問(wèn)題。本文提出一種高效的模型簡(jiǎn)化方法,充分挖掘CAD模型中拓?fù)湓睾驮O(shè)計(jì)特征中蘊(yùn)含的相關(guān)信息,實(shí)現(xiàn)CAD模型交互式快速簡(jiǎn)化。
由于特征CAD模型蘊(yùn)含有幾何拓?fù)渑c參數(shù)特征信息,為此,模型簡(jiǎn)化應(yīng)該充分挖掘特征信息,確保簡(jiǎn)化模型具有明確工程語(yǔ)義完整性。本文提出的高效CAD模型簡(jiǎn)化通過(guò)簡(jiǎn)化特征識(shí)別和模型重構(gòu)兩步實(shí)現(xiàn)。
簡(jiǎn)化特征識(shí)別是根據(jù)工程語(yǔ)義需求識(shí)別CAD模型中待簡(jiǎn)化特征?,F(xiàn)有研究采用閾值自動(dòng)識(shí)別、手工選定標(biāo)識(shí)或混合識(shí)別等方法,存在效率較低、交互性差等缺點(diǎn)。為此,提出基于特征映射的簡(jiǎn)化特征識(shí)別算法,挖掘B-rep的拓?fù)湓睾驮O(shè)計(jì)特征之間映射關(guān)系。其基本思想是:首先,交互選定待簡(jiǎn)化區(qū)域任一拓?fù)涿妫缓?,利用B-rep拓?fù)湓睾驮O(shè)計(jì)特征之間的映射關(guān)系識(shí)別待簡(jiǎn)化設(shè)計(jì)特征。具體步驟如下:
(1)選定待簡(jiǎn)化區(qū)域拓?fù)涿?,并獲取特征標(biāo)識(shí)Tf。
(2)遍歷CAD模型中設(shè)計(jì)特征,并執(zhí)行以下操作:①讀取設(shè)計(jì)特征Fi拓?fù)涿鏄?biāo)識(shí)si,并將其逐個(gè)保存至集合S;②遍歷集合S,若任一元素si匹配于Tf,則設(shè)計(jì)特征Fi為待簡(jiǎn)化特征;③保存設(shè)計(jì)特征Fi標(biāo)識(shí),構(gòu)造待簡(jiǎn)化特征集合SF={F1,F2,…,Fn}。
上述步驟通過(guò)交互選定簡(jiǎn)化區(qū)域拓?fù)涿?,利用拓?fù)涿婧驮O(shè)計(jì)特征之間映射關(guān)系,快速識(shí)別待簡(jiǎn)化特征。
特征CAD模型構(gòu)建是設(shè)計(jì)人員根據(jù)設(shè)計(jì)需求和規(guī)范添加設(shè)計(jì)特征的過(guò)程,CAD模型設(shè)計(jì)特征添加過(guò)程的不同,特征依賴(lài)關(guān)系也不同。下面給出CAD模型中設(shè)計(jì)特征的依賴(lài)關(guān)系定義,并給出相應(yīng)的CAD模型重構(gòu)算法。
1.2.1 特征依賴(lài)關(guān)系
根據(jù)CAD模型設(shè)計(jì)特征構(gòu)建過(guò)程及其構(gòu)建參考特征的不同,設(shè)計(jì)特征的依賴(lài)關(guān)系分為直接依賴(lài)、間接依賴(lài)和引用依賴(lài)三種類(lèi)型。
(1)直接依賴(lài)關(guān)系。定義:若設(shè)計(jì)特征Fj以Fi的拓?fù)湓貫閰⒖继卣?,則Fj直接依賴(lài)于Fi,記作Fi→Fj。如圖1所示,活塞頭模型的設(shè)計(jì)特征F1是F2和F3的參考特征,即兩者直接依賴(lài)于F1。
圖1 直接依賴(lài)關(guān)系
(2)間接依賴(lài)關(guān)系。定義:若設(shè)計(jì)特征Fi→Fj且Fj→Fk,則Fk間接依賴(lài)于Fi,記作Fi→…→Fk。如圖2所示,活塞頭模型的設(shè)計(jì)特征F1是F2的參考特征,同時(shí),F(xiàn)2是F3的參考特征,從而,F(xiàn)3間接依賴(lài)于F1。
圖2 間接依賴(lài)關(guān)系
如圖3所示,活塞頭密封圈卡槽的特征F2以設(shè)計(jì)特征F1為基特征,因此,F(xiàn)2引用依賴(lài)于F1。
圖3 引用依賴(lài)關(guān)系
1.2.2 CAD模型重構(gòu)
CAD模型重構(gòu)是抑制待簡(jiǎn)化特征集SF={F1,F2,…,Fn},其關(guān)鍵是保持特征依賴(lài)關(guān)系及CAD模型語(yǔ)義完整性?;舅枷胧牵罕闅v待簡(jiǎn)化特征集SF={F1,F2,…,Fn},并根據(jù)CAD模型中Fi的特征依賴(lài)關(guān)系選擇執(zhí)行操作。具體步驟如下:
(1)讀取Fi∈SF={F1,F2,…,Fn}(i=1,2,…,n)。
(2)若Fi沒(méi)有子特征,則直接刪除該特征。
(3)若Fi擁有子特征Fj,則執(zhí)行以下步驟:①讀取子特征Fj;②根據(jù)子特征Fj的特征依賴(lài)關(guān)系類(lèi)型選擇執(zhí)行任務(wù),若Fj直接依賴(lài)于Fi,且不再被其他特征所依賴(lài),則直接刪除Fj;若Fj間接依賴(lài)于Fi,且其中間特征Fk不是待簡(jiǎn)化特征,則提取Fk的構(gòu)建參數(shù),并重構(gòu)Fk;若Fj引用依賴(lài)于Fi,則直接刪除Fj;③從CAD模型中刪除Fi。其中,步驟②是算法關(guān)鍵,具體如下。
若設(shè)計(jì)特征間形成直接依賴(lài)關(guān)系,即F2和F3之間沒(méi)有特征依賴(lài)關(guān)系,如圖4(a)所示,則設(shè)計(jì)特征F2和F3均可直接刪除,如圖4(b)所示。
圖4 直接依賴(lài)關(guān)系模型重構(gòu)
若設(shè)計(jì)特征間形成間接依賴(lài)關(guān)系,即F3間接依賴(lài)于F1,如圖5(a)所示。F2是待刪除特征,為了保證CAD模型工程語(yǔ)義完整性,則首先以F1為參考特征重構(gòu)F3,再刪除F2,如圖5(b)所示。
圖5 間接依賴(lài)關(guān)系模型重構(gòu)
輸入異型管件特征CAD模型,簡(jiǎn)化目標(biāo)區(qū)域?yàn)榧訌?qiáng)筋,簡(jiǎn)化過(guò)程如下:
(1)選定待簡(jiǎn)化區(qū)域任一拓?fù)涿?,如圖6(a)所示。
(2)單擊“特征識(shí)別”按鈕,執(zhí)行特征映射,識(shí)別簡(jiǎn)化特征,如圖6(b)所示。
(3)簡(jiǎn)化特征是旋轉(zhuǎn)陣列特征,單擊“特征抑制”按鈕,簡(jiǎn)化區(qū)域被抑制,實(shí)現(xiàn)模型簡(jiǎn)化,如圖6(c)所示。
圖6 異形管件模型
輸入配電盒注塑模型的特征CAD模型,簡(jiǎn)化目標(biāo)區(qū)域是多組工藝凹槽,模型簡(jiǎn)化過(guò)程如下:
(1)選定多個(gè)待簡(jiǎn)化區(qū)域拓?fù)涿?,如圖7(a)所示。
(2)單擊“特征識(shí)別”按鈕,執(zhí)行特征映射,識(shí)別簡(jiǎn)化特征,如圖7(b)所示。
(3)簡(jiǎn)化特征包括兩組引用特征和一組間接引用特征,單擊“特征抑制”按鈕,簡(jiǎn)化區(qū)域被抑制,實(shí)現(xiàn)模型簡(jiǎn)化,如圖7(c)所示。
圖7 配電盒注塑模型
模型復(fù)雜度和算法執(zhí)行時(shí)間統(tǒng)計(jì)如表1所示。實(shí)驗(yàn)結(jié)果表明,所提方法以設(shè)計(jì)特征為單元實(shí)現(xiàn)CAD模型簡(jiǎn)化,具有以下優(yōu)點(diǎn):①算法執(zhí)行效率較高,且與B-rep模型復(fù)雜度無(wú)關(guān);②簡(jiǎn)化過(guò)程具有所見(jiàn)即所得特點(diǎn),交互性強(qiáng),操作語(yǔ)義明晰。
表1 模型復(fù)雜度和算法執(zhí)行時(shí)間
本文提出了一種基于特征映射的模型簡(jiǎn)化方法,該方法充分利用了特征CAD模型所蘊(yùn)含的拓?fù)涮卣餍畔ⅲ蓪?shí)現(xiàn)快速交互式簡(jiǎn)化。實(shí)驗(yàn)結(jié)果表明,本文方法具有簡(jiǎn)單高效、操作語(yǔ)義明晰等優(yōu)點(diǎn)。
本方法的局限性是:可能無(wú)法處理由不規(guī)范建模所創(chuàng)建的CAD模型,原因是此類(lèi)CAD模型設(shè)計(jì)特征依賴(lài)關(guān)系混亂。不規(guī)范CAD模型簡(jiǎn)化方法是后續(xù)研究?jī)?nèi)容。