李梅竹,田文欣,趙亞楠
(陜西廣播電視大學 工程管理系,陜西 西安710119)
STEP-NC 是產品模型數據交換標準(STEP)在制造領Ⅱ的延伸,基于STEP-NC 的數控程序不僅使得零件的三維幾何信息能夠直接傳遞到CNC 控制器,而且還包含了工藝信息和加工信息,從而克服了傳統的基于ISO6983 標準的數控程序的信息損失、程序修改困難等諸多缺點[1]。
從STEP AP-203 文件中提取出的幾何信息不等同于零件的加工特征,從而導致后續的工藝設計無法進行[2]。因此要建立零件的STEP-NC 信息模型就必須進行特征識別,特征識別有利于在零件整個生命周期內實現產品數據的交換和共享,為實現STEP-NC(STEP AP238 和ISO 14649)奠定基礎。
實際工業產品中,STEP-NC 的制造特征主要是二軸半制造特征。二軸半制造特征分為加工特征、復制特征和組合特征[3]。后兩者分別表征某一特征的重復出現和多個特征的組合。加工特征具體包括平面、型腔、槽、臺階、孔、一般特征等。不同的加工特征對應不同的工藝規劃[4]。
本文以型腔為研究對象,在STEP-NC 中,型腔是由bottom condition occurrence、pocket depth occurrence 和boundary occurrence 三個參數確定。本文的型腔是由平底銑刀一系列的加工而成,所以型腔的bottom condition occurrence 參數為planar 或through。型腔特征是通過一個任意形狀的平面剖面和一掃描向量描述出,掃描向量垂直于平面剖面,它的長度為型腔的高度。其參數如圖1 所示。

圖1 型腔特征的定義
特征痕跡是指一個特征實例被添加到零件模型后,所保留的信息,包括幾何的、非幾何的如尺寸、公差等。即使特征相交,特征完整的邊界模式已經不復存在,但只要它確是零件的一個特征,在CAD 模型中肯定留有痕跡[5]。本文主要討論型腔特征在STEP文件中的痕跡及其有效性規則。
由于型腔分為有底型腔和無底型腔,所以型腔在零件邊界中留有底面或壁面。底面垂直于刀具軸的方向,壁面是由一系列面組成且所有的壁面㈦刀具軸的方向一致。一個被識別出的型腔在零件邊界中留有的面中不必底面和壁面都存在,存在其中之一就可以。例如圖2 中一個通口型腔沒有底面,一個無壁型腔卻沒有壁面。由于型腔分為有底的和無底的所以型腔的痕跡分為底面和壁面,對于有底型腔采19.底面作為痕跡,對于無底型腔采19.壁面作為痕跡進行特征的識別。

圖2 通口型腔㈦無壁型腔
對于一個要去除的特征,依據刀具軸向定位它必須是可接近的,可無干涉的加工到特征的每一點,這稱為可接近性規則。把刀具抽象成半直線的形式,如圖3a 所示。為了要去除一個特征,抽象的刀具保持恒定的軸定位方向,沿著一系列的路徑進行移動加工出特征。如果特征的每一個點可被抽象的刀具加工出,加工過程中不㈦零件干涉相交,那么從這一刀具軸定位方向來看特征是符合可接近性的。在圖3b 中的零件,兩個型腔如3c、3d 中所示有相同的純幾何形狀,但是兩者的刀具軸定位方向不同。圖3c中的型腔是無效的,因為它對于給定的刀具軸定位方向其不符合可接近性規則。而圖3d 中的型腔是有效的,因為刀具可以無干涉地加工出該特征。

圖3 可接近性規則
特征識別過程分為生成-測試-修復三個階段。
遍歷從STEP 文件中提取出的實體幾何信息,搜索包含有三個及以上凹邊的平面作為型腔特征底面候選面,得出型腔特征底面候選面后,根據型腔特征底面候選面的法向量可計算出刀具軸的定位方向。刀具軸的定位方向㈦型腔特征底面候選面的法向量平行且相反,在每一個刀具軸的定位方向上尋找型腔特征底面候選面,如果沿著刀具軸的定位方向上的型腔底面候選面是可見的,或者部分可見,那么這個型腔底面候選面是符合條件的,對不符合條件的底面候選面就放棄掉。
給出一個底面痕跡,為了更好地表示出型腔特征的識別過程,對一零件截取其某一截面,其識別過程如圖4a~4d 所示。首先,型腔底平面㈦切削體求并集,得到最大的、非干涉的延拓面如圖4a 中陰影所示。然后這個延拓底面沿著它的法向量拉伸產生體V。生成階段生成一個型腔去除體V*,體V*是體V㈦切削體求交得到的,如圖4b 中陰影所示。測試階段檢測體V*的邊界中是否存在侵入面。如果體V*中不存在其他的零件面,那么就可以實例化一個有效的型腔特征了。設置一局部坐標系,坐標系Z 軸方向㈦底面的法向量相同。在局部坐標系中計算出體V*沿Z 軸方向上的痕跡邊界就可得出型腔的深度對應于STEP-NC 文件中型腔特征的描述參數pocket depth occurrence。
如果測試階段顯示在體V*的邊界中存在侵入面時,進入修復階段。首先,投影所有的侵入面到延拓的底面上,如圖4c 中所示侵入面為f1,然后從底面中減去這些投影。圖4c 中的面f2,沿刀具定位的方向上看過去是不可見的,因此在修復運算時這種面可以被忽略。當所有可見的侵入面都投影到了延拓面上,就把它們的投影從底面中減去,得到一個新的底面。該底面對應于STEP-NC 文件對型腔特征的描述參數boundary occurrence。沿新底面的法向量掃描底面,掃描體㈦切削體相交即得到去除體。去除體的高度可在局部坐標系中計算出,接著實例型腔的其他參數,最終得到的型腔特征如圖4d 中所示。

