趙 永,張應中,羅曉芳
(大連理工大學 機械工程學院,大連 116024)
在機械零件設計中,圓角過渡特征被廣泛采用,其主要目的一是為了減小應力集中,改善零部件的受力情況,二是提高產品的美觀性和可操作性.自上世紀80年代以來,特征識別技術在學術界得到了廣泛而深入的研究[1-3],該技術主要涉及如下三個方面應用:
1)分析模型的預處理.分析模型(或有限元模型)算法不能處理帶有圓角特征的實體邊界模型,在算法實施之前需要對模型進行圓角特征的識別與抑制.
2)制造特征識別.對加工區域的圓角特征進行區別,用于設計加工工藝和刀具選擇.
3)設計特征重構.圓角特征是重要的設計特征之一,根據現有的實體邊界模型,推測圓角特征的構造歷史,恢復模型的設計意圖,按照特征構造順序重構出零件模型.
因此基于設計意圖推理的圓角過渡特征的識別是設計特征重構技術中一個非常重要的環節.目前學術界關于圓角過渡特征識別的方法已經開展了大量的研究[4-7],但是過渡特征設計意圖推理的研究卻鮮有涉及.文獻[4-6]對圓角過渡特征的定義未考慮到模型設計意圖,例如圓角過渡半徑值和過渡特征操作的順序,只是根據過渡面之間的鄰接關系對過渡面進行簡單的劃分,在過渡特征識別的過程中沒有提取出CAD模型的設計意圖,這給過渡特征的重構帶來了很大的麻煩.文獻[7]在有些情況下,存在圓角過渡面劃分不合理的情況.
本文提出了一種基于設計意圖推理的圓角過渡特征識別方法,以STEP格式的實體邊界模型作為數據輸入,首先識別出模型中的過渡面;基于模型的設計意圖給出過渡特征的定義,設計識別算法識別出過渡特征;根據過渡面的彈出邊和交界邊判斷過渡特征的先后順序,建立以圓角過渡特征為頂點的有向無環圖,對該圖進行拓撲排序,得到過渡特征的線性序列.
雖然特征造型技術研究已有三十多年歷史,但是特征仍然沒有一個統一的定義.Shah[8]認為特征必須滿足四個基本條件:零件的物理組成部分,可以映射到某一個具體的形狀,具有工程意義和可以預知的屬性.一般來講,特征指的是具有一定工程意義的幾何外形.以產品信息為標準,可以將特征分為形狀特征、精度特征、材料特征等六大類.形狀特征又可以細分為主特征和輔助特征.
圓角過渡特征是通過特定方式形成的一組幾何過渡面的工程描述,由過渡參數、過渡類型和過渡幾何形狀組成;是輔助特征的一種,依附在一個或者多個主特征之上.
在機械零件中,常用光滑的曲面來代替零件中的尖邊、尖點來增加零件的強度和美觀性,這些光滑曲面構成了圓角過渡特征.選擇相應的邊并設置相應的圓角過渡半徑就可完成圓角過渡特征的創建.圓角過渡面是由一個假想滾動球緊貼所選取尖邊的兩鄰接面滾動形成的光滑曲面,如圖1(a)中面F1所示.在所選擇的邊線上多個點處設置不同的圓角過渡半徑值,可以控制滾動球的半徑變化,形成變半徑圓角過渡面,如圖1(a)中面F2所示.當三個或者三個以上的圓角過渡面相交的時候,在相交處形成新的圓角過渡面,該圓角過渡面的幾何類型常見的有球面、圓環面、b樣條面,如圖1(b)、1(c)、1(d)所示.本文將研究的圓角過渡面類型限定為滾動球技術產生的過渡面.
一般一個圓角過渡特征形狀由如下幾何實體組成:
1)過渡面和過渡特征:過渡特征操作形成的光滑曲面稱為過渡面,如圖2中的面F1、F3、F4、F6.圓角過渡半徑值相同的過渡面通過尖邊或交界邊相互連接形成的區域稱為過渡特征,該區域對應于單次過渡特征操作產生的圓角過渡區域.如圖2中過渡面F1、F3、F4、F6組成的區域.

圖1 過渡面的幾何類型
2)彈出邊:在假想滾動球滾動過程中,滾動球與原尖邊鄰接面的接觸點移動形成的光滑邊.如圖2所示,邊E1、E2是過渡面F3的彈出邊.

