沈陽航空航天大學 劉寶明 韓志仁
我國航空鈑金零件大多用法國Dassault公司的CATIA建模,CATIA提供的航空鈑金模塊雖然專門針對航空零件,但生成鈑金件二維展開視圖時不能生成彎邊角度線,也不能進行彎邊角度值的標注。因此長期以來都是采用手工的方法,即必須手動在三維模型上確定各切面位置,切取大量的切面后分析角度。生成二維展開視圖時,須將切面位置測量到二維視圖上,按三維空間分析得出的角度值在相應的切面位置標注彎邊角度值。特別是0°角的位置需經(jīng)多次試切才能找到,浪費大量時間,同時0°位置可能是近似的。
針對這一現(xiàn)狀,本課題組開發(fā)了基于CATIA環(huán)境下的飛機鈑金件二維展開視圖自動標注彎邊角度系統(tǒng),主要用于機身與機尾翼零件的二維展開,能夠?qū)崿F(xiàn)生成二維展開視圖后按規(guī)定的間隔(如30'或1°)直接生成各彎邊角度值位置點及角度值標記,自動標出0°角位置,并在零件邊緣標注角度值。本軟件系統(tǒng)采用CAA(Component Application Architecture)進行CATIA的二次開發(fā),使軟件內(nèi)嵌于CATIA V5平臺,與CATIA實現(xiàn)無縫結(jié)合。
不同類型的零件需要采用不同的算法,因此有必要對零件分類,按照不同的規(guī)則生成彎邊角度線。對于雙曲面的機身零件采用割線斜角,對于直母線的機尾翼中,采用切線斜角,如圖1所示。
圖1 彎邊角度示意圖Fig.1 Diagram of curve edge angle
系統(tǒng)采用模塊化的設計方法,每一模塊具有獨立的功能,且又組成一個有機的整體,方便系統(tǒng)優(yōu)化與完善,結(jié)構(gòu)如圖2所示。
1.2.1 幾何信息拾取及預處理
此模塊根據(jù)CATIA的拾取及CAA的交互功能,主要完成系統(tǒng)計算所需的幾何信息的拾取及預處理,按所處理的零件類型,分別從原始零件圖中拾取計算所需幾何元素,如腹板、彎邊內(nèi)(外)型面和各表面的外延線,以及彎邊外型面的頂點等。在此模塊中利用函數(shù)完成提取表面的外插延伸,求其交線,即內(nèi)(外)型交叉線,并分別存儲。
1.2.2 彎邊角度計算
彎邊角度計算模塊主要完成如下功能。
(1)根據(jù)用戶輸入的截面?zhèn)€數(shù)將內(nèi)(外)型交叉線離散,并生成曲線的法平面,對零件進行切分。
(2)求出截面與腹板面和彎邊面的交線,進而根據(jù)交線及彎曲角生成規(guī)則求出彎曲角。
(3)根據(jù)用戶輸入的間隔角度大小及允許角度誤差參數(shù),對求出的各截面處的彎曲角進行排序篩選,去除多余的角度值,只保留必須的數(shù)據(jù)。同時刪除多余角度位置對應的截面線。
圖2 系統(tǒng)結(jié)構(gòu)Fig.2 System structure
1.2.3 鈑金件二維展開圖繪制
二維展開視圖的繪制采用CATIA鈑金模塊的展開命令展開原始鈑金件,再投影到二維圖紙空間中完成。由于直接將展開的鈑金件投影生成的視圖會出現(xiàn)多余線條,并且無法得到所需的角度線,故此模塊采用投影曲面的方法,實現(xiàn)步驟如下。
(1)展開原始鈑金件。
(2)由程序提取展開后零件的外表面,并在角度線位置根據(jù)保留的截面線拉伸為投影輔助平面。
(3)建立新的Part文件并將所有輔助面拷貝至該Part文件中。
(4)建立CATDrawing文件,將新建的Part文件內(nèi)的輔助面做正投影,生成二維視圖。
(5)在角度線位置標注角度值。
CAA下CATIA的二次開發(fā)有2種模式,即交互式和批處理[1-2]。采用批處理式的開發(fā)方法不需要啟動CATIA軟件,直接將零件數(shù)模讀入內(nèi)存進行處理,由于本系統(tǒng)需要與用戶進行交互得到數(shù)模中指定的幾何元素,故此方法并不適用,應采用交互式開發(fā)方法。
下面以Visual Studio.net 2003環(huán)境下對CATIA V5R16進行二次開發(fā)為例,介紹建立開發(fā)工程的關(guān)鍵步驟。
建立新的CAA工程后,添加新組件,在可用C++接口列表中選擇CATIPrtWksAddin,系統(tǒng)會自動建立新的Addin類,并生成該類的頭文件(*.h)與實現(xiàn)文件(*.cpp),當用戶啟動CATIA軟件,打開Part零件時會調(diào)用該類的特定函數(shù),完成初始化過程。
用戶使用本系統(tǒng)對零件數(shù)模進行處理時,應根據(jù)需要完成的內(nèi)容選擇相應的菜單或工具條中的按鈕,菜單與工具條的初始化是在上述生成的文件中完成的。實現(xiàn)方法如下。
(1)重載CreateCommands()函數(shù),并在該函數(shù)中注冊新的命令,如下語句在系統(tǒng)中注冊了CalAngCmdHdr命令。
new C A T A u t o D r a w A n g W k b C m d H e a d e r("CalAngCmdHdr", "AutoDrawAngModule",
"CalAngCmd", (void*) NULL);
(2)重載CreateToolbars()函數(shù),并在該函數(shù)中添加菜單項和工具條,代碼如下:
//創(chuàng)建新工具條
NewAccess(CATCmdContainer,pAutoDrwAng,"自動標注角度");
//添加第一菜單項
NewAccess(CATCmdStarter,pPickMsg,PICKMSG);
SetAccessCommand(pPickMsg," PickMsgHdr");
SetAccessChild(pAutoDrwAng, pPickMsg);
//添加第二菜單項
NewAccess(CATCmdStarter,pCalAng,CALANG);
SetAccessCommand(pCalAng,"CalAngHdr");
SetAccessNext(pPickMsg, pCalAng);
……
//創(chuàng)建新菜單
NewAccess(CATCmdContainer,pMenu,CATUserMainb ar);
NewAccess(CATCmdContainer,pCATUserMainMenu,自動標注角度);
SetAccessChild(pCurveM,pCATUserMainMenu);
……
SetAddinMenu(pAutoDrwAng, pMenu);//添加系統(tǒng)菜單
AddToolbarView(pAutoDrwAng,1,Right);//添加系統(tǒng)工具條
圖3為飛機彎邊零件的三維數(shù)模,包括4個彎邊,分別為直彎邊和曲彎邊,使用本軟件處理后得到的二維標注視圖如圖4所示。
圖3 零件三維數(shù)模Fig.3 Parts 3D digital model
圖4 展開后的標注視圖Fig.4 Flat pattern dimensional view
本文提供了一個飛機鈑金件二維展開視圖自動標注彎邊角度系統(tǒng),能夠?qū)C身、機尾翼等各種復雜零件的彎邊二維展開圖自動生成角度線位置,并按預定規(guī)則進行角度值的標注。處理結(jié)果滿足企業(yè)要求,實現(xiàn)了零件處理的自動化,從而縮短了飛機生產(chǎn)準備周期。
[1] 張敏,蘇蘭海,王君英.基于CAA的CATIA用戶自定義特征創(chuàng)建.機械設計與制造, 2008(9):87-89.
[2] 龍峰,樊留群.CATIA V5二次開發(fā)技術(shù)探討.淮陰工學院學報 ,2005,14(5):21-27.