武文軒
?
基于CATIA Automation實現的螺母參數化建模
武文軒1、2
(1.上海交通大學 機械與動力工程學院 200240;2.上海機床廠有限公司 200093)
介紹了CATIA Automation及其在標準件參數化建模中的應用,討論了以VB為編程環(huán)境,利用Automation技術實現引用程序和CATIA間的通訊,實現螺母的參數化建模且模型附帶重量、材料等重要信息的方法。提供了利用VB和CATIA進行快捷、靈活的螺母建模方法及在此過程中應注意的問題。
Automation CATIA 參數化 VB.NET 標準件
在實際應用中,各種設備大部分由基本的零件組裝或裝配而成,螺母作為標準件的主要種類之一使其成為廣泛應用零件的重要組成部分,螺母的建模就成為機械設備仿真、分析及產品研發(fā)等環(huán)節(jié)的重要前提。
螺母雖種類繁多,但其優(yōu)選、簡化、標準的特點較符合參數化技術,從而解決了重復,繁瑣的建模問題。 采用參數化技術可以很好的解決實際尺寸變化及結構變化的零件系列化問題,并解決由此產生的重復建模問題,提高了工作效率。
利用CATIA提供的自動化(Automation)技術,基于VB.NET的開發(fā)環(huán)境,以CATIA V5 R18為軟件平臺,方便的進行螺母的參數化設計。其過程和目標如圖1所示。
這種方法不僅提供了一種快速、有效的建模途徑,并且為實際應用中出現的需要對模型進行修改的問題提供了一種行之有效的方法。這樣既節(jié)約了時間,又避免了資源的浪費,有利于企業(yè)及國民經濟的發(fā)展。
圖1 參數化過程和目標
CATIA(Computer Aided Three Dimensi- onal Interactive Application)系統(tǒng),即“計算機輔助三維交互式應用”系統(tǒng)。具有世界先進水平的、交互式的、多功能的、用于計算機輔助設計和制造的三維幾何設計系統(tǒng)。它主要以“交互式”應用為主。
CATIA錄制宏生成的VBScript代碼稍作修改就可以放在VB環(huán)境下運行,避免了重新寫代碼的麻煩,降低了代碼錯誤的幾率且減少了修改代碼的時間,從根本上提高了工作效率。因此采用Visual Basic.NET作為開發(fā)環(huán)境。
Automation技術是建立在COM基礎之上,是一種允許一個“應用程序”操作另一個“應用程序”的技術。Automation技術并不是直接獲取及處理數據,而是間接的通過暴露的對象和屬性,利用對象的方法和屬性來獲取、設置及處理數據。在CATIA Automation中,所有數據都被封裝成對象的形式,并形成樹形結構,如圖2所示。這樣就可以通過根對象對其他的一些對象進行訪問, Application對象是根對象,通過這個對象的Documents,Windows和SystemService等屬性就可以訪問CATIA所有對象。
CATIA的基本操作主要是通過幾個API(Application Programming Interface)對CATIA進行文件操作,視圖操作等。零件操作主要是進行CATIA實體建模,如草繪、約束、實體等操作。
要對CATIA進行操作,首先是要連接到他的COM接口,主要有GetObject和CreateObject兩種方法。通過這兩種方法,程序即可訪問到CATIA,如果CATIA沒有啟動,則程序先啟動CATIA,再對CATIA進行訪問。
圖2 Application對象樹狀圖
Part是零件文檔最上層的對象,如圖3所示,通過它可以對參考系、草繪、實體特征等屬性進行操作,實現CATIA的實體建模。如圖3所示。
圖3 建模的編程實現過程
在CAD中要實現參數化設計,參數化模型的建立是關鍵。目前,在CAD系統(tǒng)中常用的參數化設計方法有三種:變量幾何法、幾何推理法及基于特征的方法。在CATIA環(huán)境下進行參數化設計宜采用基于特征的方法。
參數化設計的功能是將隱式的實踐轉化為潛入整個設計過程的顯示設計。設計者通過定義特征、公式等,從而產生參數、方程等,設計過程與用戶定義的參數化順序有關。參數化設計的特點[1]:
(1)約束,用一定的限制條件建立和規(guī)定各元素之間的幾何約束和工程約束;
(2)驅動尺寸,在建立好約束的前提下修改某一尺寸,程序將自動檢索和計算所要求的參數量,從而修改模型;
(3)數據相關,修改尺寸參數值與其相關的尺寸也隨之改變。
在參數化設計系統(tǒng)中,設計人員根據工程關系和幾何關系來指定設計要求。要滿足這些設計要求,不僅需要考慮尺寸或工程參數的初值,而且要在每次改變這些設計參數時來維護這些基本關系。將參數分為兩類:其一為各種尺寸值,稱為可變參數;其二為幾何元素間的各種連續(xù)幾何信息,稱為不變參數。參數化設計的本質是在可變參數的作用下,系統(tǒng)能夠自動維護所有的不變參數。因此,參數化模型中建立的各種約束關系,正是體現了設計人員的設計意圖[2]。
參數化設計可以大大提高模型的生成和修改的速度,在產品的系列設計、相似設計及專用CAD系統(tǒng)開發(fā)方面都具有較大的應用價值。目前,參數化設計中的參數化建模方法主要有變量幾何法和基于結構生成歷程的方法,前者主要用于平面模型的建立,而后者更適合于三維實體或曲面模型。
CATIA具有強大的三維建模功能,可以通過零件設計界面直接建模。建模的同時錄制宏,且在建模之前首先建立參數,參數主要包括建模所需的尺寸、重量、材料及Partnumber等內容。在建模過程中參數值一般采用實體的精確數值,以避免在實際模型建立過程中因特征及尺寸等原因造成的干涉而無法生成正確的模型。
在建立實體模型時,利用草圖編輯器中的尺寸約束及其幾何拓撲約束建立尺寸及其相關關系,并且用CATIA自身具備的公式編輯功能建立幾何尺寸與驅動尺寸參數之間的關系。模型完成之后,停止宏錄制即可得到相應的程序。在代碼錄制完成之后,首先需運行一下,以確保程序代碼的完整性及實體模型建立步驟和方法的正確性,運行無誤之后把所需代碼拷入VB.NET編輯器。
根據應用螺母的尺寸系列及重量、材料、表面處理方法等相關信息建立對應的EXCEL表格。表頭內容為建模所需的尺寸名稱、Partnumber及其他所需信息等,表的內容為所需模型的相關值。為了方便對模型情況的了解和查看,在表格中需加入ID信息。除此之外,在生成相關模型及檢查時,可以根據ID修改程序內容,以獲得相關的模型及信息。
程序運行無誤后,可以添加及調用程序模塊獲得所需要的系列數據,實現自主決定修改保存路徑。在獲得所需模型的同時,還可以把模型插入到裝配環(huán)境下。根據需要查看模型的零件、材料等重要信息。還可以根據需要適時的修改相關程序以獲得所需信息。比如,把實際重量單位為千克改為磅,或者修改材料。同時,在需要獲得單個模型時可以根據表格數據生成,也可以通過在“輸入螺母設計參數”面板上各控件,完成螺母設計時所需的各種參數設置來獲得。其實現過程及最終的界面如圖4、5所示。
圖4 程序界面
圖5 調用表格過程
(1)掃描法是實體造型中常用的方法,在CATIA中無論生成何種掃描體,在生成掃描體之前,要進行實體類型轉換。
(2)在生成復雜零件時,常常要進行布爾運算(交,并,差)但是參加布爾運算的兩個實體類型必須相同。
(3)在調程序時,如果輸入參數不匹配,就會出現錯誤,為了及時發(fā)現錯誤及原因,需逐步運行。
(4)在制作尺寸信息表格時要注意數據的類型及表格的格式。以避免調用表格時產生錯誤。
在目前的工程設計環(huán)境下,隨著機械結構的越發(fā)復雜,完整的三維裝配體越發(fā)龐大。在模塊化設計思想不斷被強調的背景下,實現參數化建模就越來越體現出其本身簡化建模過程、提升設計效率的價值。
以建立標準件庫為目的,研究了在CATIA環(huán)境下參數化的螺母建模技術,分析了利用VB.NET編程實現參數化設計的方法,總結了編程方法和應注意的問題,該方法具有較大的通用性,對于在該系統(tǒng)進行類似開發(fā)有較大的指導意義,可以使開發(fā)者少走彎路,提高開發(fā)速度。
[1] 杜寶江,王新華.用SolidWorksAPI實現單螺桿壓縮機的參數化建模[J].機械設計與制造,2004,9.
[2] 王金鳳,吳建軍等.CATIA環(huán)境下參數化設計編程技術[J].ComputerProgramming Skills & Maintenance,1999,5.