圖2 圓角過渡特征示意圖
3)交界邊:過渡面上除去彈出邊剩余的光滑邊.如圖2所示,邊E3是過渡面F3的交界邊.
4)支持面:過渡面通過彈出邊鄰接的面,在圖2中,面F2和面F5是過渡面F1的支持面.
5)邊的凸凹性:兩個鄰接面外側所形成的夾角稱為二面角.如圖3(a)所示,陰影側為材料側,角β是兩個鄰接面的二面角.若二面角大于180度則稱此邊為凸邊;若二面角小于180度則稱此邊為凹邊;若等于180度則稱此邊為切邊或者光滑邊.邊的凸凹性如圖3(b)所示.

圖3 二面角及邊示意圖
在零件設計過程中,由于各商業CAD軟件以及設計者個體的差異,同一個零件模型的建模順序和造型方法不盡相同,但在建模策略上存在共性,有一定規律可循.圓角過渡特征的設計遵循如下基本原則:
1)先創建機械零件的主特征,后創建圓角特征;
2)一般先設計大圓角后設計小圓角,不同半徑值的圓角過渡面在不同的過渡特征操作中完成;
3)相互連接且圓角過渡半徑相同的邊線,在單次過渡特征操作中全部被選中.
圓角過渡面有特定的拓撲和幾何性質,根據這些性質可以將圓角過渡面和非圓角過渡面區分開來.依次遍歷模型中的每個面,對每個面進行測試,凡是符合以下五個條件的測試面均認為是一個過渡面:
1)測試面是光滑曲面.
2)測試面上的光滑邊的數量不小于1.
3)若該測試面為柱面,則不存在某個柱面與該測試面同時通過兩條或者兩條以上的光滑邊相鄰接.
4)若該測試面通過光滑邊鄰接的平面數量大于2,則任意兩個平面不平行.
5)測試面的最大曲率半徑小于給定的閾值.
圓角過渡面的交界邊、彈出邊在圓角過渡特征的識別和順序推理中起到了非常重要的作用.在識別出過渡面之后,需要對過渡面的彈出邊和交界邊進行識別.首先對該過渡面上的所有邊進行凸凹性計算,篩選出光滑邊,然后根據光滑邊上點的曲率特性對光滑邊進行測試,識別出彈出邊和交界邊.邊的凸凹性計算在文獻[9]中已有大量的敘述,本文不再贅述.下面就彈出邊和交界邊的識別進行詳細的敘述.
圓角過渡面是由滾動球滾動產生的,球心在運動中形成的軌跡稱為脊線,如圖4所示.邊E是過渡面Fa邊界上的光滑邊,過渡面Fa和面Fb通過邊E相鄰接,點P為邊E上的一點,a1和a2是過渡面Fa在點P處的兩個主曲率,a2為最大主曲率,a1為最小主曲率.最大主曲率a2的值等于該處滾動球的半徑的倒數,主曲率a1和a2的方向相互垂直.當點P取測試邊E上不同的點時,對于常半徑圓角過渡面,最大主曲率a2的值相同;對于變半徑圓角過渡面,最大主曲率a2的值不同.

圖4 光滑邊上的曲率
下面給出判斷彈出邊和交界邊的啟發式規則:
規則1.若主曲率a1與a2的值相等,易知該過渡面為球面,則邊E是過渡面Fa的一條交界邊.
規則2.主曲率a1與a2的值不相等,若主曲率a1的方向更接近邊E在點P處的切線方向,則邊E是過渡面Fa的彈出邊;否則邊E是過渡面Fa的交界邊.
圓角過渡面的識別算法如下.

