唐博文,廖敦明,唐紹寧,楊 光,楊 帆
(1.華中科技大學(xué) 材料成形與模具技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430074;2.中國(guó)航空制造技術(shù)研究院,北京 100024)
我國(guó)航天航空事業(yè)的飛速發(fā)展,對(duì)其領(lǐng)域的高端裝備有了新的技術(shù)需求,需要發(fā)展更高精度、更高參數(shù)的大型設(shè)備,同時(shí)可應(yīng)用于更加惡劣的工作環(huán)境。電子束熔絲增材制造具有成形速度快、力學(xué)性能優(yōu)良、缺陷可控等優(yōu)勢(shì),可適用于高性能大型金屬構(gòu)件的加工制造,能有效縮短生產(chǎn)周期、降低生產(chǎn)成本,因而在航空領(lǐng)域得到了廣泛應(yīng)用[1,2]。
電子束熔絲增材制造工藝流程分為前處理、打印成形和后處理三部分[3],不同的處理過(guò)程需要用到相應(yīng)的專業(yè)CAD工具,而不同CAD工具所支持及保存的模型文件結(jié)構(gòu)存在一定的差異,因此存在數(shù)模文件格式轉(zhuǎn)換的環(huán)節(jié)。同時(shí)在前處理中,傳統(tǒng)手動(dòng)建模過(guò)程繁瑣、規(guī)范性差、效率低,導(dǎo)致制造周期長(zhǎng)?;谏鲜鰡?wèn)題,有必要開(kāi)發(fā)專用文件處理接口及數(shù)模特征識(shí)別與快捷再建系統(tǒng),實(shí)現(xiàn)對(duì)文件格式轉(zhuǎn)換的處理及關(guān)鍵特征的識(shí)別和重建。
基于NX 10.0開(kāi)發(fā)平臺(tái),在Visual Studio 2012編譯環(huán)境下,以C/C++為開(kāi)發(fā)語(yǔ)言,應(yīng)用NX二次開(kāi)發(fā)框架下的NX Open API、Block UI Styler和Menuscript技術(shù)[3,4],對(duì)中間格式STEP模型文件在NX中結(jié)構(gòu)特征進(jìn)行對(duì)比分析,開(kāi)發(fā)能夠處理STEP格式的數(shù)模特征識(shí)別與快捷再建CAD系統(tǒng)。
STEP中間文件包含較多的產(chǎn)品信息,主要包括B-Rep模型信息[5],B-Rep(boundary representations)即邊界表示法,通過(guò)頂點(diǎn)、邊、面表示實(shí)體表面的邊界,進(jìn)而確定實(shí)體的內(nèi)部點(diǎn)和外部點(diǎn),建立實(shí)體三維模型。
系統(tǒng)旨在提高數(shù)模再建過(guò)程中的自動(dòng)化和智能化程度,簡(jiǎn)化人工操作步驟,為STEP格式文件模型的再建提供解決方案。數(shù)模再建系統(tǒng)通過(guò)導(dǎo)入模型文件,進(jìn)行模型修復(fù),然后提取模型特征信息,結(jié)合特征庫(kù)對(duì)模型結(jié)構(gòu)進(jìn)行智能補(bǔ)償。
分析系統(tǒng)處理順序可分為三部分:①針對(duì)STEP模型文件在NX中讀取后可能存在的格式錯(cuò)誤,進(jìn)行特征修復(fù),優(yōu)化線面;②對(duì)需要優(yōu)化的典型特征進(jìn)行識(shí)別及提??;③基于提取的特征,進(jìn)行相關(guān)的優(yōu)化處理,如對(duì)模型添加余量補(bǔ)償?shù)取\浖幚砜蚣苋鐖D1所示。
圖1 軟件處理框架
NX軟件提供了導(dǎo)入IGES、STEP等格式的中性文件接口,雖然在NX軟件中打開(kāi)STEP格式的文件后進(jìn)行了較完善的處理,消除了曲線曲面的丟失和缺損的現(xiàn)象,然而其載入后的文件與在NX平臺(tái)上獨(dú)立建立的模型仍有所差別,不利于對(duì)模型進(jìn)行進(jìn)一步的處理操作。NX載入STEP源文件后其模型沒(méi)有具體構(gòu)建過(guò)程,可能存在一些曲線類(lèi)特征異常,如不同CAD造型軟件使用的造型方法有所差異,可能會(huì)出現(xiàn)圓柱面等未縫合現(xiàn)象,圖2箭頭指示處出現(xiàn)了圓柱面及圓孔面分割現(xiàn)象。
圖2 分割的圓孔面
大量的邊界曲線以容錯(cuò)曲線(tolerant curve)的形式出現(xiàn),導(dǎo)致邊界特征識(shí)別困難,如圓環(huán)的邊界曲線不為圓弧,使其難以獲得圓心位置等坐標(biāo)信息。部分平面或曲面的特征類(lèi)型也以非參B曲面((non-parametric)trimmed B-surface)形式出現(xiàn),給這些曲面特征的自動(dòng)識(shí)別帶來(lái)一定的困難。
為解決這些問(wèn)題,使NX載入STEP格式模型后能對(duì)其進(jìn)行特征識(shí)別及模型再建,運(yùn)用NX二次開(kāi)發(fā)技術(shù),開(kāi)發(fā)了目標(biāo)體上異常曲線及曲面的查找和顯示功能,并提供以下2種曲線曲面修復(fù)方式。
(1)應(yīng)用NX Open的Features屬性下的Optimize Face Builder方法,對(duì)曲面進(jìn)行優(yōu)化,該方法可以將不合理的分裂面連在一起,也可恢復(fù)多數(shù)不合理的B曲面異常情況。但該方法會(huì)去除部件導(dǎo)航器的歷史操作記錄。
(2)使用UFUN方法中UF_MODL_edit_face_join函數(shù)進(jìn)行連結(jié)面處理。該方法可以將2個(gè)面合并成1個(gè)面,合成后的面為B曲面特征類(lèi)型。
2.2.1 圓角類(lèi)特征分類(lèi)及特征識(shí)別
一般零件設(shè)計(jì)過(guò)程中,為減小應(yīng)力集中和加工難度,常會(huì)設(shè)計(jì)圓角、拐角等過(guò)渡曲面。但在電子束熔絲增材制造過(guò)程中,半徑較小的圓角類(lèi)特征不利于加工路徑的規(guī)劃,也難以直接形成圓角類(lèi)形狀,為避免此類(lèi)特征阻礙后續(xù)路徑規(guī)劃過(guò)程,需對(duì)其進(jìn)行處理[6]。
根據(jù)圓角的形式,可分為環(huán)形圓角、普通圓角(內(nèi)圓角及外圓角)、拐角及球形拐角,如圖3所示。其中環(huán)形圓角及拐角在NX中對(duì)象模型特征類(lèi)別都為旋轉(zhuǎn)面,但環(huán)形圓角有2個(gè)封閉環(huán),而拐角只有1個(gè)封閉環(huán)特征。普通圓角在NX中對(duì)象模型特征類(lèi)別為圓柱面,球形拐角的對(duì)象模型特征類(lèi)別則為球面。
圖3 圓角類(lèi)型
基于各類(lèi)圓角的差異,可根據(jù)其邊界特征識(shí)別各類(lèi)圓角。遍歷目標(biāo)體(body)對(duì)象的所有面,查詢曲面的特征種類(lèi),獲取符合曲面類(lèi)型的所有曲面即可查找所有圓角類(lèi)特征,進(jìn)一步根據(jù)曲面邊界類(lèi)型可以識(shí)別圓角種類(lèi),其識(shí)別流程如圖4所示。
圖4 圓角類(lèi)特征識(shí)別
2.2.2 圓角類(lèi)特征再建
經(jīng)過(guò)初步處理后的STEP格式模型仍可能存在不合理的B曲面、相交曲線等情況,因此不但需要提供對(duì)典型圓角的處理功能,還需處理異常曲面,根據(jù)不同的情況可采用以下3種方法。
(1)移除面。對(duì)于特征類(lèi)型正常且不存在復(fù)雜的相交特征的圓角面,應(yīng)用NX Open命名空間Features屬性下的Delete Face Builder方法,設(shè)置相關(guān)屬性,然后移除目標(biāo)圓角面。
(2)通過(guò)添加特征進(jìn)行布爾運(yùn)算處理異常曲面。使用特征創(chuàng)建方法,以目標(biāo)圓角的對(duì)角線為參考創(chuàng)建方塊,然后根據(jù)圓角類(lèi)型進(jìn)行求和或求差去圓角,即對(duì)內(nèi)圓角(凹面)進(jìn)行求差,對(duì)外圓角(凸面)進(jìn)行求和運(yùn)算。
(3)通過(guò)拉伸圓角面處理異常曲面。如圖5所示,先查詢或選擇包含各種圓角類(lèi)型的復(fù)合圓角,并獲取其終止平面,應(yīng)用NX Open命名空間Features屬性中的Extrude Builder方法,設(shè)置拉伸方向與終止面外法向相反的方向,應(yīng)用拉伸操作可以將圓角特征去除。
圖5 復(fù)合圓角
凸臺(tái)和孔特征在數(shù)模中十分常見(jiàn),對(duì)凸臺(tái)與孔的自動(dòng)識(shí)別和自動(dòng)再建有重要意義??准巴古_(tái)特征如圖6所示,根據(jù)壁面是否為圓柱面,孔可分為圓孔和異形孔,凸臺(tái)可分為圓臺(tái)和異形凸臺(tái)。根據(jù)孔是否貫通,又可分為通孔和盲孔。
圖6 孔及凸臺(tái)特征
在進(jìn)行孔類(lèi)及凸臺(tái)類(lèi)特征識(shí)別前,需先了解邊的凹凸性判斷方法及內(nèi)環(huán)的概念。邊的凹凸性判斷方法如下[7]。
(1)當(dāng)邊為直線時(shí),如圖7所示,在需要判斷邊的相鄰兩面上分別找點(diǎn)p1及p2,要求p1、p2在垂直于邊的同一平面內(nèi),p1沿其所屬平面的外法向方向上平移1個(gè)單位得到p3,p2沿其所屬平面的外法向方向上平移1個(gè)單位得到 p4,p1和p2間的距離記為d1,p3和p4間的距離記為 d2,比較 d1與d2的大小,若d1>d2則該邊是凹邊,反之為凸邊。
圖7 直線凹凸性判斷
(2)當(dāng)邊為曲線時(shí),如圖8所示,曲線所屬的面存在圓柱曲面。針對(duì)該情況,引用微分方法,在圓柱曲面上取一微小曲面,當(dāng)曲面足夠小時(shí)可近似于平面,而曲線上的這一小段邊可近似于直線,可引用第(1)種判斷方法。
圖8 曲線凹凸性判斷
環(huán)(loop)是有序且有向邊組成的封閉邊界,環(huán)中相鄰邊共享1個(gè)頂點(diǎn),且環(huán)中的邊不相交。環(huán)不但有方向之分,還有內(nèi)外之分,外環(huán)邊以逆時(shí)針?lè)较蚺帕?,?nèi)環(huán)邊以順時(shí)針?lè)较蚺帕小?/p>
在識(shí)別孔特征時(shí),先遍歷種子面(face)上的所有內(nèi)環(huán),如果內(nèi)環(huán)為凸邊,可初步判定該種子面為孔特征的入口平面,內(nèi)環(huán)為有效孔邊界。然后用插值取點(diǎn)射線法[8]判定是否為貫通孔,具體為:找出內(nèi)環(huán)在x、y、z方向的上、下區(qū)間,然后插值法取點(diǎn),取到的點(diǎn)為試探點(diǎn),獲取種子面在各試探點(diǎn)的法向,接著分別以試探點(diǎn)為起點(diǎn),向正反法向發(fā)射射線,若均不與實(shí)體相交,則可認(rèn)定為通孔,否則是盲孔。最后根據(jù)內(nèi)環(huán)形狀可判定是圓孔還是異形孔。
在識(shí)別凸臺(tái)特征時(shí),類(lèi)似地遍歷種子面上的內(nèi)環(huán),若內(nèi)環(huán)為凹邊,找到內(nèi)環(huán)所屬的另一面為特征面,特征面的另一相鄰面是平面,且該平面只與特征面相鄰,即可判斷為凸臺(tái)類(lèi)特征。
識(shí)別完成后,需要結(jié)合實(shí)際加工工藝進(jìn)行后續(xù)的處理及數(shù)模再建,對(duì)于孔類(lèi)特征,需要考慮其孔徑大小及其軸向與加工方向的差異。若其軸向與加工方向不同,且孔徑不大,需考慮填充整個(gè)孔;若其孔徑較大,為避免過(guò)多的材料浪費(fèi),在加工過(guò)程中可調(diào)整加工方向使其與孔的軸向相同。對(duì)于軸向與加工方向相同的孔,若其孔徑較小,為保證加工精度和減少路徑規(guī)劃的難度需要將該類(lèi)孔完全填充;若孔徑較大,則向內(nèi)添加一定的單邊余量,即在自動(dòng)建模中可設(shè)置一臨界值,當(dāng)孔徑小于該值時(shí)填充孔,大于該值時(shí)則添加一定的余量。
對(duì)于凸臺(tái)類(lèi)特征,一般沿外表面方向添加一定的余量即可;對(duì)于有環(huán)形圓角的凸臺(tái),則可根據(jù)圓角補(bǔ)償方式添加足夠的外表面余量以包含圓角特征。在實(shí)際再建處理過(guò)程中,可先移除圓角再給凸臺(tái)添加余量或使用UF方法的偏移面函數(shù)UF_MODL_create_face_offset進(jìn)行偏置操作,再進(jìn)一步處理圓角。
針對(duì)處理STEP格式模型,開(kāi)發(fā)了相應(yīng)的數(shù)模特征識(shí)別與快捷再建CAD系統(tǒng),共有8個(gè)功能模塊,如圖9所示。
圖9 系統(tǒng)功能模塊
應(yīng)用開(kāi)發(fā)的系統(tǒng)對(duì)圖10所示模型進(jìn)行處理,由于模型具有保密要求,僅截取其中一段模型,該部分模型細(xì)節(jié)較多,且在NX中的特征對(duì)象類(lèi)型混亂,無(wú)法對(duì)其進(jìn)行直接再建。
圖10 電子束模型實(shí)例部分
應(yīng)用線面信息查詢功能,如圖11所示,該模型存在大量的容錯(cuò)曲線及B樣條曲線,而這些曲線本應(yīng)該是正常的直線或圓弧等曲線。
圖11 容錯(cuò)曲線等異常曲線
先應(yīng)用異常曲線曲面處理功能對(duì)目標(biāo)體進(jìn)行優(yōu)化,然后應(yīng)用圓角處理功能對(duì)各類(lèi)圓角處理。對(duì)初步優(yōu)化后的目標(biāo)體進(jìn)行圓角識(shí)別,結(jié)果如圖12所示,其圓角種類(lèi)組成復(fù)雜,不但包含普通的圓角和拐角,還包含B曲面。對(duì)這些結(jié)構(gòu)除了使用開(kāi)發(fā)的自動(dòng)再建功能外,還需用到交互式圓角再建功能。
圖12 圓角識(shí)別
該處復(fù)雜曲面類(lèi)型經(jīng)過(guò)初步圓角補(bǔ)償處理后,可達(dá)到圖13所示形狀。
圖13 初步圓角補(bǔ)償
根據(jù)電子束加工特點(diǎn),對(duì)于參差不齊的邊與塊,當(dāng)兩者高度差較小時(shí),應(yīng)使2個(gè)面平齊,減少階梯的出現(xiàn),以利于路徑規(guī)劃及后續(xù)的加工過(guò)程。經(jīng)過(guò)階梯面的再建結(jié)果如圖14所示,最后再對(duì)孔進(jìn)行識(shí)別和處理,根據(jù)臨界值對(duì)大孔添加余量,對(duì)小孔填充處理。
圖14 階梯面處理
基于STEP格式文件的數(shù)模特征識(shí)別與再建CAD系統(tǒng),解決了電子束熔絲成形設(shè)計(jì)過(guò)程中不同專業(yè)CAD軟件的中間格式轉(zhuǎn)換導(dǎo)致的異常問(wèn)題,完成了從目標(biāo)數(shù)模到加工數(shù)模的轉(zhuǎn)換,提高了模型再建的效率與設(shè)計(jì)規(guī)范性。