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