呂奉陽(yáng) 申威 韓強(qiáng) 羅培鋒
摘 要:為了減少重復(fù)設(shè)計(jì),提高工作效率,對(duì)CATIA二次開發(fā)進(jìn)行了研究。介紹了CATIA二次開發(fā)的基本流程,采用VBS編寫了批量導(dǎo)入坐標(biāo)點(diǎn)、批量創(chuàng)建焊點(diǎn)球面、批量更改零件顏色和圖紙鏈接替換等應(yīng)用實(shí)例代碼。通過(guò)應(yīng)用實(shí)例,驗(yàn)證了CATIA二次開發(fā)的實(shí)用性和高效性。
關(guān)鍵詞:VBS;CATIA;二次開發(fā);車身設(shè)計(jì)
1 引言
車身設(shè)計(jì)過(guò)程中,經(jīng)常遇到一些重復(fù)性工作,例如將坐標(biāo)點(diǎn)信息從EXCEL導(dǎo)入CATIA,焊點(diǎn)設(shè)計(jì)時(shí)將坐標(biāo)點(diǎn)生成球面,統(tǒng)計(jì)車身材料分布時(shí)將零件用不同顏色區(qū)分,零件號(hào)更改后圖紙鏈接失效導(dǎo)致重新出圖。這些工作內(nèi)容本身并不復(fù)雜,由于坐標(biāo)點(diǎn)數(shù)量多,焊點(diǎn)數(shù)量多,車身零件多,圖紙信息量大,導(dǎo)致工時(shí)增加,影響工作效率及開發(fā)周期。為了減少重復(fù)設(shè)計(jì)工作量,提高工作效率,CATIA二次開發(fā)日益受到重視。
2 理論介紹
2.1 VBS腳本語(yǔ)言
VBS全稱Microsoft Visual Basic Script Edition,即微軟公司可視化BASIC腳本版。VBS是基于Visual Basic的腳本語(yǔ)言,是Visual Basic的一個(gè)抽象子集,是Windows系統(tǒng)內(nèi)置的,用它編寫的腳本代碼不需編譯成二進(jìn)制文件,直接由Windows系統(tǒng)執(zhí)行。
VBS腳本不需使用專業(yè)的編程軟件,應(yīng)用Windows系統(tǒng)自帶的記事本即可。將程序代碼輸入到記事本里面,然后保存為以.vbs為擴(kuò)展名的文件。雙擊VBS文件名即可執(zhí)行程序。
VBS語(yǔ)法簡(jiǎn)單,靈活高效,功能強(qiáng)大,可以使工作任務(wù)自動(dòng)化,可以讓設(shè)計(jì)師從重復(fù)瑣碎的工作中解脫出來(lái),提高工作效率?;谝陨咸攸c(diǎn),本文采用VBS腳本進(jìn)行CATIA二次開發(fā)。
2.2 CATIA V5 Automation
CATIA提供了兩種編程接口,一種是自動(dòng)化對(duì)象編程(V5 Automation),一種是開放的組件應(yīng)用架構(gòu)(CAA)。CAA功能全面,穩(wěn)定性好,適合深層次的CATIA二次開發(fā),但是對(duì)開發(fā)人員的要求較高,需要使用專業(yè)的編程軟件及工具。V5 Automation是基于COM技術(shù)的編程接口,描述了CATIA二次開發(fā)編程對(duì)象架構(gòu),包含不同接口中每個(gè)對(duì)象的方法屬性等詳細(xì)信息,是進(jìn)行CATIA二次開發(fā)的重要參考資料。本文采用基于V5 Automation 的CAITA的二次開發(fā)方法,使用VBS作為編程語(yǔ)言。
2.3 CATIA二次開發(fā)流程
CATIA二次開發(fā)的目的是滿足產(chǎn)品設(shè)計(jì)自動(dòng)化需求。所謂CATIA二次開發(fā),就是利用CATIA提供的API接口進(jìn)行程序設(shè)計(jì)開發(fā),拓展CATIA軟件功能,實(shí)現(xiàn)軟件功能個(gè)性化和操作自動(dòng)化。
進(jìn)行CATIA二次開發(fā),首先要了解CATIA V5 Automation API的基本架構(gòu),掌握常用對(duì)象的屬性和方法。CATIA V5 Automation對(duì)象架構(gòu)如圖1所示。
CATIA二次開發(fā)的過(guò)程可以理解為:用戶為實(shí)現(xiàn)某種功能,根據(jù)需要合理地調(diào)用V5 Automation提供的類、庫(kù)的屬性和方法以及二次開發(fā)函數(shù)。CATIA中的每個(gè)功能(包括零件設(shè)計(jì)、曲面設(shè)計(jì)、裝配設(shè)計(jì)、工程制圖等)以及所有的實(shí)體特征(包括草圖特征、修飾特征、曲面特征、變換特征、組合特征等)都有相應(yīng)的類、庫(kù)支撐,因此CATIA二次開發(fā)的主要工作就是合理地調(diào)用V5 Automation API對(duì)象進(jìn)行編程。對(duì)CATIA進(jìn)行二次開發(fā)的基本流程如圖2所示。
3 應(yīng)用實(shí)例
3.1 批量導(dǎo)入坐標(biāo)點(diǎn)
車身設(shè)計(jì)過(guò)程中,需要根據(jù)外部門的安裝需求導(dǎo)入坐標(biāo)點(diǎn),產(chǎn)品接口控制文件一般采用EXCEL文件形式,坐標(biāo)點(diǎn)位置通過(guò)xyz坐標(biāo)值確定。設(shè)計(jì)時(shí)一般采用手工輸入坐標(biāo)值的方法導(dǎo)入坐標(biāo)點(diǎn)。坐標(biāo)點(diǎn)較多時(shí),手工輸入工作量較大,且容易出錯(cuò)。利用VBS批量讀取EXCEL文件坐標(biāo)值并導(dǎo)入CATIA,可以提高工作效率。
批量導(dǎo)入坐標(biāo)點(diǎn)的基本流程如圖3所示。VBS腳本代碼如圖4所示。
圖5是EXCEL中的坐標(biāo)點(diǎn)示例。A、B、C三列分別代表點(diǎn)的x,y,z坐標(biāo)值。打開CATIA應(yīng)用程序,進(jìn)入零件設(shè)計(jì)或創(chuàng)成式曲面設(shè)計(jì)模塊。打開包含坐標(biāo)點(diǎn)的EXCEL文件:CreatPointFromEXCEL.xls。確認(rèn)文件名及路徑與VBS代碼一致。雙擊執(zhí)行VBS腳本,切換到CATIA應(yīng)用界面,可以看到EXCEL坐標(biāo)點(diǎn)已經(jīng)批量導(dǎo)入CATIA,如圖6所示。
3.2 批量創(chuàng)建焊點(diǎn)球面
汽車白車身一般由數(shù)百個(gè)鈑金沖壓件焊接而成,焊點(diǎn)設(shè)計(jì)是白車身設(shè)計(jì)的重要內(nèi)容。在CATIA中,兩層焊點(diǎn)一般采用半徑3mm的綠色球面表示。白車身焊點(diǎn)設(shè)計(jì)的特點(diǎn)是建模簡(jiǎn)單,焊點(diǎn)數(shù)量多,重復(fù)性工作量大,適合采用二次開發(fā)進(jìn)行批處理,提升建模效率。
批量創(chuàng)建焊點(diǎn)球面的基本流程如圖7所示。VBS腳本代碼如圖8所示。
打開包含坐標(biāo)點(diǎn)的CATIA文件,雙擊執(zhí)行VBS腳本,在CATIA文件中選擇包含坐標(biāo)點(diǎn)的幾何圖形集,完成坐標(biāo)點(diǎn)批量生成焊點(diǎn)球面如圖9所示。
3.3 批量更改零件顏色
白車身包含數(shù)百個(gè)零件,設(shè)計(jì)過(guò)程中,一般采用不同顏色進(jìn)行區(qū)分。實(shí)際應(yīng)用過(guò)程中,為了統(tǒng)計(jì)鍍鋅板及非鍍鋅板,沿用件及專用件,高強(qiáng)度鋼板應(yīng)用分布,需要在總成數(shù)據(jù)中對(duì)零件顏色進(jìn)行更改。
以高強(qiáng)度鋼板應(yīng)用分布為例,需要根據(jù)材料類別對(duì)零件進(jìn)行區(qū)分并用不同顏色表示。本文采用歐洲車身會(huì)議采用的車身材料顏色代碼定義,如表1所示。零件顏色更改的基本流程如圖10所示。VBS腳本代碼如圖11所示。
圖12是EXCEL中的零件顏色代碼定義示例。A列表示零件號(hào),B、C、D三列分別代表顏色代碼的R、G、B數(shù)值。打開CATIA總成數(shù)據(jù)文件,打開包含零件顏色代碼定義的EXCEL文件:Setcolor.xls。確認(rèn)文件名及路徑與VBS代碼一致。雙擊執(zhí)行VBS腳本,切換到CATIA應(yīng)用界面,可以看到零件顏色批量更改結(jié)果如圖13所示。
3.4 圖紙鏈接替換
車身開發(fā)過(guò)程中,經(jīng)常遇到由于設(shè)計(jì)變更或配置增加導(dǎo)致零件號(hào)更改的情況,零件號(hào)更改后導(dǎo)致2D圖紙鏈接數(shù)據(jù)失效,圖紙無(wú)法更新,重新出圖需要將圖紙信息重新標(biāo)注一遍,對(duì)于復(fù)雜零件,重新出圖工作量較大。利用CATIA二次開發(fā),將原圖紙鏈接數(shù)據(jù)替換為新數(shù)據(jù),然后在原圖紙上更新零件變化點(diǎn)的標(biāo)注信息即可,可以提高出圖效率。
圖紙鏈接替換的基本流程如圖14所示。VBS腳本代碼如圖15所示。
打開CATIA圖紙,打開圖紙鏈接數(shù)據(jù),將CATIA當(dāng)前工作視圖切換到圖紙。雙擊執(zhí)行VBS腳本,彈出對(duì)話框如圖16所示,輸入鏈接數(shù)據(jù)序號(hào),點(diǎn)擊確定即可完成圖紙鏈接替換。
4 結(jié)語(yǔ)
本文對(duì)CATIA二次開發(fā)技術(shù)進(jìn)行了研究,介紹了VBS及CATIA二次開發(fā)技術(shù)的基本理論及開發(fā)流程,通過(guò)批量導(dǎo)入坐標(biāo)點(diǎn)、批量創(chuàng)建焊點(diǎn)球面、批量更改零件顏色和圖紙鏈接替換等實(shí)例驗(yàn)證了CATIA二次開發(fā)的實(shí)用性及強(qiáng)大功能。由于VBS腳本語(yǔ)言的局限性,實(shí)現(xiàn)可視化窗口界面比較復(fù)雜,交互體驗(yàn)較差,不適合復(fù)雜的CATIA二次開發(fā)。下一步研究方向是擴(kuò)展CATIA二次開發(fā)的應(yīng)用范圍及實(shí)現(xiàn)方法,不局限于VBS腳本語(yǔ)言,進(jìn)一步提高工作效率,提升設(shè)計(jì)質(zhì)量。
參考文獻(xiàn):
[1]胡挺,吳立軍.CATIA二次開發(fā)技術(shù)基礎(chǔ)[M].電子工業(yè)出版社,2006.
[2]周桂生,陸文龍.CATIA二次開發(fā)技術(shù)研究與應(yīng)用[J].機(jī)械設(shè)計(jì)與制造,2010(1):81-83.
[3]彭歡.基于V5 Automation的CATIA二次開發(fā)技術(shù)研究[J].電子機(jī)械工程,2012,28(2):61-64.