基于V5 Automation的CATIA 二次開發(fā)技術(shù)研究論文
引言
CATIA是法國(guó)達(dá)索系統(tǒng)公司開發(fā)的集成了CAD、CAM和CAE的大型軟件,憑借其突出的技術(shù)優(yōu)勢(shì)在制造業(yè)的各個(gè)領(lǐng)域得到了廣泛的應(yīng)用,現(xiàn)已成為全球制造業(yè)的主流設(shè)計(jì)軟件。應(yīng)用CATIA先進(jìn)的設(shè)計(jì)理念,可極大地提高企業(yè)的設(shè)計(jì)水平、設(shè)計(jì)質(zhì)量和設(shè)計(jì)效率。
二次開發(fā)是對(duì)軟件的用戶化和專業(yè)化的有效手段,可以使軟件更好地為用戶服務(wù),在提高CAD軟件的應(yīng)用效率、專業(yè)性,充分發(fā)揮CAD軟件的使用效益,提高工作效率和工作質(zhì)量等方面有著十分重要的作用。CATIA作為一款通用、大型軟件,為用戶提供了二次開發(fā)接口和開放式的內(nèi)部命令集合,給用戶的二次開發(fā)帶來了方便。在熟練掌握CATIA軟件功能的情況下,通過對(duì)CATIA軟件的二次開發(fā)功能進(jìn)行深入研究,就可以開發(fā)出適用于本單位和個(gè)人習(xí)慣的CAT-IA二次開發(fā)程序,為提高工作效率和產(chǎn)品質(zhì)量服務(wù)。因此,對(duì)CATIA進(jìn)行二次開發(fā)研究,已受到國(guó)內(nèi)外許多科研院所及高校的重視。
機(jī)載電子設(shè)備的結(jié)構(gòu)設(shè)計(jì)通常會(huì)使用大量的各類標(biāo)準(zhǔn)件,如螺釘、墊圈、螺母等。在CATIA的裝配設(shè)計(jì)中,設(shè)計(jì)人員對(duì)這些標(biāo)準(zhǔn)件往往進(jìn)行手工插入,在這樣的設(shè)計(jì)模式下,設(shè)計(jì)人員不得不重復(fù)地選擇零件、幾何約束對(duì)象并創(chuàng)建約束,費(fèi)時(shí)費(fèi)力且容易出錯(cuò)。為解決上述問題,文獻(xiàn)10]提出了標(biāo)準(zhǔn)件的“批裝配”方法,文獻(xiàn)11]提出了‘‘棧式”裝配方法,但這些方法都需要用戶選擇多個(gè)裝配幾何元素。本文在上述研究的基礎(chǔ)上,給出了一個(gè)新的螺釘智能裝配程序?qū)嵗恍枳層脩暨x擇一個(gè)裝配幾何元素(即螺釘安裝面),就可完成對(duì)所選安裝面上所有孔的螺釘(包括墊圈、螺母等)的自動(dòng)裝配,極大地提高了CATIA裝配設(shè)計(jì)中標(biāo)準(zhǔn)件的裝配工作效率。
1CATIA二次開發(fā)技術(shù)的主要研究方向及應(yīng)用前景
1.1CATIA二次開發(fā)技術(shù)的主要研究方向
文獻(xiàn)對(duì)CATIA二次開發(fā)技術(shù)進(jìn)行了研究,我們可以從上述文獻(xiàn)所做工作中提取出CATIA二次開發(fā)技術(shù)的主要研究方向:(1)參數(shù)化設(shè)計(jì)。通常的CAT-IA二次開發(fā)技術(shù)在參數(shù)化設(shè)計(jì)中的應(yīng)用是編寫一個(gè)界面獲取用戶指定的參數(shù)后,通過編程來調(diào)用CATIA相應(yīng)的造型函數(shù),從而完成參數(shù)化設(shè)計(jì)。文獻(xiàn)1-4]是在這方面所做的工作。(2)CAE開發(fā)。強(qiáng)度設(shè)計(jì)和熱設(shè)計(jì)已越來越多地應(yīng)用于結(jié)構(gòu)設(shè)計(jì)領(lǐng)域,將強(qiáng)度設(shè)計(jì)和熱設(shè)計(jì)的相應(yīng)算法通過編程的方式應(yīng)用到CATIA的二次開發(fā)中,繼而編寫出適合于本單位的強(qiáng)度設(shè)計(jì)和熱設(shè)計(jì)的程序,可實(shí)現(xiàn)結(jié)構(gòu)設(shè)計(jì)和熱設(shè)計(jì)、強(qiáng)度設(shè)計(jì)的有機(jī)統(tǒng)一。由于這些程序是由本單位研發(fā)人員所編寫,因此它不僅能實(shí)現(xiàn)和CATIA的無縫集成,而且在操作上還很符合本單位設(shè)計(jì)人員的習(xí)慣。文獻(xiàn)是在這方面所做的工作。(3)優(yōu)化設(shè)計(jì)。針對(duì)用戶產(chǎn)品設(shè)計(jì)的特點(diǎn),為達(dá)到最優(yōu)設(shè)計(jì)而提出相應(yīng)的算法,并在CATIA二次開發(fā)程序中實(shí)現(xiàn)這種算法,從而達(dá)到優(yōu)化設(shè)計(jì)的目的。文獻(xiàn)7-8是在這方面所做的工作。(4)簡(jiǎn)化操作。針對(duì)CATIA中某些比較繁瑣的操作,結(jié)合用戶研發(fā)設(shè)計(jì)的特點(diǎn),通過編程,使CATIA相關(guān)操作得以簡(jiǎn)化。文獻(xiàn)9-10]是在這方面所做的工作。
1.2CATIA二次開發(fā)技術(shù)的應(yīng)用前景
上述4個(gè)研究方向均有廣闊的應(yīng)用前景。研究方向1的相關(guān)研究最多,其主要思想是通過參數(shù)化設(shè)計(jì),將已有設(shè)計(jì)思想知識(shí)化和標(biāo)準(zhǔn)化,即使設(shè)計(jì)經(jīng)驗(yàn)相對(duì)欠缺的設(shè)計(jì)師通過輸入相關(guān)參數(shù)也能完成產(chǎn)品設(shè)計(jì),從而大大提高產(chǎn)品重用化水平,提高設(shè)計(jì)效率。研究方向2難度最大但應(yīng)用前景最廣。通過CATIA的二次開發(fā),將強(qiáng)度設(shè)計(jì)和熱設(shè)計(jì)融入CATIA中,開發(fā)出與CATIA無縫集成的強(qiáng)度設(shè)計(jì)和熱設(shè)計(jì)程序,從而實(shí)現(xiàn)結(jié)構(gòu)設(shè)計(jì)和強(qiáng)度設(shè)計(jì)、熱設(shè)計(jì)的有機(jī)統(tǒng)一。但其開發(fā)難度也較高,程序開發(fā)者不僅需要具備一定的編程經(jīng)驗(yàn),更需要掌握強(qiáng)度設(shè)計(jì)和熱設(shè)計(jì)的算法并且具有把這種算法應(yīng)用于CATIA二次開發(fā)的能力。研究方向3提供了一個(gè)有效的進(jìn)行產(chǎn)品優(yōu)化設(shè)計(jì)的途徑。在工程設(shè)計(jì)中,使設(shè)計(jì)效果達(dá)到最優(yōu)是設(shè)計(jì)師不斷追求的目標(biāo),他們?cè)陂L(zhǎng)期的設(shè)計(jì)實(shí)踐中產(chǎn)生了大量的優(yōu)化策略和方法,研究方向3的主要工作就是將上述優(yōu)化策略和方法轉(zhuǎn)化成計(jì)算機(jī)能識(shí)別的算法并在CATIA二次開發(fā)程序中實(shí)現(xiàn),從而達(dá)到優(yōu)化設(shè)計(jì)的目的。研究方向4針對(duì)CATIA中不滿足用戶應(yīng)用習(xí)慣和應(yīng)用需求的部分,開發(fā)出適用于本單位和個(gè)人習(xí)慣的工具,為提高工作效率和產(chǎn)品質(zhì)量服務(wù)。本文第3節(jié)給出的應(yīng)用實(shí)例“智能化螺釘裝配程序”就是在這方面所做的工作。
2 V5 Automation的關(guān)鍵技術(shù)
2.1CATIA二次開發(fā)接口
CATIA主要提供了兩種二次開發(fā)的`接口,包括自動(dòng)化對(duì)象編程(V5Automation)和開放的基于構(gòu)件的應(yīng)用編程接口(CAA)。前者采用VisualBasic6.0(簡(jiǎn)稱VB)對(duì)CATIA進(jìn)行二次開發(fā)。VB是一種基于Bas?ic的可視化程序設(shè)計(jì)語(yǔ)言,它繼承了先前Basic程序設(shè)計(jì)語(yǔ)言所具有的簡(jiǎn)單、易用的特點(diǎn),而且在其編程系統(tǒng)中采用了面向?qū)ο、事件?qū)動(dòng)的編程機(jī)制,用一種巧妙的方法把Windows的編程復(fù)雜性封裝起來,提供了一種所見即所得的可視化程序設(shè)計(jì)方法。結(jié)合VB強(qiáng)大的功能和CATIA本身提供的豐富的類、庫(kù)及二次開發(fā)函數(shù),就能開發(fā)出個(gè)性化的CATIA二次開發(fā)程序。CATIA二次開發(fā)的過程和意義如圖1所示。
2.2利用V5Automation進(jìn)行CATIA二次開發(fā)的基本流程
在V5Automation中,所有的數(shù)據(jù)都被封裝成對(duì)象的形式,并形成樹形結(jié)構(gòu),如圖2所示。圖2中,通過根對(duì)象Application可以訪問所有其他對(duì)象,如通過Application對(duì)象的Documents、Windows和SystemSer-vice等屬性就可以訪問CATIA的所有對(duì)象。同時(shí),VB提供了許多非常有用的工具,使用這些工具,可以聲明任何由CATIA提供的庫(kù)文件(.tlb),這些庫(kù)文件包含了所有對(duì)象的聲明和所有外部對(duì)象的方法和屬性。
在VB中對(duì)CATIA進(jìn)行工程引用后,利用下面的程序代碼,米用GetObject和CreateObject方法,即可實(shí)現(xiàn)VB對(duì)CATIA的連接。
Dim CATIAAs Object On Error Resume NextSet CATIA=Get Object(/"CATIA.Application")
If Err.Number<>0 Then
SetCATIA=CreateObject("CATIA.Application")
CATIA.Visible=True End If
On Error GoTo 0
連接到CATIA之后,就可以在VB中對(duì)CATIA進(jìn)行操縱,而CATIA也提供了豐富的類、庫(kù)及二次開發(fā)函數(shù)供用戶調(diào)用。CATIA二次開發(fā)的過程可以理解為:用戶為實(shí)現(xiàn)某種功能,根據(jù)需要,合理地調(diào)用上述類、庫(kù)的屬性和方法以及二次開發(fā)函數(shù)。CATIA中的每個(gè)功能(包括零件設(shè)計(jì)、曲面造型、裝配設(shè)計(jì)、工程制圖等)以及所有的實(shí)體特征(包括草圖特征、修飾特征、曲面特征、變換特征、組合特征等)都有相應(yīng)的類、庫(kù)支撐,因此CATIA二次開發(fā)的主要工作就是合理地對(duì)對(duì)象進(jìn)行編程。圖3表示了利用V5Automation進(jìn)行CATIA二次開發(fā)的基本流程。
3應(yīng)用實(shí)例
基于上述思想,開發(fā)了一個(gè)智能化螺釘裝配程序。該程序的主要功能如下:在CATIA裝配界面中,程序提示用戶選擇螺釘安裝面,并在程序?qū)υ捒蛑羞x擇螺釘規(guī)格、螺釘長(zhǎng)度和裝配螺釘?shù)姆较蚝螅纯勺詣?dòng)完成對(duì)所選螺釘安裝面上所有孔的螺釘?shù)淖詣?dòng)裝配。圖4(a)為該程序啟動(dòng)時(shí)的界面,用戶需點(diǎn)擊“請(qǐng)選擇螺釘安裝平面,并計(jì)算孔”按鈕,并在CATIA裝配界面中選擇一個(gè)螺釘安裝面。用戶選擇螺釘安裝面后,當(dāng)所選螺釘安裝面上的螺釘規(guī)格為GB818時(shí),程序經(jīng)過計(jì)算后進(jìn)入選擇界面,見圖4(b)。在該選擇界面上,程序顯示了所選螺釘安裝面上的孔的情況,并提示用戶選擇螺釘長(zhǎng)度、裝配螺釘?shù)姆较蛞约笆欠裥枰b配彈平墊等。最后,用戶點(diǎn)擊“裝配螺釘”按鈕,即可完成螺釘?shù)淖詣?dòng)裝配。
下面給出該“智能化螺釘裝配程序”的步驟:
1)提示用戶在CATIA裝配界面中選擇螺釘安裝面;
2)判斷所選螺釘安裝面所在的零件;
3)搜索該零件上所有的孔特征,如果孔特征滿足其中心點(diǎn)在所選螺釘安裝面上,則該孔特征進(jìn)入“我需要的孔”數(shù)組;
4)計(jì)算“我需要的孔”數(shù)組中元素的個(gè)數(shù),如個(gè)數(shù)為0,則程序提示“所選螺釘安裝面上沒有孔特征,不能進(jìn)行螺釘裝配”并退出;
5)在“我需要的孔”數(shù)組中,計(jì)算孔的種類和大。
6)程序根據(jù)“我需要的孔”數(shù)組中孔的種類和大小計(jì)算出適用于所選螺釘安裝面的螺釘規(guī)格;
7)提示用戶選擇螺釘長(zhǎng)度和裝配螺釘?shù)姆较颍绻葆斠?guī)格為GB818,程序還會(huì)提示用戶選擇是否需要裝配彈平墊;
8)根據(jù)用戶的選擇情況,程序進(jìn)入裝配實(shí)施階段,通過編程,在程序中對(duì)螺釘施加裝配約束,約束條件1為螺釘“安裝面”與所選螺釘安裝面重合;約束條件2為螺釘“中心軸”與“我需要的孔”數(shù)組中孔特征的中心軸重合;
9)通過一個(gè)循環(huán)語(yǔ)句,完成對(duì)“我需要的孔”數(shù)組中所有孔的螺釘裝配。
4結(jié)束語(yǔ)
本文對(duì)CATIA的二次開發(fā)技術(shù)進(jìn)行了研究,提出了基于V5Automation的CATIA二次開發(fā)技術(shù)的基本方法、一般原則和開發(fā)流程,并通過一個(gè)智能化螺釘裝配程序的實(shí)例,驗(yàn)證了CATIA二次開發(fā)技術(shù)。應(yīng)用CATIA二次開發(fā)技術(shù)可以實(shí)現(xiàn)強(qiáng)大的功能,對(duì)CATIA進(jìn)行二次開發(fā)可實(shí)現(xiàn)真正意義上的CAD、CAM、CAE技術(shù)的有效應(yīng)用,因此探索CATIA二次開發(fā)的技術(shù)和方法有著較大的現(xiàn)實(shí)意義。目前已作了初步的研究,今后,還可以在參數(shù)化設(shè)計(jì)、CAE開發(fā)、優(yōu)化設(shè)計(jì)等方面對(duì)CATIA的二次開發(fā)技術(shù)展開更深入的研究,以推動(dòng)設(shè)計(jì)水平的提升。
【基于V5 Automation的CATIA 二次開發(fā)技術(shù)研究論文】相關(guān)文章:
淺談基于CATIA二次開發(fā)的單排四點(diǎn)接觸球軸承三維設(shè)計(jì)論文11-16
基于移動(dòng)Agent系統(tǒng)的安全技術(shù)研究論文11-06
基于Android平臺(tái)軟件開發(fā)技術(shù)研究論文11-07
基于非連續(xù)頻譜的短波傳輸技術(shù)研究論文11-06
基于網(wǎng)格的數(shù)據(jù)傳輸與復(fù)制技術(shù)研究論文11-07