博文谷

位置:首頁 > 實用範文 > 論文

基於V5 Automation的CATIA 二次開發技術研究論文

論文1.75W

引言

基於V5 Automation的CATIA 二次開發技術研究論文

CATIA是法國達索系統公司開發的集成了CAD、CAM和CAE的大型軟件,憑藉其突出的技術優勢在製造業的各個領域得到了廣泛的應用,現已成爲全球製造業的主流設計軟件。應用CATIA先進的設計理念,可極大地提高企業的設計水平、設計質量和設計效率。

二次開發是對軟件的用戶化和專業化的有效手段,可以使軟件更好地爲用戶服務,在提高CAD軟件的應用效率、專業性,充分發揮CAD軟件的使用效益,提高工作效率和工作質量等方面有着十分重要的作用。CATIA作爲一款通用、大型軟件,爲用戶提供了二次開發接口和開放式的內部命令集合,給用戶的二次開發帶來了方便。在熟練掌握CATIA軟件功能的情況下,透過對CATIA軟件的二次開發功能進行深入研究,就可以開發出適用於本單位和個人習慣的CAT-IA二次開發程序,爲提高工作效率和產品質量服務。因此,對CATIA進行二次開發研究,已受到國內外許多科研院所及高校的重視。

機載電子設備的結構設計通常會使用大量的各類標準件,如螺釘、墊圈、螺母等。在CATIA的裝配設計中,設計人員對這些標準件往往進行手工插入,在這樣的設計模式下,設計人員不得不重複地選擇零件、幾何約束對象並創建約束,費時費力且容易出錯。爲解決上述問題,文獻10]提出了標準件的“批裝配”方法,文獻11]提出了‘‘棧式”裝配方法,但這些方法都需要用戶選擇多個裝配幾何元素。本文在上述研究的基礎上,給出了一個新的螺釘智能裝配程序實例,只需讓用戶選擇一個裝配幾何元素(即螺釘安裝面),就可完成對所選安裝面上所有孔的螺釘(包括墊圈、螺母等)的自動裝配,極大地提高了CATIA裝配設計中標準件的裝配工作效率。

1CATIA二次開發技術的主要研究方向及應用前景

1.1CATIA二次開發技術的主要研究方向

文獻對CATIA二次開發技術進行了研究,我們可以從上述文獻所做工作中提取出CATIA二次開發技術的主要研究方向:(1)參數化設計。通常的CAT-IA二次開發技術在參數化設計中的應用是編寫一個介面獲取用戶指定的參數後,透過編程來調用CATIA相應的造型函數,從而完成參數化設計。文獻1-4]是在這方面所做的工作。(2)CAE開發。強度設計和熱設計已越來越多地應用於結構設計領域,將強度設計和熱設計的相應算法透過編程的方式應用到CATIA的二次開發中,繼而編寫出適合於本單位的強度設計和熱設計的程序,可實現結構設計和熱設計、強度設計的有機統一。由於這些程序是由本單位研發人員所編寫,因此它不僅能實現和CATIA的無縫集成,而且在操作上還很符合本單位設計人員的習慣。文獻是在這方面所做的工作。(3)優化設計。針對用戶產品設計的特點,爲達到最優設計而提出相應的算法,並在CATIA二次開發程序中實現這種算法,從而達到優化設計的目的。文獻7-8是在這方面所做的工作。(4)簡化操作。針對CATIA中某些比較繁瑣的操作,結合用戶研發設計的特點,透過編程,使CATIA相關操作得以簡化。文獻9-10]是在這方面所做的工作。

1.2CATIA二次開發技術的應用前景

上述4個研究方向均有廣闊的應用前景。研究方向1的相關研究最多,其主要思想是透過參數化設計,將已有設計思想知識化和標準化,即使設計經驗相對欠缺的設計師透過輸入相關參數也能完成產品設計,從而大大提高產品重用化水平,提高設計效率。研究方向2難度最大但應用前景最廣。透過CATIA的二次開發,將強度設計和熱設計融入CATIA中,開發出與CATIA無縫集成的強度設計和熱設計程序,從而實現結構設計和強度設計、熱設計的有機統一。但其開發難度也較高,程序開發者不僅需要具備一定的編程經驗,更需要掌握強度設計和熱設計的算法並且具有把這種算法應用於CATIA二次開發的能力。研究方向3提供了一個有效的進行產品優化設計的途徑。在工程設計中,使設計效果達到最優是設計師不斷追求的'目標,他們在長期的設計實踐中產生了大量的優化策略和方法,研究方向3的主要工作就是將上述優化策略和方法轉化成計算機能識別的算法並在CATIA二次開發程序中實現,從而達到優化設計的目的。研究方向4針對CATIA中不滿足用戶應用習慣和應用需求的部分,開發出適用於本單位和個人習慣的工具,爲提高工作效率和產品質量服務。本文第3節給出的應用實例“智能化螺釘裝配程序”就是在這方面所做的工作。

2 V5 Automation的關鍵技術

2.1CATIA二次開發接口

