唐博文,廖敦明,唐紹寧,楊 光,楊 帆
(1.華中科技大學 材料成形與模具技術國家重點實驗室,湖北 武漢 430074;2.中國航空制造技術研究院,北京 100024)
我國航天航空事業的飛速發展,對其領域的高端裝備有了新的技術需求,需要發展更高精度、更高參數的大型設備,同時可應用于更加惡劣的工作環境。電子束熔絲增材制造具有成形速度快、力學性能優良、缺陷可控等優勢,可適用于高性能大型金屬構件的加工制造,能有效縮短生產周期、降低生產成本,因而在航空領域得到了廣泛應用[1,2]。
電子束熔絲增材制造工藝流程分為前處理、打印成形和后處理三部分[3],不同的處理過程需要用到相應的專業CAD工具,而不同CAD工具所支持及保存的模型文件結構存在一定的差異,因此存在數模文件格式轉換的環節。同時在前處理中,傳統手動建模過程繁瑣、規范性差、效率低,導致制造周期長。基于上述問題,有必要開發專用文件處理接口及數模特征識別與快捷再建系統,實現對文件格式轉換的處理及關鍵特征的識別和重建。
基于NX 10.0開發平臺,在Visual Studio 2012編譯環境下,以C/C++為開發語言,應用NX二次開發框架下的NX Open API、Block UI Styler和Menuscript技術[3,4],對中間格式STEP模型文件在NX中結構特征進行對比分析,開發能夠處理STEP格式的數模特征識別與快捷再建CAD系統。
STEP中間文件包含較多的產品信息,主要包括B-Rep模型信息[5],B-Rep(boundary representations)即邊界表示法,通過頂點、邊、面表示實體表面的邊界,進而確定實體的內部點和外部點,建立實體三維模型。
系統旨在提高數模再建過程中的自動化和智能化程度,簡化人工操作步驟,為STEP格式文件模型的再建提供解決方案。數模再建系統通過導入模型文件,進行模型修復,然后提取模型特征信息,結合特征庫對模型結構進行智能補償。
分析系統處理順序可分為三部分:①針對STEP模型文件在NX中讀取后可能存在的格式錯誤,進行特征修復,優化線面;②對需要優化的典型特征進行識別及提取;③基于提取的特征,進行相關的優化處理,如對模型添加余量補償等。軟件處理框架如圖1所示。

圖1 軟件處理框架
NX軟件提供了導入IGES、STEP等格式的中性文件接口,雖然在NX軟件中打開STEP格式的文件后進行了較完善的處理,消除了曲線曲面的丟失和缺損的現象,然而其載入后的文件與在NX平臺上獨立建立的模型仍有所差別,不利于對模型進行進一步的處理操作。NX載入STEP源文件后其模型沒有具體構建過程,可能存在一些曲線類特征異常,如不同CAD造型軟件使用的造型方法有所差異,可能會出現圓柱面等未縫合現象,圖2箭頭指示處出現了圓柱面及圓孔面分割現象。

圖2 分割的圓孔面
大量的邊界曲線以容錯曲線(tolerant curve)的形式出現,導致邊界特征識別困難,如圓環的邊界曲線不為圓弧,使其難以獲得圓心位置等坐標信息。部分平面或曲面的特征類型也以非參B曲面((non-parametric)trimmed B-surface)形式出現,給這些曲面特征的自動識別帶來一定的困難。
為解決這些問題,使NX載入STEP格式模型后能對其進行特征識別及模型再建,運用NX二次開發技術,開發了目標體上異常曲線及曲面的查找和顯示功能,并提供以下2種曲線曲面修復方式。
(1)應用NX Open的Features屬性下的Optimize Face Builder方法,對曲面進行優化,該方法可以將不合理的分裂面連在一起,也可恢復多數不合理的B曲面異常情況。但該方法會去除部件導航器的歷史操作記錄。
(2)使用UFUN方法中UF_MODL_edit_face_join函數進行連結面處理。該方法可以將2個面合并成1個面,合成后的面為B曲面特征類型。
2.2.1 圓角類特征分類及特征識別
一般零件設計過程中,為減小應力集中和加工難度,常會設計圓角、拐角等過渡曲面。但在電子束熔絲增材制造過程中,半徑較小的圓角類特征不利于加工路徑的規劃,也難以直接形成圓角類形狀,為避免此類特征阻礙后續路徑規劃過程,需對其進行處理[6]。
根據圓角的形式,可分為環形圓角、普通圓角(內圓角及外圓角)、拐角及球形拐角,如圖3所示。其中環形圓角及拐角在NX中對象模型特征類別都為旋轉面,但環形圓角有2個封閉環,而拐角只有1個封閉環特征。普通圓角在NX中對象模型特征類別為圓柱面,球形拐角的對象模型特征類別則為球面。

圖3 圓角類型
基于各類圓角的差異,可根據其邊界特征識別各類圓角。遍歷目標體(body)對象的所有面,查詢曲面的特征種類,獲取符合曲面類型的所有曲面即可查找所有圓角類特征,進一步根據曲面邊界類型可以識別圓角種類,其識別流程如圖4所示。

圖4 圓角類特征識別
2.2.2 圓角類特征再建
經過初步處理后的STEP格式模型仍可能存在不合理的B曲面、相交曲線等情況,因此不但需要提供對典型圓角的處理功能,還需處理異常曲面,根據不同的情況可采用以下3種方法。
(1)移除面。對于特征類型正常且不存在復雜的相交特征的圓角面,應用NX Open命名空間Features屬性下的Delete Face Builder方法,設置相關屬性,然后移除目標圓角面。
(2)通過添加特征進行布爾運算處理異常曲面。使用特征創建方法,以目標圓角的對角線為參考創建方塊,然后根據圓角類型進行求和或求差去圓角,即對內圓角(凹面)進行求差,對外圓角(凸面)進行求和運算。
(3)通過拉伸圓角面處理異常曲面。如圖5所示,先查詢或選擇包含各種圓角類型的復合圓角,并獲取其終止平面,應用NX Open命名空間Features屬性中的Extrude Builder方法,設置拉伸方向與終止面外法向相反的方向,應用拉伸操作可以將圓角特征去除。

