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