CATIA主要提供了兩種二次開發的接口,包括自動化對象編程(V5Automation)和開放的基於構件的應用編程接口(CAA)。前者採用VisualBasic6.0(簡稱VB)對CATIA進行二次開發。VB是一種基於Bas?ic的可視化程序設計語言,它繼承了先前Basic程序設計語言所具有的簡單、易用的特點,而且在其編程系統中採用了面向對象、事件驅動的編程機制,用一種巧妙的方法把Windows的編程複雜性封裝起來,提供了一種所見即所得的可視化程序設計方法。結合VB強大的功能和CATIA本身提供的豐富的類、庫及二次開發函數,就能開發出個性化的CATIA二次開發程序。CATIA二次開發的過程和意義如圖1所示。

2.2利用V5Automation進行CATIA二次開發的基本流程

在V5Automation中,所有的數據都被封裝成對象的形式,並形成樹形結構,如圖2所示。圖2中,透過根對象Application可以訪問所有其他對象,如透過Application對象的Documents、Windows和SystemSer-vice等屬性就可以訪問CATIA的所有對象。同時,VB提供了許多非常有用的工具,使用這些工具,可以聲明任何由CATIA提供的庫檔案(),這些庫檔案包含了所有對象的聲明和所有外部對象的方法和屬性。

在VB中對CATIA進行工程引用後,利用下面的程序代碼,米用GetObject和CreateObject方法,即可實現VB對CATIA的連接。

Dim CATIAAs Object On Error Resume NextSet CATIA=Get Object(/"ication")

If er<>0 Then

SetCATIA=CreateObject("ication")

ble=True End If

On Error GoTo 0

連接到CATIA之後,就可以在VB中對CATIA進行操縱,而CATIA也提供了豐富的類、庫及二次開發函數供用戶調用。CATIA二次開發的過程可以理解爲:用戶爲實現某種功能,根據需要,合理地調用上述類、庫的屬性和方法以及二次開發函數。CATIA中的每個功能(包括零件設計、曲面造型、裝配設計、工程製圖等)以及所有的實體特徵(包括草圖特徵、修飾特徵、曲面特徵、變換特徵、組合特徵等)都有相應的類、庫支撐,因此CATIA二次開發的主要工作就是合理地對對象進行編程。圖3表示了利用V5Automation進行CATIA二次開發的基本流程。

3應用實例

基於上述思想,開發了一個智能化螺釘裝配程序。該程序的主要功能如下:在CATIA裝配介面中,程序提示用戶選擇螺釘安裝面,並在程序對話框中選擇螺釘規格、螺釘長度和裝配螺釘的方向後,即可自動完成對所選螺釘安裝面上所有孔的螺釘的自動裝配。圖4(a)爲該程序啓動時的介面,用戶需點擊“請選擇螺釘安裝平面,並計算孔”按鈕,並在CATIA裝配介面中選擇一個螺釘安裝面。用戶選擇螺釘安裝面後,當所選螺釘安裝面上的螺釘規格爲GB818時,程序經過計算後進入選擇介面,見圖4(b)。在該選擇介面上,程序顯示了所選螺釘安裝面上的孔的情況,並提示用戶選擇螺釘長度、裝配螺釘的方向以及是否需要裝配彈平墊等。最後,用戶點擊“裝配螺釘”按鈕,即可完成螺釘的自動裝配。

下面給出該“智能化螺釘裝配程序”的步驟:

1)提示用戶在CATIA裝配介面中選擇螺釘安裝面;

2)判斷所選螺釘安裝面所在的零件;

3)搜尋該零件上所有的孔特徵,如果孔特徵滿足其中心點在所選螺釘安裝面上,則該孔特徵進入“我需要的孔”數組;

4)計算“我需要的孔”數組中元素的個數,如個數爲0,則程序提示“所選螺釘安裝面上沒有孔特徵,不能進行螺釘裝配”並退出;

5)在“我需要的孔”數組中,計算孔的種類和大小;

6)程序根據“我需要的孔”數組中孔的種類和大小計算出適用於所選螺釘安裝面的螺釘規格;

7)提示用戶選擇螺釘長度和裝配螺釘的方向,如果螺釘規格爲GB818,程序還會提示用戶選擇是否需要裝配彈平墊;

8)根據用戶的選擇情況,程序進入裝配實施階段,透過編程,在程序中對螺釘施加裝配約束,約束條件1爲螺釘“安裝面”與所選螺釘安裝面重合;約束條件2爲螺釘“中心軸”與“我需要的孔”數組中孔特徵的中心軸重合;

9)透過一個循環語句,完成對“我需要的孔”數組中所有孔的螺釘裝配。

4結束語

本文對CATIA的二次開發技術進行了研究,提出了基於V5Automation的CATIA二次開發技術的基本方法、一般原則和開發流程,並透過一個智能化螺釘裝配程序的實例,驗證了CATIA二次開發技術。應用CATIA二次開發技術可以實現強大的功能,對CATIA進行二次開發可實現真正意義上的CAD、CAM、CAE技術的有效應用,因此探索CATIA二次開發的技術和方法有着較大的現實意義。目前已作了初步的研究,今後,還可以在參數化設計、CAE開發、優化設計等方面對CATIA的二次開發技術展開更深入的研究,以推動設計水平的提升。