圖5 復合圓角
凸臺和孔特征在數模中十分常見,對凸臺與孔的自動識別和自動再建有重要意義。孔及凸臺特征如圖6所示,根據壁面是否為圓柱面,孔可分為圓孔和異形孔,凸臺可分為圓臺和異形凸臺。根據孔是否貫通,又可分為通孔和盲孔。

圖6 孔及凸臺特征
在進行孔類及凸臺類特征識別前,需先了解邊的凹凸性判斷方法及內環的概念。邊的凹凸性判斷方法如下[7]。
(1)當邊為直線時,如圖7所示,在需要判斷邊的相鄰兩面上分別找點p1及p2,要求p1、p2在垂直于邊的同一平面內,p1沿其所屬平面的外法向方向上平移1個單位得到p3,p2沿其所屬平面的外法向方向上平移1個單位得到 p4,p1和p2間的距離記為d1,p3和p4間的距離記為 d2,比較 d1與d2的大小,若d1>d2則該邊是凹邊,反之為凸邊。

圖7 直線凹凸性判斷
(2)當邊為曲線時,如圖8所示,曲線所屬的面存在圓柱曲面。針對該情況,引用微分方法,在圓柱曲面上取一微小曲面,當曲面足夠小時可近似于平面,而曲線上的這一小段邊可近似于直線,可引用第(1)種判斷方法。

圖8 曲線凹凸性判斷
環(loop)是有序且有向邊組成的封閉邊界,環中相鄰邊共享1個頂點,且環中的邊不相交。環不但有方向之分,還有內外之分,外環邊以逆時針方向排列,內環邊以順時針方向排列。
在識別孔特征時,先遍歷種子面(face)上的所有內環,如果內環為凸邊,可初步判定該種子面為孔特征的入口平面,內環為有效孔邊界。然后用插值取點射線法[8]判定是否為貫通孔,具體為:找出內環在x、y、z方向的上、下區間,然后插值法取點,取到的點為試探點,獲取種子面在各試探點的法向,接著分別以試探點為起點,向正反法向發射射線,若均不與實體相交,則可認定為通孔,否則是盲孔。最后根據內環形狀可判定是圓孔還是異形孔。
在識別凸臺特征時,類似地遍歷種子面上的內環,若內環為凹邊,找到內環所屬的另一面為特征面,特征面的另一相鄰面是平面,且該平面只與特征面相鄰,即可判斷為凸臺類特征。
識別完成后,需要結合實際加工工藝進行后續的處理及數模再建,對于孔類特征,需要考慮其孔徑大小及其軸向與加工方向的差異。若其軸向與加工方向不同,且孔徑不大,需考慮填充整個孔;若其孔徑較大,為避免過多的材料浪費,在加工過程中可調整加工方向使其與孔的軸向相同。對于軸向與加工方向相同的孔,若其孔徑較小,為保證加工精度和減少路徑規劃的難度需要將該類孔完全填充;若孔徑較大,則向內添加一定的單邊余量,即在自動建模中可設置一臨界值,當孔徑小于該值時填充孔,大于該值時則添加一定的余量。
對于凸臺類特征,一般沿外表面方向添加一定的余量即可;對于有環形圓角的凸臺,則可根據圓角補償方式添加足夠的外表面余量以包含圓角特征。在實際再建處理過程中,可先移除圓角再給凸臺添加余量或使用UF方法的偏移面函數UF_MODL_create_face_offset進行偏置操作,再進一步處理圓角。
針對處理STEP格式模型,開發了相應的數模特征識別與快捷再建CAD系統,共有8個功能模塊,如圖9所示。

圖9 系統功能模塊
應用開發的系統對圖10所示模型進行處理,由于模型具有保密要求,僅截取其中一段模型,該部分模型細節較多,且在NX中的特征對象類型混亂,無法對其進行直接再建。

圖10 電子束模型實例部分
應用線面信息查詢功能,如圖11所示,該模型存在大量的容錯曲線及B樣條曲線,而這些曲線本應該是正常的直線或圓弧等曲線。

圖11 容錯曲線等異常曲線
先應用異常曲線曲面處理功能對目標體進行優化,然后應用圓角處理功能對各類圓角處理。對初步優化后的目標體進行圓角識別,結果如圖12所示,其圓角種類組成復雜,不但包含普通的圓角和拐角,還包含B曲面。對這些結構除了使用開發的自動再建功能外,還需用到交互式圓角再建功能。

圖12 圓角識別
該處復雜曲面類型經過初步圓角補償處理后,可達到圖13所示形狀。

圖13 初步圓角補償
根據電子束加工特點,對于參差不齊的邊與塊,當兩者高度差較小時,應使2個面平齊,減少階梯的出現,以利于路徑規劃及后續的加工過程。經過階梯面的再建結果如圖14所示,最后再對孔進行識別和處理,根據臨界值對大孔添加余量,對小孔填充處理。

圖14 階梯面處理
基于STEP格式文件的數模特征識別與再建CAD系統,解決了電子束熔絲成形設計過程中不同專業CAD軟件的中間格式轉換導致的異常問題,完成了從目標數模到加工數模的轉換,提高了模型再建的效率與設計規范性。