輸入:實體邊界模型面的集合FL輸出:實體邊界模型過渡面集合BFace Step1.變量i的初始值設為1,判斷i是否大于集合FL中面的總數.若大于則算法結束;否則從集合FL中取出第i個面作為測試面Fi.Step2.判斷測試面Fi是否為光滑曲面,若不是,則i=i+1,轉Step1.Step3.計算測試面Fi上邊的凸凹性,并記錄光滑邊,若光滑邊的數目為 0,則 i=i+1,轉 Step1.Step4.若測試面Fi的幾何類型為圓柱面,判斷測試面Fi是否與某個柱面同時通過兩條或者兩條以上的光滑邊相鄰接,若是,則i=i+1,轉Step1.Step5.依次通過測試面Fi的光滑邊查找鄰接面,判斷鄰接面中平面的數量是否大于2且存在某兩平面平行,若是,則i=i+1,轉Step1.Step6.若測試面Fi的幾何類型為圓柱面、圓環面或球面,則查詢該面的圓角過渡半徑r,若r大于給定的閾值,則i=i+1,轉Step1;否則認為測試面Fi為圓角過渡面,將過渡面Fi添加到過渡面集合BFace中,取測試面Fi上光滑邊的中點,計算中點處最大、最小主曲率,識別該過渡面的交界邊、彈出邊,記錄該過渡面的交界邊、彈出邊、支持面、圓角過渡半徑,i=i+1,轉Step1.Step7.若測試面Fi的幾何類型為b樣條面,則根據測試面Fi上光滑邊中點的主曲率識別出測試面Fi上所有的交界邊、彈出邊.在彈出邊上等距的取m個點,分別求各點處的最大主曲率ki(i=1,2,3…m),其中最小值記為kj.若1/kj小于給定的閾值且k1=k2=k3…=kn,則認為該過渡面為常半徑圓角過渡面,將過渡面Fi添加進過渡面集合BFace中,并記錄該過渡面的彈出邊、交界邊、支持面、圓角過渡半徑,i=i+1,轉 Step1;若 1/kj小于給定的閾值但不滿足k1=k2=k3…=km,則認為該圓角過渡面為變半徑過渡面,將過渡面Fi添加進過渡面集合BFace中,并記錄該過渡面的彈出邊、交界邊、支持面,并將圓角過渡半徑記錄為-1,表示該圓角過渡面為變半徑過渡面,i=i+1,轉Step1;若1/kj大于給定的閾值,則認為該測試面不是圓角過渡面,i=i+1,轉Step1.
一系列的過渡特征操作產生的過渡面相互交織形成網狀和鏈狀區域,在圓角過渡半徑不變的情況下,圓角過渡區域的幾何形狀取決于過渡特征的操作順序.如圖5(a)、5(b)所示,圖中所標數字i代表該邊被第i次過渡特征操作選中.由模型a到模型c和由模型b到模型d,相應邊的圓角過渡半徑值一樣,過渡特征操作順序不同,最終產生的過渡效果不同.在特征重構的階段,過渡特征的重構順序直接關系到模型是否能夠重構為原來的狀態,因此在識別出圓角過渡特征之后,需要對圓角過渡特征先后順序進行推理.

圖5 過渡特征操作
根據圓角過渡特征的設計規律,筆者將單次過渡特征操作形成的過渡面歸類為一個圓角過渡特征,圓角過渡特征的識別將在2.3節詳細敘述,本節著重介紹圓角過渡特征之間順序的推理與表示.
不相鄰的圓角過渡特征之間不存在先后問題,相鄰的圓角過渡特征根據相鄰情況分為兩種.為了方便說明,用“x→y”表示實體x先于實體y產生,Bi表示模型中的圓角過渡特征.
第一種情況:兩個相鄰圓角過渡面分別屬于兩個圓角過渡特征,其公共邊是一個面的彈出邊、另一個面的交界邊,則認為交界邊所屬的圓角過渡特征較早產生.例如:過渡面Fi、Fj分別是過渡特征Bi、Bj中的過渡面,過渡面Fi和Fj通過邊E相鄰,邊E分別是Fi的彈出邊和Fj的交界邊,因此,面Fj是Fi的支持面,由圓角過渡面生成的機理可知,過渡面Fi是由滾動球在過渡面Fj上滾動形成的,所以過渡面Fj→Fi,故過渡特征Bj→Bi.故圖 5(c)中:B1→B3、B1→B2.在圖5(d)中:B1→B3、B2→B3、B3→B4.
另一種情況是:兩個相鄰圓角過渡面分別屬于兩個圓角過渡特征,其公共邊均是兩鄰接面的彈出邊.如圖6(a)所示,過渡特征B1與B2相交于邊E1,邊E1均是兩鄰接面的彈出邊,在這種情況下,由于過渡特征相交,順序靠后的圓角過渡特征會在相交處形成額外的交界邊,如圖6(a)中的交界邊E2,該交界邊提供了判斷過渡特征先后順序的線索.故圖6(a)中,B1→B2,同理圖6(b)中,B2→B1.

