CATIA作為當前一種主流的CAD三維設計軟件,廣泛應用于航空、汽車、船舶及其他制造業。它之所以如此多地受到越來越多企業的青睞,除了其所具備的強大的三維建模功能外,很大程度上由于其提供給用戶的友好的二次開發接口,用戶可以根據自己的需求開發出自身需要的界面,以及建立隨時可以調用的模型庫,方便設計者進行設計。在當前競爭日益加劇的形勢下,誰先推出新的符合大眾需求的產品,誰就占據了商機。對于設計者來說,從產品概念設計到產品的批量生產的過程中,經歷了不斷的設計、測試、更改;再設計、再測試、再更改的過程。而這種更改經常只是一些小的方面的更正,例如尺寸上的稍加改動,而總的產品外形是不變的,如果重復性地做這種更改,會帶來設計時間上的浪費。為了減少這種時間上的浪費,提高設計效率,同時節約投入上的成本,對于一些標準件、常用件以及企業的一些同類型、尺寸不同的產品,有必要將其參數化,建立相應的零部件庫,待到需要時,只需從庫中調出所需的參數化零件,或者在定制的界面中輸入用戶所需的參數,就可以快速在CATIA環境中生成模型,這樣很大程度上縮短了建模時間,提高了建模效率,而且方便了模型的更改。
基于當前為了提高建模效率,降低重復性建模次數的要求,本文討論了關于CATIA中建立參數化零件庫的方法,以及它們相應的建立步驟。
一、CATIA中建立零件庫的方法簡介
作為一款成熟的CAD軟件,CATIA擁有強大的建模功能,友好的界面,同時它也嵌入了裝配建模時所需的一些標準件,如螺栓、螺母和墊圈等的參數化標準件庫。但這些都不能滿足不同企業生產過程中的要求,因為這些自帶的標準件是CATIA軟件開發公司根據通用零件標準建立的,不具備特殊性。一般的企業都有自己的一些常用件,這些常用件又是設計過程中經常用到的,并且很多情況下這些零件是同類不同尺寸,若反復建立這些模型,會導致時間上的浪費,因此CATIA提供了參數化零件庫的二次開發功能。
目前,在CATIA中建立參數化零件庫的方法主要有以下兩種:①運用CATIA軟件本身自帶的智能工程模塊建立零部件庫;②運用編程的方式建立參數化零件庫。第二種方法需要用戶具備一定的計算機編程方面的知識,使用的方法可分為進程內和進程外的編程。進程內的開發主要是使用宏命令錄制或編寫,使用到的語言有VBScript、CATScript和VBA;進程外的主要是運用VB和VC作為開發軟件,通過駕馭CATIA專門的外部接口進行通訊建庫。
1. 運用知識工程模塊建庫
利用CATIA的知識工程模塊,可以快速簡便地設計出用戶所需的參數化零部件庫。建庫的過程中主要用到的是CATIA知識模塊中的FORMULAR功能、DESIGN TABLE功能,以及CATALOG功能。這種方法建庫的思想是提取模型的特征參數,并將它們制成數據表格,以EXCEL或TXT的形式保存下來,用表格內的參數驅動CATIA自動建模。用這種方法建庫可以很輕松地刪除或是添加用戶所需要的模型參數,若想生成新的同類模型,只需向表格中加入新的數據即可。并且用這種方法建庫的過程中還可以運用該模塊中的規則(rule)和檢查(check)等功能將一些設計者總結出來的經驗,或是設計要求添加進來,以提高設計效率,豐富我們所建的庫。
使用該方法需要注意的是:零件庫所提取的特征參數是一些重要的尺寸,這些尺寸能夠反應模型的構造,尺寸的提取是通過草圖中的約束實現的。最終,通過表格驅動這些約束尺寸實現建模。
在運用這種方法建庫之前,先要對其環境進行相關的設置,具體有兩種設置,操作如下。
第一種設置為:在option對話框中依次打開Tools→Options→General→Parametersand Measure→Knowledge→Parameter Tree View→With Value,直至With Formula。
第二種設置為:Tools→Options→Infrastructure→Part Infrastructure→Display→Parameters,選擇Relations。
以上這兩種設置的主要目的,是方便在設置完變量和定義了公式后,可以在CATIA結構樹中將其顯示出來。
具體建立參數化零件庫步驟為(以C級六角頭螺栓GB5780-2000為例):①在CATIA環境中建立對象的模型,在此過程中,要注意用尺寸約束那些需要參數化的特征尺寸(如圖1),以便以后用來直接驅動這些尺寸,快速生成模型。②模型建好后(如圖2),利用FORMULAR功能,建立用戶自己的變量(如圖3),這些變量必須是能夠代表所建零件的一些特征尺寸。然后將這些變量賦給零件相對應的實體尺寸上,或通過編輯公式,來實現對應的關系。這樣做的目的是使用戶建立的變量與實體尺寸間建立關聯,以后通過修改這些用戶變量,就可生成形狀相同、尺寸不同的零件。③建表。用DESIGN TABLE功能建立表格(如圖4),表格中的參數變量就是上一步操作當中定義的用戶變量(也可以從外部調用一個已經存在的表格,調用時會自動將字段名相同的字段對應起來),表格中輸入的數據是用戶需要的,或是根據國家標準得來。本例的螺栓相關數據可查機械設計手冊得到。④入庫。運用CATALOG功能建立零件的庫(如圖5),以備需要時隨時調用。調用時,用戶只需選擇自己需要的尺寸,對其進行鼠標雙擊,就可快速的生成模型。
知識工程模塊建庫的方法完全基于CATIA,由于知識工程模塊本身是CATIA的內部模塊,因此開發起來很方便,調用時的響應速度也較快,同時也能夠根據用戶需要,只需增減表格中的數據,就能很方便地擴充庫。但用這種方式開發的零件庫也有其不足之處:數據冗余大,需將大量的數據存儲在表格中。當模型較大時,數據就會增多,占用大量的資源,且不方便檢索,不像利用VB或VC編程建庫的方式,只需制定出簡潔的界面,用戶輸入數據就能直接生成模型。
2.運用編程方式建庫
運用編程方式建庫就能夠消除知識工程模塊建庫方法的弊端,但對用戶的要求更高,用戶需具備一定的計算機編程能力,同時還必須熟練掌握CATIA內部的API函數,這樣才能夠通過接口調用API函數進行編程建模。
(1)進程內宏編程。
運用CATIA中的宏(macro)進行二次開發是編程開發中最簡易的開發方式,用戶只需了解有關CATIA的API就可以進行編程開發。并且用戶還可以通過錄制宏的方式,更加簡便地進行開發。
具體方式是:在建模之前點擊CATIA中“Tools”下的“宏(Macro)”菜單,開始宏的錄制。之后,系統將出現錄制結束的按鈕,模型建完后,關閉此圖標按鈕。操作者此時只要打開宏對其進行編輯,修改其中的主要參數,然后運行,就可以生成不同的模型。用戶還可以通過定制(customize)將編寫或錄制的宏命令加入到工具條上,并將其關聯一個圖標。當想要生成模型時,只需點擊工具條中定制的宏圖標,就可以快速生成模型。
該方法雖然相對比較簡單,但靈活性較差,與CATIA結合在一起,只有當CATIA運行時才能進行相應的操作,并且參數修改起來不太方便。而用進程外的應用軟件VB或VC進行建庫就能很好地解決這些問題,能夠設計出友好的界面,進行人機交互式建模。
(2)VB建庫。
用VB建庫主要是基于CATIA二次開發中的AUTOMATION技術進行。運用VB建庫的主要思想是:借助VB的開發功能設計出交互式界面,用戶只需在界面中輸入自己設計的參數,就能在CATIA中建立相應的模型。其中,最重要的就是要分析模型的構造,提取出模型的特征參數,然后將這些特征參數以控件的方式添加到VB定制出的界面中,實現人機交互。其流程如下圖6所示。
用VB建庫需注意兩點:①要先引用CATIA的對象庫,將CATIA的相關庫文件加入到VB環境中,具體方法是在VB環境中選中“工程→引用”,然后選中里面的所有有關CATIA的庫文件(這對于初學者來說非常必要,以防漏選),這樣以后才能調用CATIA的對象庫進行編程。②采用Get Object或CreateObject來建立跟CATIA的連接,如果CATIA在當前情況下沒有啟動,就采用CreateObject來啟動CATIA,這是進程外VB跟進程內VBA編程的一個不同點。
具體的宏命令為:
Dim CATIA As Object
On Error Resume Next
Set CATIA = GetObject(, “CATIA.Application”) If Err.Number <> 0 Then
Set CATIA = CreateObject(“CATIA.Application”) CATIA.Visible = True
End If
On Error GoTo 0
(3)VC建庫。
采用VC建立參數化零件庫,主要就是借助CATIA二次開發工具CAA(Component Application Architecture)、RADE(Rapid Application Development Environment)和不同的API接口程序在VC環境中開發出能夠實現在CATIA中建模的交互式界面。要完成建立參數化零件庫的目的,首先需安裝與CATIA版本相對應的CAA-RADE軟件。其建庫思想總體上與VB相差無幾:通過建立交互式界面,用戶只需跟一系列的界面(對話框)進行對話,就可以生成模型。VC開發的特點在于其能夠開發出跟CATIA無縫連接的界面,能夠定制出具有CATIA風格的工具條、菜單以及對話框。一般情況下,外人很難從CATIA環境中分辨出用戶開發的產品,而VB開發出的界面達不到這種效果。
CAA采用面向對象的程序語言,對CAA的開發可看做是對其模塊,架構的擴展,其架構如圖7所示。
RADE是一個可視化的開發環境,它以VC為載體,開發工具完全集成在VC++的環境中,并且提供了一個CAA框架程序編譯器。在正式開發之前,用戶需先將CAA-RADE環境引入到VC中,具體做法是:在VC環境中點擊“工具→外接程序管理器”,之后系統會彈出一個界面(如圖8),在這個選項下,選擇所有開發中要用到的RADE插件。關閉VC重啟后,就完成了RADE環境的嵌入。
用VC建庫,首先要做的是界面的開發,即在CATIA中插入菜單、工具條和按鈕等。具體的流程在VC環境中完成:新建工作空間(WorkSpace)→新建框架(Frame)→添加Module→載入必須的API函數(“Locate Prerequisite Workspace”)→插入資源(command、dialog和Pattern)→編譯運行,通過這種方式可完成對工作臺的創建以及對話框的建立等。對于菜單和工具條的創建,則要利用代碼生成,通過調用相應的接口函數“CreateWorkbench()”中的宏來完成。以下就是本文作者在CATIAV5中做的界面(圖9)開發,在機械設計模塊中設計出了Brake Design子模塊,在該子模塊中還設計出了“制動器零件庫”菜單和相應的工具條,并將制動器零部件建模命令按鈕置于工具條之中。
用于工具條、菜單以及命令按鈕的添加代碼如下,其中,New Access、SetAccess Child、AddToolbar View和 SetWorkbenchMenu為CATIA API函數:
NewAccess(CATCmdContainer,CATCmdContainer1,CA TNewToolBar001Tlb); //建工具條
NewAccess(CATCmdStarter,pBrakePrtLib,BrakePrtLib);//建命令按鈕
SetAccessChild(CATCmdContainer1,pBrakePrtLib); //將按鈕置于工具條之內
AddToolbarView(CATCmdContainer1,1,Right); //設置工具條的位置,將其置于界面的右邊,第二個參數“1”,表示所建的工具條是可見的
SetAccessChild(CATCmdWorkbench1,CATCmdContain er1); //將工具條設置為位于所建工作臺(Brake Design)之中
NewAccess(CATCmdContainer,pBrakePrtLibMbr,Brake PrtLibMbr); //建立菜單入口
NewAccess(CATCmdContainer,pBrakePrtLibMnu,Brake PrtLibMnu); //建立系統菜單入口
SetAccessChild(pBrakePrtLibMbr,pBrakePrtLibMnu) //設定pBrakePrtLibMnu為pBrakePrtLibMbr的子對象
NewAccess(CATCmdStarter,pBrakePrtLibM,BrakePrtLibM); //建立菜單命令按鈕
SetAccessChild(pBrakePrtLibMnu,pBrakePrtLibM); //設置命令按鈕為菜單入口pBrakePrtLibMnu的子對象
SetWorkbenchMenu(CATCmdWorkbench1,pBrakePrtLibMbr);//設置菜單按鈕為工作臺BrakeDesign的子對象
以上代碼是在所開發的模塊(module)My Workbench中的“My Workbench.h”中完成的,其中My Workbench即為本文新開發的子模塊Brake Design所在module。對于有關資源(圖標和標題等)的定義,則在文件My Workbench.CATNls和MyWorkbench.CATRsc中分別定義。
在MyWorkbench.CATNls中,主要定義相關的標題資源:
MyWorkbench.Title=”Brake Design”;//設置新建工作臺標題為Brake Design
CATNewToolBar001Tlb.Title=”制動器零件庫”;//設置新建工具條標題
BrakePrtLibMnu.Title=”制動器零件庫”;//設置新建菜單標題
在MyWorkbench.CATRsc中,主要定義工作臺相關的圖標,路徑等資源:
MyWorkbench.Category=”MechanicalDesign”;//設置新建工作臺路徑位于MechanicalDesign之下
MyWorkbench.Icon.NormalPnl =”I_Brake”;// Icons for the Welcome window 64x64
My Workbench.Icon.NormalCtx =“I_Brake32”;// Icons for the Start menu 32x32
My Workbench.Icon.NormalRep=“I_Brake24”;//Icons for the workbench toolbar 24x24
其中I_Brake、I_Brake32和I_Brake24分別為圖標資源的名稱,它們一般存放在工程目錄“CNext esourcesgraphicicons ormal”之下,圖片格式一般為bmp格式。
運用VC建立參數化零件庫是當前對CATIA做的最高級的開發方式,建立的庫能夠很好地與CATIA融合到一起。但此種方式對開發者的要求很高,初學者要熟悉CAA的基本知識,以及它所提供的函數,因此入門較之前面提到的方法要難。
二、結論
CATIA作為一款參數化的設計軟件,其優點主要體現在它具備用于客戶化的接口,使得越來越多的企業能夠根據自身的需求對其進行二次開發,以開發出符合本企業所需要的模塊。對于本文所描述的建立參數化零件庫的方法,已有些企業做過,相信隨著人們對CATIA的進一步認識,對其建庫的需求將會日益加大。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF