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