圖6 使用交界邊判斷過渡特征順序
一個大的工程一般可以分成不同的子工程,子工程之間存在著一定的約束關系,例如子工程M必須在子工程N完成后才能開始,子工程M是以子工程N的結束作為先決條件的,但是有的子工程之間沒有這種約束關系,可以在任何時間節點開始.整個工程中各個子工程之間的先后關系可以用有向圖來描述,有向圖的頂點代表子工程,有向圖的有向弧代表子工程的先后順序,弧尾所指的子工程先于弧頭所指的子工程.單個機械零件上往往有很多圓角過渡特征,可以用有向圖G=<V,E>來描述過渡特征之間的相互關系,其中頂點V是過渡特征的集合,V={v1,v2,…,vm},E是過渡特征之間有向弧的集合,E={e1,e2,…,em-1},表示過渡特征之間的先后順序.圓角過渡特征有向圖是一個有向無環圖(Directed Acyclic Graph,簡稱DAG).
由某個集合上的一個偏序得到該集合上的一個全序,稱為拓撲排序[10].DAG描述了該機械零件上圓角過渡特征之間的一個偏序關系,對圖G進行拓撲排序,可以將圖G中的所有頂點排成一個線性序列.
對圖5(c)、5(d)中的兩個模型中的圓角過渡特征構建有向圖如圖7(a)、7(b),對有向圖進行拓撲排序,可以得到圖5(c)中圓角過渡特征的先后順序為:B1→B2→B3,圖5(d)中圓角過渡特征的先后順序為:B1→B2→B3→B4.

圖7 圓角過渡特征的有向圖
過渡特征識別本質上是對圓角過渡面集合進行劃分,考慮到圓角過渡特征的設計規律,為了盡可能的恢復圓角過渡特征的設計意圖,本文以單次過渡特征操作形成的連續過渡區域作為劃分標準,將圓角過渡半徑相同的過渡面通過尖邊或交界邊相互連接形成的區域定義為一個過渡特征.
圓角過渡特征識別算法借助輔助工具隊列Quence實現,算法如下.

