CATIA的軋輥設(shè)計二次開發(fā)
2013-05-25 by:廣州有限元分析、培訓(xùn)中心-1CAE.COM 來源:仿真在線
CATIA在CAD/CAE/CAM行業(yè)中占據(jù)領(lǐng)先地位,它提供了V5 Automation和CAA等二次開發(fā)接口。論述了利用VB 6.0對CATIA R16V5進(jìn)行二次開發(fā)的一些關(guān)鍵技術(shù)和難點,并給出了一段可用于設(shè)計軋輥的、比較通用的CATIA編程代碼,為以后的CATIA的二次開發(fā)提供了技術(shù)支持,時于欲利用VBTIA進(jìn)行二次開發(fā)的工程技術(shù)人員有很好的借鑒作用。
孫曉雷 吳俊 李國昌 來源:萬方數(shù)據(jù)
關(guān)鍵字:VB 計算機(jī)輔助三維互動應(yīng)用系統(tǒng) 軋棍 二次開發(fā)
0前言
目前,針對企業(yè)產(chǎn)品特點開發(fā)自定義的CAD系統(tǒng)已成為眾多企業(yè)考慮的問題。CATIA是法國達(dá)索系統(tǒng)公司的CAD/CAE/CAM一體化軟件,在世界CAD/CAE/CAM領(lǐng)域中處于領(lǐng)先地位。CATIA被廣泛應(yīng)用于航空航天、汽車制造、造船、機(jī)械制造等行業(yè)。它的集成解決方案覆蓋所有的產(chǎn)品設(shè)計與制造領(lǐng)域,滿足了工業(yè)領(lǐng)域各類大、中、小型企業(yè)的需要。世界上已有超過13 000個用戶選擇了CATIA ,其中包括波音、克萊斯勒、寶馬、奔馳、本田、豐田等著名企業(yè)。波音公司用CATIA完成了整個波音777的零件設(shè)計和電子裝配,創(chuàng)造了業(yè)界的一個奇跡,從而也確立了CATIA在CAD/CAE/CAM行業(yè)的領(lǐng)先地位。
二次開發(fā)是對軟件進(jìn)行用戶化和專業(yè)化的有效手段,它可以使軟件更好地為用戶服務(wù),這對提高工作效率和工作質(zhì)量有著不可低估的作用。CATIA提供了多種二次開發(fā)的接口,其中包括自動化對象編程( VS Automation)和開放的基于構(gòu)件的應(yīng)用編程接口(CAA)。
本研究通過對CATIA中的ActiveX Automation技術(shù)的分析,結(jié)合實例給出利用VB對CATIA進(jìn)行二次開發(fā)的方法。
1 Visual Basic
Visual Basic是Microsoft公司推出的面向?qū)ο蟮目梢暬幊坦ぞ?。VB具有快速的程序開發(fā)環(huán)境,界面設(shè)計操作簡單,代碼編寫量小,用戶可以很方便地直接改動界面。由于CATIA加人了ActiveX自動化服務(wù)功能,而VB又是最為常用的支持ActiveX技術(shù)的開發(fā)工_具,以它作為開發(fā)工具,可使CATIA與其他Windows程序的數(shù)據(jù)共享變得非常容易。
1.1 ActiveX Automation技術(shù)及其工作機(jī)制
ActiveX Automation是一套微軟標(biāo)準(zhǔn),以前通常稱為OLE Automation,該標(biāo)準(zhǔn)允許通過外顯(exposed)的對象,由一個Windows應(yīng)用程序控制另一個Windows應(yīng)用程序。Windows自身允許在同一時間內(nèi)執(zhí)行多個應(yīng)用程序,ActiveX Automation則主要處理它們之間的通信問題,每一個應(yīng)用程序都可以訪問其他應(yīng)用程序所暴露的信息。
ActiveX Automation所涉及的一個主要問題是兩個應(yīng)用程序之間的對話問題,但兩個應(yīng)用程序之間并不是一種對等的關(guān)系。ActiveX Automation和每個部分所涉及到的兩個應(yīng)用程序所起的作用是不同的??蛻魴C(jī)是對話的發(fā)起端,而服務(wù)器則是對話的響應(yīng)端,對客戶機(jī)作出響應(yīng)。ActiveX Automation代碼主要在客戶機(jī)上運行,但其功能是在服務(wù)器實現(xiàn)的。
每個ActiveX Automation操作過程都分3步:當(dāng)有一個應(yīng)用程序耍進(jìn)行ActiveX Automation操作時,該程序就以客戶機(jī)模式進(jìn)行對話呼叫,而另一個被它所訪問的應(yīng)用程序以服務(wù)器的模式響應(yīng)。對話開始后,客戶機(jī)模式應(yīng)用程序運行一些包括服務(wù)器命令的代碼。在使用時,則由客戶機(jī)應(yīng)用程序決定具體使用哪個命令。于是ActiveX Automation的相應(yīng)命令被傳送到服務(wù)器模式應(yīng)用程序,服務(wù)器模式應(yīng)用程序按照客戶機(jī)模式應(yīng)用程序的要求完成特定的任務(wù)。客戶機(jī)模式應(yīng)用程序可以繼續(xù)發(fā)出其他的執(zhí)行命令,直到整個任務(wù)完成為止。
CATIA支持ActiveX Automation標(biāo)準(zhǔn),可完全實現(xiàn)ActiveX Automation自動化。
1.2利用ActiveX Auto進(jìn)行CATIA二次開發(fā)
在VB中,可以通過使用CATIA實體的庫文件編寫CATIA的二次開發(fā)程序,其一般步驟如下:
(1)應(yīng)用CATIA部件;
(2)定義CATIA對象模型;
(3)編寫CATIA應(yīng)用程序。
2用VB創(chuàng)建CATIA應(yīng)用程序
筆者所介紹的程序是一個用VB開發(fā)CATIA程序的參考模型,也是一個比較通用的開發(fā)模式。下面舉例說明在VB環(huán)境下怎樣利用ActiveX技術(shù)進(jìn)行CATIA的二次開發(fā)。
這個例子是在CATIA中創(chuàng)建符合要求的成型立輥三維視圖。
2.1編程思路
從VB連接到CATIA,主要是使用CreateObject和GetObject函數(shù),創(chuàng)建獲得對ActiveX對象的引用,其實現(xiàn)代碼如下:
連接到CATIA之后,就可以對CATIA進(jìn)行操作。
2.2具體步驟
(1)運行VB 6. 0,系統(tǒng)會彈出"New Project",對話框,從"New"選項卡中選擇"Standard EXE"選項,單擊"打開"按鈕創(chuàng)建新工程。選擇"Project/Reference"菜單項,系統(tǒng)會彈出一個對話框,從對話框列表中選擇所有以CATIA開頭的庫選項,單擊"OK"按鈕。
(2)在系統(tǒng)自動添加的窗體Form 1中,添加控件。在窗體的初始化事件中,為各個文本框添加默認(rèn)參數(shù)值,如圖1所示。
(3)在窗體的通用代碼區(qū),聲明用于進(jìn)行計算和與CATIA進(jìn)行數(shù)據(jù)傳遞的公有變量。
(4)窗體中"繪圖"按鈕的單擊事件,其作用是與CATIA建立連接,并且在圖形窗口中繪制成型立輥的三維視圖。三維視圖的生成采用先生成草圖sketch,接著在設(shè)定旋轉(zhuǎn)軸線后再旋轉(zhuǎn)的方法。
2.3實例效果
在VB6.0的開發(fā)環(huán)境中,按下F5鍵運行程序,系統(tǒng)將彈出成型立輥對話框,如圖2所示。
適當(dāng)調(diào)整成型立輥的參數(shù)值后,單擊"繪圖"按鈕,系統(tǒng)會自動打開CATIA在CATIA未運行的情況下,并在圖形窗口中繪制成型立輥圖形,如圖3所示。
3結(jié)束語
在VB中通過創(chuàng)建程序進(jìn)行參數(shù)化設(shè)計,其目的是對已有的零部件圖形進(jìn)行局部尺寸修改,以產(chǎn)生符合設(shè)計要求的新圖形文件。
本研究闡述了利用VB對CATIA零件設(shè)計進(jìn)行二次開發(fā)的一些關(guān)鍵技術(shù),并用一個實例加以詳述,對于欲利用VB對CATIA進(jìn)行二次開發(fā)的工程技術(shù)人員有很好的借鑒作用。在熟練掌握CATIA軟件功能的情況下,通過對其展開深人研究,任何人都可以開發(fā)出適用于本單位和個人習(xí)慣的工具,為提高工作效率和產(chǎn)品質(zhì)量服務(wù)。
相關(guān)標(biāo)簽搜索:CATIA的軋輥設(shè)計二次開發(fā) CFD培訓(xùn) CFD流體分析培訓(xùn) cfd視頻 fluent cfx pumplinx軟件培訓(xùn) Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 有限元培訓(xùn)