圖4 基于底面的型腔識別
基于底面的型腔識別方法是針對有底型腔的,因此其STEP-NC 文件描述參數bottom condition occurrence 為planar。基于底面的型腔識別方法可把有底型腔特征的所有有關參數都識別出,該方法可完成有底型腔的識別。
無底型腔沒有底面則必須從其壁面中識別,然而當特征相交時,很難從零件邊界描述中找到無底型腔的完整壁面痕跡,因此必須從型腔完整壁面痕跡的子集中進行推理來完成無底型腔的識別。
無底型腔存在性規則要求在零件的邊界中至少留有部分的圓柱面或一對非平行的平面。例如圖5a和5b 分別給出了毛坯和零件,根據基于底面的型腔識別方法從圖5b 陰影所示的痕跡中識別出開口型腔如圖5c 所示。可以設想兩個開口型腔如圖5d 所示,它們的刀具軸定位方向㈦圖5c 中刀具軸定位方向垂直。實際上存在著無數個這樣的開口型腔,它們留有圖5b 中陰影所示的痕跡,但這些型腔特征是無效的,因為不符合特征有效性規則中的存在性規則。

圖5 開口型腔的實例
首先,在從STEP 文件中提取出的幾何信息中尋找部分的圓柱面(完整的圓柱面產生孔特征的痕跡,而不是無底型腔壁面的痕跡)以及成對的非平行平面并且它們的法向量夾角小于180°,尋找的這些面應屬于零件面尤其是部分的圓柱面不能是連接兩毛坯面的過渡面。尋找出的這些痕跡可能是無底型腔壁面的一部分。然后根據型腔壁面的痕跡計算出銑刀軸的可能定位。銑刀軸的定位方向與型腔壁面痕跡-部分的圓柱面的軸線方向一致,與型腔壁面痕跡-成對的非平行平面的法向量垂直。相關的軸定位被計算出,將產生兩個方向上的無底型腔痕跡:一個稱為正向的軸定位,另一個稱為負向的軸定位。從圖6a所示的零件中可得到四個方向上無底型腔的痕跡,四個方向分別為圖6b所示:ad1、ad2、ad3、ad4。
得出軸定位方向后,無底型腔的識別過程首先尋找與痕跡相關的各軸定位方向上的開放區域。開放區域是沿著軸定位方向看過來可見的毛坯面。圖6b表示了三個不同的軸定位方向ad1、ad3、ad4上的開放區域,因ad2方向上不存在開放區域,所以放棄該方向上的軸定位。
如果在某一個軸定位方向上找到開放區域,就進行特征的識別過程。生成階段沿軸向定位方向拉伸開放區域,拉伸體與切削體相交得到體V*。測試階段檢測到如果所有包含在體V*邊界上的零件面都可以看作壁面,并且它們的空間延伸方向與軸定位方向平行,那么體V*就是一個有效的通口型腔特征,之后它就被實例化。圖6c中所示的通口型腔為ad3、ad4方向上的開放區域形成的一個通口型腔。如果體V*的邊界面中存在侵入面,在修復階段將對它們進行操作。
圖6b中的ad1方向上的開放區域產生的體V*,體V*中存在除壁面外其他的零件面,因此需對體V*進行修復。修復階段首先尋找出體V*中沿該軸定位方向看過去所有的可見侵入面。例如在圖6d中,侵入面f1、f2是兩圓柱面的子集,它們包含在體V*的邊界中,并沿著方向ad1看過去是可見的。在侵入面處設置一局部坐標系,局部坐標系的Z軸方向與ad1方向一致,計算出侵入面在Z軸方向上的邊界。之后引進一個平面,本文稱之為虛底。虛底與侵入面的最低邊界垂直并且在體V*中最大可能的延拓,如圖6d所示。之后對生成的虛底采用基于底面的型腔識別規則來繼續進行型腔識別,一個虛底的型腔最終被實例化如圖6c所示。該虛底對應于STEP-NC文件對型腔特征的描述參數boundary occurrence。在局部坐標系中計算出體V*的虛底和開放區域在Z軸方向上的邊界就可得出型腔的深度對應于STEP-NC文件中型腔特征的描述參數pocketdepthoccurrence。值得注意的是,任何采用虛底生成的無底型腔不可能有比虛底大的底面外廓,因此,產生虛底后調用基于底面的型腔識別規則時,其底面延拓(圖4a所示)這一步在這里可被跳過去。

