馬曉祿
(中國直升機設(shè)計研究所,江西景德鎮(zhèn) 333001)
CATIA 軟件廣泛應(yīng)用于航空航天及汽車制造領(lǐng)域,其強大的曲面構(gòu)造能力能滿足復(fù)雜外形設(shè)計的要求,是一款主流的CAD/CAE/CAM 軟件。在設(shè)計航空產(chǎn)品時,須采用航空標準零件,此時需要對零件進行建模。通過CATIA 的二次開發(fā)接口能夠?qū)崿F(xiàn)參數(shù)化建模,減少建模時間和建模中的錯誤,該方法適用于使用多個參數(shù)定義的零件的建模過程。
CATIA 為用戶提供了應(yīng)用開發(fā)接口,用戶可以根據(jù)這些接口進行二次開發(fā),從而實現(xiàn)自定義功能。CATIA提供了兩種不同的開發(fā)方法,其一是通過(COM 自動化接口)COM Automation Interface,利用編程語言對該接口的調(diào)用實現(xiàn)二次開發(fā),如圖1 所示,可以通過宏腳本、VBA 等實現(xiàn)。
圖1 CATIA利用COM自動化接口進行二次開發(fā)
通過VBA(Visual Basic for Application)來實現(xiàn)二次開發(fā),該方法具有操作簡便,易于掌握等優(yōu)點,基本可以實現(xiàn)CATIA 中的所有建模操作;另一種則是通過CAA(Component Application Architecture,基于組件的應(yīng)用架構(gòu)),原理是利用C++或者JAVA 編程語言調(diào)用應(yīng)用開發(fā)接口CATIA V5 C++ & JAVA API[1],該方法可以滿足從簡單到復(fù)雜的二次開發(fā)需求,具有執(zhí)行效率高、運行速度快等優(yōu)點,但由于其代碼更接近CATIA 開發(fā)環(huán)境,入門難度較大。
典型的VBA 二次開發(fā)分為以下步驟,如圖2 所示。首先,通過建模分析提取參數(shù)化條件;其次,在CATIA的VB 編輯器中定制界面;再次,通過代碼調(diào)用CATIA接口,通過調(diào)試完善代碼,若需對程序進行功能擴充,則需從建模分析,對需擴充的功能進行建模分析、提取參數(shù)化條件等一系列操作;最后,定制工具條按鈕,作為程序入口。
圖2 VBA二次開發(fā)流程
本文以航空標準零件六角頭螺栓(HB1-101-83)為例,采用基于VBA 的二次開發(fā),通過編程實現(xiàn)該零件的參數(shù)化建模。
航空標準零件六角頭螺栓(HB1-101-83)是常用的連接件,其尺寸主要由如圖3 中所示的幾個參數(shù)來確定。
圖3 六角頭螺栓外形尺寸
在這些參數(shù)中,只與選取的螺栓直徑d1相關(guān)聯(lián)的有:螺栓頭高H、螺栓頭最小寬度S、螺栓頭最大寬度D,螺栓頭與光桿圓角半徑r、開口銷孔直徑d2(可無開口銷孔)。若確定了螺栓直徑,則以上參數(shù)也隨之確定。
除了以上參數(shù)外,其他參數(shù)由使用者根據(jù)實際情況進行自定義:螺桿長度L、螺紋長度l0和開口銷孔與頂端距離C。其中,對于不同的螺栓直徑,其螺桿長度L會有一定的范圍;螺紋長度l0只與螺栓直徑d1相關(guān),標準手冊中;對于開口銷孔與頂端距離C,標準中給出了參考值,可以在一定范圍內(nèi)對參考值進行修改。表1 中是M4 六角頭螺栓(螺栓直徑為4)的參數(shù)。
表1 M4螺栓的參數(shù)
對于每一直徑的螺栓,建立一組數(shù)據(jù),并將這組數(shù)據(jù)添加到結(jié)構(gòu)體數(shù)組(結(jié)構(gòu)體在VB 中稱之為用戶定義數(shù)據(jù)類型)中,在使用時根據(jù)使用者選取的螺栓直徑在結(jié)構(gòu)體數(shù)組中進行查找,并選取該直徑下的一組參數(shù),根據(jù)這些已知參數(shù),加上使用者自定義的參數(shù),就可以進行螺栓的建模。M4 六角頭螺栓的參數(shù)在結(jié)構(gòu)體數(shù)組中的表示方式如下:
‘hexBolt(2).Dmin=7.8 注:由S 就可確定六邊形大小,因此無需該項
程序流程如圖4 所示,首先程序彈出界面,讓用戶輸入螺栓直徑、螺栓長度、是否需要開口銷孔及開口銷孔位置,輸入后程序會根據(jù)用戶輸入的螺栓直徑在已有的結(jié)構(gòu)體數(shù)組中查找,自行判定輸入的螺栓直徑與螺栓長度是否符合標準要求,若符合則自動根據(jù)所選尺寸進行建模生成零件,若不滿足,程序會提示用戶重新輸入螺栓的尺寸信息,直到尺寸信息符合標準后才會建模生成零件。
圖4 程序流程
運行程序后的操作界面如圖5(a)所示,在使用時首先輸入螺栓直徑和螺栓長度,根據(jù)需要選擇是否帶有開口銷孔,若有開口銷孔,下方的“銷孔直徑”一欄會顯示當(dāng)前螺栓直徑下的銷孔直徑,“銷孔中心與頂端距離”一欄也會變成可用狀態(tài),并提供參考值,使用者可以根據(jù)實際對該值進行修改,如圖5(b)所示。
圖5 操作界面
單擊“開始”,程序便根據(jù)設(shè)定好的參數(shù)進行建模,在一般情況下,運行時間在1s ~3s,生成的零件模型如圖6 所示。
圖6 生成的零件模型
使用VBA 進行CATIA 的二次開發(fā),實現(xiàn)零件的參數(shù)化建模,使用者只需要輸入一組簡單的參數(shù),程序就會按照標準手冊中的數(shù)據(jù)自動建立零件模型,不僅提高了效率,而且減少了使用者自行建模中可能產(chǎn)生的錯誤。編寫一整套標準零件的參數(shù)化建模程序,形成體系后,能大幅提高設(shè)計人員在使用標準零件時的效率。