1 引言
CATIA是一款集計算機輔助設計、制造、分析于一體的功能強大的軟件,其設計平臺多達60多個,貫穿了產品生產的全過程,廣泛應用于機械、飛機、汽車、造船和其他電子機械產品行業。二次開發技術提高了軟件的用戶化和專業化程度,它可以利用軟件的擴展功能,更好地為客戶服務,提高了工作效率的同時,也提升了產品的質量。CATIA提供了諸多的二次開發接口,以及支撐這些接口的開放式的內部程序,給用戶進行產品的二次開發帶來了方便。本文結合CATIA的二次開發技術,以齒輪為實例,采用VB系統設計符合用戶工作習慣的界面,完成宏程序的執行,可以方便快速地生成幾何形體。
2 CATIA二次開發技術介紹
CATIA提供的二次開發的接口包括自動化編程(v5 Automation)和開放的基于構件的應用編程接口(CAA)。CATIA提供的二次接口通過兩種方式與外部程序進行通信:一種是進程內的應用程序方式(In-Process Application),另一種是進程外的應用程序方式(Out-Process Application)。
2.1 進程內的應用程序方式
進程內訪問就是程序腳本和CATIA是在同一個進程內運行的,簡單地說,是由CATIA自身的腳本來分析并執行宏腳本命令的。宏腳本有3種類型:VBScript、CATScript和VBA腳本。進程內的腳本可以兼容Unix和Windows平臺。使用宏的方法為小型項目提供了一個快捷的途徑,可以完成一些比較簡單的二次開發,但是也具有一些局限性,比如功能有限,運行不方便,對話框等與CATIA界面風格結合的不好等。基于CAA組件應用架構的開發方式則可以解決這些問題。
2.2 進程外的應用程序方式
進程外訪問就是CATIA作為一個OLE(Object Linking and Embedding,對象連接與嵌入)自動化服務器,不調用程序腳本的運行。外部程序通過COM接口與CATIA進行通信,可以用VBA腳本來訪問CATIA,也可以在VB程序中訪問CATIA。COM接口(Component Object Model,部件對象模型))是一種二進制語言兼容規范,它可以實現不同語言開發的組件之間的相互通信,使代碼可以重復使用,提高了編程效率。采用CATIA V5的自動化應用接口和CAA V5的C++、Java應用接口,可以實現人工交互功能。自動化應用接口可以在操作界面調用VisualBasic系統的“InputBox”和“MsgBox”函數來獲取用戶的輸入信息和輸出結果,CAA V5則可以執行更多的交互命令,并在工作臺將這些命令進行分組,給用戶呈現一個快捷、精美的工作界面。
2.2.1 CATIA V5的自動化應用接口
Automation技術是建立在COM基礎之上,由OLEAutomation發展而來的。Automation技術并不是直接獲取和處理數據,而是利用一個應用程序對另一個應用程序進行操作,從而間接地利用組件對象的屬性獲取和處理數據。Automation技術包括server和client兩個方面。Automation server是一個提供了Dispatch接口的COM組件,而Automation client則是一個通過Dispatch接口與自動化服務器進行通信的COM客戶。如果我們把CATIA看成是一個server,那么應用程序則是client。CATIA Automation提供了許多進行二次開發的API函數,還有一些專用數據常量。API(Application Programing Interface,應用程序編程接口)是CATIA平臺內預先編好的一組函數,實現與外界的通信功能,在Xl:Program Files\Dassauh Systemes\Bx2\iutel_a\code\bin目錄下可以找到這些文件(X1為CATIA安裝的盤符名稱,X2為CATIA的版本號)。不同類型的CATIA文檔對應不同的API函數。借助自動化技術,數據常量在外部應用程序和CATIA之間的傳遞過程,對應用程序來說是不可見的。
2.2.2 CAA V5技術
CAA采用面向對象的程序語言,而面向對象的程序設計因為其具有可復用性、抽象性、封裝性等優點,已逐漸在軟件開發領域中占據主導地位。CAA采用COM技術,它首先連接到CATIA的COM接口,然后調用CATIA最底層的API,運用OLE技術對組件對象進行程序集成并彼此進行連接,使COM對象具備了更好的模塊獨立性和可擴展性,使CAA的程序設計趨于標準化,程序的代碼更加簡潔。
3 齒輪的參數化設計
利用Visual Basic進行CATIA二次開發時,為了簡化程序的編制,以及充分利用CATIA提供的二次開發功能,往往需針對零件利用CATIA的宏錄制方法獲取零件建模所需的宏命令,然后對所錄制的宏命令進行相應的修改,例如增加零件參數變量設置、與數據庫進行連接以獲取零件結構參數等,這會節省很多時間。
3.1 齒輪參數化建模
齒輪的整個建模過程是基于參數化設計理念的,即將具有代表性的幾何形狀定義為特征,并將其所有尺寸設為參數變量,通過特征尺寸參數來生成特征實體,并以此為基礎構造更加復雜的零件模型。參數化設計通常采用尺寸驅動法,即在保證零件的拓撲結構不變的情況下,把零件的尺寸參數定義為尺寸變量,并給出變量之間的約束關系。當給定不同的尺寸值時,便可得到一組結構相同而尺寸不同的零件。首先,將齒輪進行特征分解,根據CATIA的功能特點,確定各特征結構建立的順序,每一次所建立的特征結構盡可能要簡單、規范,從而使復雜的零件由一系列基本特征結構表示出來。在齒輪的參數化過程中,要按正確的順序建立各個特征,否則可能導致在CATIA中生成的參數驅動的模型與實際產品的尺寸不符。在進行建模之前需要激活CATIA中的宏命令錄制功能,即“工具——宏——啟動錄制”,以獲得整個齒輪建模所需的宏命令流。模型建立完畢后.打開宏命令,并對其中涉及到的驅動尺寸進行參數變量設定,使程序通過用戶自定義界面獲得驅動尺寸參數值后,對標準模型之間的約束關系進行修改,從而改變特征的幾何或拓撲信息,進而修改相關模型及其之間的關系,生成所需要的零件。
3.2 CATIA中齒輪參數化建模的實現
CATIA中實現參數化建模可以用參數、公式、表格、特征等驅動方式。在本文中利用用戶參數和公式方法驅動圖形。CATIA不僅具有系統默認的參數,還有用戶自定義參數。開發人員通過用戶自定義參數和公式的工具,可以方便、快捷地制定出滿足客戶個性化需求的各種各樣的參數以及聯系這些參數之間的公式。CATIA提供了以下諸多可供用戶選擇使用的參數:幾何參數(如:點、線、曲線、曲面等)、物理參數(如:長度、質量、速度、溫度、密度等)、無量綱參數(如:整數、實數)、字符型參數及布爾型參數等40多種類型的參數。用戶自定義公式為CATIA中系統參數與用戶參數之間的通信建立了樞紐。開發人員者可以通過創建用戶自定義參數與三維模型特征參數之間的公式,使用戶自定義參數驅動系統參數,進而控制圖形的尺寸。
3.3 用戶工作界面的設計
用戶界面是實現人機交互的媒介,而一個友好的用戶界面,能夠使用戶方便快捷地進行產品的設計與開發。使用VBA編程時,要按所實現的功能選擇合適的控件對象,也要合理布局控件對象在窗體中的位置。進行界面設計時,主要就是把合適的控件按功能需要放到合適的位置并設置合適的屬性,用戶既可以保留VisualBasic系統為新創建的對象設置的屬性默認值,包括對象的名稱、顏色、大小、位置等,也可以根據自己的需要,通過屬性窗口和代碼窗口對屬性進行修改。完成界面的設計后,對那些需要與外部信息進行交互的對象,如命令按鈕、單選按鈕、檢查框、文本框等,就可以在代碼窗口中編寫程序,以此來告訴控件對象需要響應的事件。
3.4 齒輪參數化設計程序開發
首先,通過CATIA的知識工程模塊,利用系統參數和公式,建立齒輪三維模型與數據間的關聯,對數據進行分類和整理,把那些能夠控制齒輪形狀的數據進行參數化,通過對這些數據的更改實現齒輪模型的改變。采用VB語言編寫控制程序,通過人工輸入用戶自定義參數,進行數據的傳遞,以生成滿足條件的齒輪三維模型。齒輪設計程序界面如圖1和圖2。
圖1 界面設計
圖2 齒輪設計程序界面
生成的齒輪模型通過上述方法編寫程序運行界面,輸入齒輪的主要控制參數,就可在CATIA運行環境中生成齒輪的三維實體模型。
4 結語
在VBA語言的支持下,CATIA的所有模塊的基本功能,都可以通過自身豐富的二次開發的接口實現,在產品的虛擬建模方面具有很大優勢。從上述實例中也可以看出,基于CATIA二次開發平臺的的齒輪參數化設計是完全可行的。用戶確定好齒輪的主要參數后,通過對設計界面的簡單操作,就可以實現齒輪三維模型的自動生成,省去了在CATIA中進行重復的手工操作,縮短了產品造型設計周期,提高了工作效率。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文網址:http://www.guhuozai8.cn/html/solutions/14019317098.html