圖6 無底型腔的識別
如圖6d所示,體V*中的多個侵入面可能有相同的最低邊界,那么就對這共同的虛底采用基于底面的型腔特征識別規則。有的情況與圖7d不同,可能有多個侵入面,每個面有不同的最低Z向邊界,那么就對每一個不同的最低邊界,分別建立一個虛底并采用基于底面的型腔識別規則來進行型腔特征的識別,最終得到多個型腔特征。
如果體V*某一軸定位方向上的開放區域的對面上存在毛坯面,仍有可能實例一個通口型腔。這時投影可見的侵入面到開放區域上并把它們從開放區域上減去。對剩余的面沿軸定位方向進行拉伸,拉伸體與切削體相交得到體V*,之后就可實例化一個通口型腔。例如在圖7中,對于確定的軸向定位方向,面f1被認為是一個侵入面,把它投影到開放區域上并把投影部分從開放區域上減去,然后生成一個通口型腔P2。

圖7 基于底面與基于軸的識別
基于軸的型腔特征識別方法是針對無底型腔的,因此其STEP-NC文件描述參數bottom condition occurrence為through。
綜上所述,基于軸的型腔識別方法可把無底型腔特征的所有有關參數都識別出,因此該方法可完成無底型腔的識別。但基于軸的型腔識別方法還存在一些不足,例如它經常做一些冗余的推理、識別結果可能產生違背直覺的特征等,這些不足還必須不斷進行完善。
本文利用面向對象的VisualC++編程語言和STEP的開發工具ST-Developer開發了型腔特征識別系統。如圖8所示給出了一個零件為測試件。本文系統界面及其輸入的STEPAP-203文件如圖9所示。

圖8 零件的三維模型圖

圖9 系統界面及輸入的STEPAP-203文件
遍歷STEP文件中提取出的幾何信息,尋找型腔特征的痕跡。在這里找到一組非平行的平面和部分的圓柱面作為型腔的痕跡。當痕跡滿足要求時,就進行特征識別過程。
生成階段根據痕跡生成最大的去除體V*;測試階段檢測去除體V*是否存在開放區域,之后還要檢測去除體中是否存在侵入面,如果滿足上述兩條件,這個特征就可實例化,否則識別規則進入修復階段;修復階段根據痕跡的邊界條件來修復體V*,得到一個不與零件干涉的最大去除體,該去除體是體V*的子集并與零件不干涉相交,得到去除體后同樣進行實例化最終得到特征體。修復也不是總能成功的,因此一些痕跡在修復失敗后就被放棄了。經過幾何推理過程最終識別出型腔特征如圖10所示。

圖10 特征識別的結果
本文采用特征痕跡的幾何推理方法結合STEP文件信息模型的特點來對STEP 文件進行型腔特征識別,特征識別過程分為生成-測試-修復三個階段,最終得到一個實例化的特征。該種方法能夠很好地解決型腔特征的識別問題,并且可擴展到其他二軸半制造特征的識別,為后續工藝規劃及生成STEP-NC AP-238 文件提供基礎。
[1]張承瑞,劉日良.STEP-NC 2.5D 銑削工步的運動特征及其數據模型[J].機械科學與技術,2005,24(1):90-93.
[2]王義林,劉志堅,李建軍.面向模型重構的沖壓零件特征識別技術[J].鍛壓裝備與制造技術,2006,41(6):91-94.
[3]International Standards Orgazation.ISO14649:Industrial automation systems and intergration-Physical device control-Data model for Computerized Numerical Controllers:Part10 General Process Data.2002:9-49.
[4]孔 嘯,蔣亞軍,張新明,等.模具數控加工智能工藝規劃與優化的技術框架[J].鍛壓裝備與制造技術,2005,40(3):103-105.
[5]J.H.Han.3D Geometric Reasoning Algorithm for Feature Recognition.PhD thesis of University of Southern California.1996:12-22,26-44.
[6]劉長毅.基于圖的體積分解的加工特征識別方法[J].計算機集成制造系統,2006,(7):1013-1017.
[7]王 軍,張榮闖江,舒啟林,等.基于STEP 的相交特征識別[J].沈陽建筑大學學報(自然科學版),2009,25(6):1173-1177.