輸入:過渡面集合BFace輸出:過渡特征集合BFeature Step1.初始化工具隊列Quence并置空.Step2.建立一個新的過渡特征B,取過渡面集合BFace中未作訪問標記的過渡面Fi,將過渡面Fi加入過渡特征B中,將Fi加入隊列Quence尾部,Fi作已訪問標記.Step3.判斷隊列 Quence是否為空,如果為空則轉 Step5;否則隊列Quence隊頭元素出隊列,記為Si.Step4.查找過渡面Si的所有鄰接過渡面,并判斷其鄰接過渡面是否符合以下條件:a)未作訪問標記;b)鄰接面的圓角過渡半徑和Si相同;c)過渡面Si與其鄰接過渡面的公共邊為尖邊或者均為這兩個面的交界邊.記所有符合條件的鄰接過渡面為Sw,若Sw為空,則轉Step3;否則將Sw加入過渡特征B中,將Sw加入隊列Quence的尾部,過渡面Sw作已訪問標記,轉Step3.Step5.將過渡特征B添加到集合BFeature中.查找過渡面集合BFace中是否存在未被訪問的過渡面,如果存在未被訪問的過渡面,則轉Step2,識別下一個圓角過渡特征;否則算法結束.
該算法首先選擇過渡面集合BFace中一個未被訪問的過渡面作為種子面Si,建立一個過渡特征B,將種子面Si添加到過渡特征B中,種子面Si作已訪問標記;然后搜索與種子面Si通過尖邊或者交界邊鄰接且過渡半徑相同的所有未作訪問標記的圓角過渡面,記為Sw,將Sw添加到過渡特征B中并作已訪問標記,以Sw中的面作為新的種子面;重復上述搜索過程,直到沒有符合條件的鄰接過渡面.至此,一個過渡特征識別完畢.斷過渡面集合BFace中是否存在未被訪問的邊過渡面,若存在則進行下一個過渡特征的識別,否則,算法結束.
本文提出的基于設計意圖推理的圓角過渡特征識別算法,已經在Visual Studio C++ 2008與JhSolid平臺上通過編程實現,JhSolid是一個以OpenGL為顯示引擎的三維造型軟件.
下面給出具體的圓角特征識別步驟.
1)輸入“STEP”格式的幾何中性文件,提取STEP中性文件中的幾何信息和拓撲信息,構造實體邊界模型并進行三維模型重建.
2)識別過渡面和過渡特征,對識別出的過渡特征使用不同的顏色進行渲染.
3)對過渡特征之間的先后順序進行推理,建立以過渡特征為頂點的有向無環圖,對有向圖拓撲排序得到過渡特征的一個線性序列,并構造過渡特征樹.
3Dsource零件庫是國內最大的零件庫,從3Dsource零件庫中隨機選取大量零件對本文的算法進行實例測試,測試結果驗證了該算法的有效性.選取如表1所示的幾個典型零件模型作為實例進行說明,最終識別出的圓角過渡特征和推理出的圓角過渡特征順序分別以渲染和過渡特征樹的形式進行輸出.如表1所示,實例模型的圓角過渡面全部被正確識別,模型表面相互交織成網狀和鏈狀的圓角過渡區域可以合理的劃分為不同的圓角過渡特征.同屬一個圓角過渡特征的過渡面圓角過渡半徑相同,每個圓角過渡特征均可由單次過渡特征操作選取單條邊或者多條連續的邊生成,符合圓角特征的設計規律和設計者的設計習慣.最終輸出的過渡特征樹與表1“說明”項中的圓角過渡特征順序一致,與圓角過渡特征的設計意圖相吻合.識別實例表明,本文提出的基于設計意圖推理的圓角過渡特征識別算法可以有效的識別圓角過渡特征和提取模型中圓角過渡特征的設計意圖.
本文提出了一種基于設計意圖推理的圓角過渡特征識別方法,其創新點在于能夠有效捕捉圓角特征的設計意圖,識別出的圓角過渡特征更符合設計規律,設計意圖的成功捕捉為設計特征的重構打下了良好的基礎.文中通過實例驗證了本方法的可行性,為后續的深入研究提供了理論依據.本文在過渡面的劃分上還有待進一步的研究,比如考慮進一步減少過渡特征個數,將位置對稱但并不相鄰接的具有相同圓角過渡半徑的過渡面歸類為一個圓角過渡特征等.

表1 圓角過渡特征識別實例
1 Kim YS.CHAPTER 3-volumetric feature recognition using convex decomposition.Manufacturing Research and Technology,1994,20:39–63.[doi:10.1016/B978-0-444-81600-9.50008-0]
2 Liu XS,Sajda P,Saha PK,et al.Complete volumetric decomposition of individual trabecular plates and rods and its morphological correlations with anisotropic elastic moduli in human trabecular bone.Journal of Bone and Mineral Research,2008,23(2):223–235.
3 Joshi S,Chang TC.Graph-based heuristics for recognition of machined features from a 3D solid model.Computer-Aided Design,1988,20(2):58–66.[doi:10.1016/0010-4485(88)90050-4]
4 Zhu H,Meng CH.B-Rep model simplification by automatic fillet/round suppressing for efficient automatic feature recognition.Computer-Aided Design,2002,34(2):109–123.[doi:10.1016/S0010-4485(01)00056-2]
5 Cui XF,Gao SM,Zhou GP.An efficient algorithm for recognizing and suppressing blend features.Computer-Aided Design and Applications,2004,1(1-4):421–428.[doi:10.1080/16864360.2004.10738284]
6 金永霞,陳正鳴.改進的圓角特征識別與抑制方法.計算機應用,2009,29(8):2038–2042.
7 Venkataraman S,Sohoni M,Elber G.Blend recognition algorithm and applications.Proceedings of the 6th ACM Symposium on Solid Modeling and Applications.Ann Arbor,MI,USA.2001.99–108.
8 Shah JJ,M?ntyl? M.Parametric and feature-based CAD/CAM:Concepts,techniques,and applications.London:John Wiley &Sons,1995.
9 戴百生.基于STEP的制造特征識別與三維重建技術研究[碩士學位論文].哈爾濱:東北農業大學,2010.
10 黃偉軍,蔡力鋼,胡于進,等.基于遺傳算法與有向圖拓撲排序的工藝路線優化.計算機集成制造系統,2009,15(9):1770–1778.