耿維忠,于江饒,焦躍軍
(新鄉學院 計算機與信息工程學院,河南 新鄉 453003)
CAD模型復雜化與計算機系統間的矛盾日益凸顯,其直接影響CAX無縫集成。面向領域需求的CAD模型簡化是促進CAX集成的關鍵技術之一[1],在產品CAPP中,采用基于工藝知識驅動模型簡化方法,抑制后續工序加工體,實現工序模型幾何演變建模[2,3]。在三維場景構建中,保證視覺效果,簡化細節特征,有效降低模型復雜度,是提高分析和渲染效率的關鍵[4]。因此,模型簡化始終是CAD領域的研究熱點問題之一[5]。
現有模型簡化研究主要面向網格模型、B-rep和CSG模型等三維模型,國內外學者提出了諸多簡化方法。網格模型簡化根據簡化目的識別并刪除簡化區域的三角面片,并更新待簡化區域拓撲結構。CAD網格模型的三角面片存在疏密不均、尺寸差異較大等特點,其簡化重構存在拓撲異構、模型工程語義丟失等問題[6-8]。B-rep模型簡化是以點、線和面等拓撲對象為數據對象,從B-rep模型中識別待簡化區域,其相關研究主要集中在過渡特征抑制和多分辨率建模方面。孫銳等[9,10]認為過渡特征抑制是過渡特征生成的逆操作,提出了基于體重構的過渡特征抑制算法,又根據過渡特征抑制是否刪除拓撲尖邊預測模型拓撲變化,并據此提出一種相交過渡特征的抑制算法。程亞龍等[11]提出了一種面向設備加工能力的過渡特征抑制方法,該方法根據主加工面識別過渡面,去識別和抑制過渡特征,并還原三維模型的初始結構。Sun Rui[12]提出基于邊界環分解的多分辨率建模方法,該方法通過邊界環分解、修補面縫合等操作,實現B-rep模型的簡化。CSG模型簡化以體素為數據單元,識別并抑制帶簡化數據單元。面向網絡協同設計,Lee J.Y.等[13]以正特征構成初始模型,采用細胞元表示凹特征,在初始模型中添加凹特征,以體積值為標準排序,通過改變特征歷史樹中的特征順序關系創建零件多層次分辨率模型。Lee K.Y.等[14]以細胞元的幾何尺寸為模型簡化標準,通過刪除小尺寸幾何特征、降維薄區域等操作實現模型簡化。吳敏等[15]基于啟發性規則,根據以特征包圍盒體積表示特征的體積,通過體積簡化閾值的制定,創建多分辨率的簡化模型。
目前,特征CAD模型已廣泛應用于商業CAX系統,其含有拓撲元素、設計特征和兩者的映射屬性。但是,現有模型簡化研究都忽略了特征CAD的設計特征及其映射關系等高層信息,所提方法存在交互性差、工程語義模糊、復雜度偏高等問題。本文提出一種高效的模型簡化方法,充分挖掘CAD模型中拓撲元素和設計特征中蘊含的相關信息,實現CAD模型交互式快速簡化。
由于特征CAD模型蘊含有幾何拓撲與參數特征信息,為此,模型簡化應該充分挖掘特征信息,確保簡化模型具有明確工程語義完整性。本文提出的高效CAD模型簡化通過簡化特征識別和模型重構兩步實現。
簡化特征識別是根據工程語義需求識別CAD模型中待簡化特征。現有研究采用閾值自動識別、手工選定標識或混合識別等方法,存在效率較低、交互性差等缺點。為此,提出基于特征映射的簡化特征識別算法,挖掘B-rep的拓撲元素和設計特征之間映射關系。其基本思想是:首先,交互選定待簡化區域任一拓撲面,然后,利用B-rep拓撲元素和設計特征之間的映射關系識別待簡化設計特征。具體步驟如下:
(1)選定待簡化區域拓撲面,并獲取特征標識Tf。
(2)遍歷CAD模型中設計特征,并執行以下操作:①讀取設計特征Fi拓撲面標識si,并將其逐個保存至集合S;②遍歷集合S,若任一元素si匹配于Tf,則設計特征Fi為待簡化特征;③保存設計特征Fi標識,構造待簡化特征集合SF={F1,F2,…,Fn}。
上述步驟通過交互選定簡化區域拓撲面,利用拓撲面和設計特征之間映射關系,快速識別待簡化特征。
特征CAD模型構建是設計人員根據設計需求和規范添加設計特征的過程,CAD模型設計特征添加過程的不同,特征依賴關系也不同。下面給出CAD模型中設計特征的依賴關系定義,并給出相應的CAD模型重構算法。
1.2.1 特征依賴關系
根據CAD模型設計特征構建過程及其構建參考特征的不同,設計特征的依賴關系分為直接依賴、間接依賴和引用依賴三種類型。
(1)直接依賴關系。定義:若設計特征Fj以Fi的拓撲元素為參考特征,則Fj直接依賴于Fi,記作Fi→Fj。如圖1所示,活塞頭模型的設計特征F1是F2和F3的參考特征,即兩者直接依賴于F1。

圖1 直接依賴關系
(2)間接依賴關系。定義:若設計特征Fi→Fj且Fj→Fk,則Fk間接依賴于Fi,記作Fi→…→Fk。如圖2所示,活塞頭模型的設計特征F1是F2的參考特征,同時,F2是F3的參考特征,從而,F3間接依賴于F1。

圖2 間接依賴關系

如圖3所示,活塞頭密封圈卡槽的特征F2以設計特征F1為基特征,因此,F2引用依賴于F1。

圖3 引用依賴關系
1.2.2 CAD模型重構
CAD模型重構是抑制待簡化特征集SF={F1,F2,…,Fn},其關鍵是保持特征依賴關系及CAD模型語義完整性。基本思想是:遍歷待簡化特征集SF={F1,F2,…,Fn},并根據CAD模型中Fi的特征依賴關系選擇執行操作。具體步驟如下:
(1)讀取Fi∈SF={F1,F2,…,Fn}(i=1,2,…,n)。
(2)若Fi沒有子特征,則直接刪除該特征。
(3)若Fi擁有子特征Fj,則執行以下步驟:①讀取子特征Fj;②根據子特征Fj的特征依賴關系類型選擇執行任務,若Fj直接依賴于Fi,且不再被其他特征所依賴,則直接刪除Fj;若Fj間接依賴于Fi,且其中間特征Fk不是待簡化特征,則提取Fk的構建參數,并重構Fk;若Fj引用依賴于Fi,則直接刪除Fj;③從CAD模型中刪除Fi。其中,步驟②是算法關鍵,具體如下。
若設計特征間形成直接依賴關系,即F2和F3之間沒有特征依賴關系,如圖4(a)所示,則設計特征F2和F3均可直接刪除,如圖4(b)所示。

圖4 直接依賴關系模型重構
若設計特征間形成間接依賴關系,即F3間接依賴于F1,如圖5(a)所示。F2是待刪除特征,為了保證CAD模型工程語義完整性,則首先以F1為參考特征重構F3,再刪除F2,如圖5(b)所示。

圖5 間接依賴關系模型重構

輸入異型管件特征CAD模型,簡化目標區域為加強筋,簡化過程如下:
(1)選定待簡化區域任一拓撲面,如圖6(a)所示。
(2)單擊“特征識別”按鈕,執行特征映射,識別簡化特征,如圖6(b)所示。
(3)簡化特征是旋轉陣列特征,單擊“特征抑制”按鈕,簡化區域被抑制,實現模型簡化,如圖6(c)所示。

圖6 異形管件模型
輸入配電盒注塑模型的特征CAD模型,簡化目標區域是多組工藝凹槽,模型簡化過程如下:
(1)選定多個待簡化區域拓撲面,如圖7(a)所示。
(2)單擊“特征識別”按鈕,執行特征映射,識別簡化特征,如圖7(b)所示。
(3)簡化特征包括兩組引用特征和一組間接引用特征,單擊“特征抑制”按鈕,簡化區域被抑制,實現模型簡化,如圖7(c)所示。

圖7 配電盒注塑模型
模型復雜度和算法執行時間統計如表1所示。實驗結果表明,所提方法以設計特征為單元實現CAD模型簡化,具有以下優點:①算法執行效率較高,且與B-rep模型復雜度無關;②簡化過程具有所見即所得特點,交互性強,操作語義明晰。

表1 模型復雜度和算法執行時間
本文提出了一種基于特征映射的模型簡化方法,該方法充分利用了特征CAD模型所蘊含的拓撲特征信息,可實現快速交互式簡化。實驗結果表明,本文方法具有簡單高效、操作語義明晰等優點。
本方法的局限性是:可能無法處理由不規范建模所創建的CAD模型,原因是此類CAD模型設計特征依賴關系混亂。不規范CAD模型簡化方法是后續研究內容。