徐 靂 于 婧 翟元盛
[摘 要]針對(duì)目前國(guó)內(nèi)汽車模具行業(yè)用的大型三維CAD軟件自帶零件庫(kù)不足的問題,建立一種基于CATIA知識(shí)顧問技術(shù)的沖壓模具零件庫(kù),設(shè)計(jì)基于知識(shí)的零件模型庫(kù),零件信息數(shù)據(jù)庫(kù),使用VB構(gòu)建控制界面,以斜楔零件庫(kù)為例驗(yàn)證該方案實(shí)際應(yīng)用情況。
[關(guān)鍵詞]零件庫(kù) 參數(shù)化 知識(shí)顧問 二次開發(fā) CATIA
[中圖分類號(hào)]TP391[文獻(xiàn)標(biāo)識(shí)碼]A [文章編號(hào)]1007-9416(2009)12-0069-03
為解決目前國(guó)內(nèi)引進(jìn)的一些大型三維CAD軟件提供的標(biāo)準(zhǔn)件庫(kù)資料不全,與國(guó)內(nèi)的設(shè)計(jì)標(biāo)準(zhǔn)、規(guī)范存在差異,不能在企業(yè)設(shè)計(jì)工程中發(fā)揮有效作用的現(xiàn)狀,提出了建立三維CAD軟件零件庫(kù)的需求。
CATIA系統(tǒng)已成為汽車模具行業(yè)的主流CAD平臺(tái),其零件庫(kù)的開發(fā)已成為數(shù)字化產(chǎn)品定義和模具快速設(shè)計(jì)的關(guān)鍵。本文選用VB開發(fā)環(huán)境下的二次開發(fā)方法,將CATIA的庫(kù)文件加入程序框架,引用類對(duì)象、函數(shù)等進(jìn)行二次開發(fā)。VB使用腳本語言,界面友好可滿足功能,且上手快,能夠提高開發(fā)效率。
1 零件庫(kù)的設(shè)計(jì)方案
經(jīng)過分析建立沖壓模具的零件庫(kù)主要應(yīng)具備零件智能設(shè)計(jì)功能,自動(dòng)參數(shù)化建模,提供各種零件信息,同時(shí)界面友好,易于用戶理解。根據(jù)上述功能要求,本文所開發(fā)的沖壓模具零件庫(kù)需進(jìn)行三部分設(shè)計(jì),沖壓模具零件模型,零件信息管理數(shù)據(jù)庫(kù)和用戶交互界面。
設(shè)計(jì)過程:
(1)在CATIA V5平臺(tái)上建立零件、非標(biāo)準(zhǔn)件及斜楔三維零件模型。
(2)提取零件設(shè)計(jì)與約束信息,在CATIA V5知識(shí)工程模塊下編寫零件的知識(shí)信息語句,實(shí)現(xiàn)零件的參數(shù)約束,設(shè)計(jì)規(guī)則檢查,數(shù)據(jù)更新等智能設(shè)計(jì)功能,建立零件參數(shù)驅(qū)動(dòng)基礎(chǔ)。
(3)建立標(biāo)準(zhǔn)件、非標(biāo)準(zhǔn)件及斜楔零件庫(kù)的特征參數(shù)數(shù)據(jù)庫(kù),用于在系統(tǒng)界面中顯示零件的特征參數(shù)。
(4)以Visual Basic 6.0作為開發(fā)語言,結(jié)合CATIA V5軟件的二次開發(fā)技術(shù),對(duì)前面所建的零件模型在知識(shí)工程模塊中進(jìn)行參數(shù)化驅(qū)動(dòng)。
(5)利用Visual Basic6.0分別定制標(biāo)準(zhǔn)件庫(kù)、斜楔和非標(biāo)準(zhǔn)件零件庫(kù)的用戶界面;開發(fā)客戶端沖壓模具零件庫(kù)系統(tǒng),調(diào)用ACCESS數(shù)據(jù)庫(kù)實(shí)現(xiàn)零件參數(shù)的選擇,以上一步編寫的程序驅(qū)動(dòng)零件模型,并通過CATIA V5知識(shí)工程模塊實(shí)現(xiàn)零件智能設(shè)計(jì)功能,最終完成沖壓模具零件設(shè)計(jì)信息查詢、瀏覽,零件參數(shù)化模型的下載或者重新生成功能。本文將以斜楔零件為例,零件庫(kù)工作流程如圖1。

所謂智能設(shè)計(jì)是利用CATIA知識(shí)功能模塊,將從專家經(jīng)驗(yàn)、各種標(biāo)準(zhǔn)、技術(shù)規(guī)范、數(shù)據(jù)獲取知識(shí)建立規(guī)則和約束表示出來,形成推理,使設(shè)計(jì)者在外部程序中輸入的零件參數(shù)在CATIA中生成新的零件模型。
2 零件模型的建立
本文運(yùn)用參數(shù)化和知識(shí)的運(yùn)用來實(shí)現(xiàn)零件庫(kù)的功能。參數(shù)化設(shè)計(jì)過程限制圖形幾何元素之間的相互位置及連接關(guān)系,通過尺寸驅(qū)動(dòng)方式解決問題。由尺寸約束建立的模型受到約束,改變相應(yīng)的參數(shù),生成新零件模型。同時(shí)CATIA提供了運(yùn)用知識(shí)工程的參數(shù)化設(shè)計(jì)手段。知識(shí)工程可以把產(chǎn)品的設(shè)計(jì)知識(shí)用知識(shí)工程原理表達(dá)出來,組成一個(gè)產(chǎn)品知識(shí)庫(kù),指導(dǎo)設(shè)計(jì)人員完成產(chǎn)品創(chuàng)新。這兩種技術(shù)的結(jié)合使用避免了設(shè)計(jì)中的重復(fù)勞動(dòng),又使得設(shè)計(jì)的精度提高。以下將以斜楔為例介紹零件模型建立過程。
(1)創(chuàng)建零件模型:根據(jù)沖壓模具標(biāo)準(zhǔn)件手冊(cè),分別對(duì)斜楔塊、滑塊、上底座進(jìn)行設(shè)計(jì)。在零件建模同時(shí),選擇CATIA的RECORDING MACRO功能,錄制宏文件。用作VB中驅(qū)動(dòng)零件生成的腳本。
三維零件參數(shù)化驅(qū)動(dòng)部分代碼如下:
If list1.list(0) = true Then
Dim documents1 As Documents
Set documents1 = catia.Documents
Dim partDocument1 As PartDocument
Set partDocument1 = documents1.Open("F:…模型圖斜楔塊.CATPart")
(2)設(shè)立用戶參數(shù):對(duì)一個(gè)圖形,可能的約束十分復(fù)雜,且數(shù)量很大,但實(shí)際由用戶控制的,即能夠獨(dú)立變化的參數(shù)一般只有幾個(gè),稱之為主參數(shù)或主約束。建立用戶參數(shù)與主參數(shù)對(duì)應(yīng),分析兩者之間的關(guān)系,并建立公式(Formula)顯式地表達(dá),通過用戶參數(shù)控制零件的三維模型。
(3)建立公式:利用公式控制設(shè)計(jì)對(duì)象結(jié)構(gòu)和尺寸,能對(duì)企業(yè)產(chǎn)品設(shè)計(jì)進(jìn)行規(guī)范化,并在今后的設(shè)計(jì)中重用。進(jìn)入公式編輯區(qū)域,在參數(shù)列表中選擇要進(jìn)行約束的參數(shù)名,輸入關(guān)系表達(dá)式。部分公式如下:
PartBodyPad.1Sketch.1Length.8Length=W1
PartBodyPad.1FirstLimitLength=h1
PartBodyPad.2Sketch.6Length.56Length=H1-h1
PartBodyPad.2Sketch.6Offset.119Offset=S1 PartBodyPad.2Sketch.6Angel.118Angel=a
(4)建立規(guī)則。在手動(dòng)輸入斜楔參數(shù)時(shí),因?yàn)榱慵?shù)與數(shù)據(jù)庫(kù)中存在的數(shù)據(jù)不同,要通過參數(shù)驅(qū)動(dòng)生成新零件就要應(yīng)用知識(shí)工程技術(shù)的規(guī)則。在CATIA V5知識(shí)顧問模塊中采用產(chǎn)生式規(guī)則,建立斜楔零件的選擇規(guī)則和裝配規(guī)則,其作用是由規(guī)則和外部關(guān)聯(lián)元素來驅(qū)動(dòng)設(shè)計(jì)與裝配。以類型選擇規(guī)則為例,在特征樹下新建字符串參數(shù),選擇多值類型名為“TYPE”,相應(yīng)值為9種斜楔型號(hào),以根據(jù)輸入的參數(shù)值自動(dòng)選擇相應(yīng)類型的參數(shù)。進(jìn)入知識(shí)顧問模塊,建立類型選擇推理部分語句為:
if TYPE="B-UCMSC80-00" THEN PartBodyPad1.Sketch.1Lng.8Activity=true
PartBodyPad3.Activity=false
Else
PartBodyPad1.Sketch.1Lng.8Activity=false
PartBodyPad3.Activity=true
(5)建立檢查。檢查是用來表達(dá)各種企業(yè)規(guī)范的判斷語句,通過判別模型中有關(guān)參數(shù)和特征的變化情況反映模型出現(xiàn)的異常。根據(jù)手冊(cè)要求,建立滑塊底面寬度S2必須比長(zhǎng)度W2大,選擇警告模式(Warning),當(dāng)設(shè)計(jì)的參數(shù)不符合規(guī)則時(shí),即“S2≤W2”時(shí),彈出警告信息框“S2>W2 is wrong. please check”,提示設(shè)計(jì)者修改參數(shù)。
(6)裝配零件。確定裝配體中零件相對(duì)位置和方向的定位關(guān)系為主要裝配規(guī)則;選擇斜楔三部分的接觸面,確定法線方向,這些規(guī)則將用于新參數(shù)驅(qū)動(dòng)生成的斜楔模型保持正確的裝配關(guān)系。手動(dòng)裝配斜楔塊,滑塊,上底座,得到斜楔三維模型圖。
3 標(biāo)準(zhǔn)件數(shù)據(jù)庫(kù)設(shè)計(jì)
使用數(shù)據(jù)庫(kù)主要是實(shí)現(xiàn)對(duì)標(biāo)準(zhǔn)件分類和參數(shù)信息的分類管理。數(shù)據(jù)庫(kù)文件采用Microsoft Access2000的數(shù)據(jù)文件。表內(nèi)每種類型的信息只保存一次,這樣使數(shù)據(jù)庫(kù)更有效。本文中設(shè)計(jì)三個(gè)表格,分別為斜楔塊,滑塊和上底座用戶參數(shù),每一行代表一組參數(shù)信息。在零件設(shè)計(jì)系統(tǒng)中將通過窗體對(duì)象顯示和調(diào)用這些參數(shù)。
4 零件庫(kù)的建立
利用CATIA為用戶提供的二次開發(fā)接口和開放式的內(nèi)部命令集合建立零件庫(kù)。在CATIA中建立基于知識(shí)工程的零件的零件圖,通過VB環(huán)境編程得到一個(gè)可視化的具有交互性的系統(tǒng),驅(qū)動(dòng)CATIA生成零件圖。
建立VB與CATIA的連接。通過VB訪問CATIA是一種進(jìn)程外腳本訪問方式,外部程序通過COM接口來訪問CATIA內(nèi)部的對(duì)象。[2]VB將CATIA作為引用對(duì)象連接,在VB[工程]/[引用]選項(xiàng)中選擇選擇與CATIA相關(guān)的全部對(duì)象庫(kù)。沖壓模具標(biāo)準(zhǔn)件庫(kù)通過ADO技術(shù)訪問數(shù)據(jù)庫(kù),實(shí)現(xiàn)數(shù)據(jù)庫(kù)的添加,查詢,修改等功能。建立零件庫(kù)內(nèi)部代碼,調(diào)用CATIA,完成零件庫(kù)功能。當(dāng)用戶選擇某種型號(hào)的斜楔模型輸入新的數(shù)據(jù)時(shí),通過參數(shù)驅(qū)動(dòng)方式生成新的模型;當(dāng)用戶輸入任意的參數(shù)值時(shí)通過知識(shí)工程的推理過程尋找相同或相近的模型,在此模型基礎(chǔ)上再通過參數(shù)驅(qū)動(dòng)生成新模型。
結(jié)語
本文利用VB將CATIA二次開發(fā)功能和ACCESS數(shù)據(jù)庫(kù)結(jié)合起來,設(shè)計(jì)出了一種基于知識(shí)的汽車沖壓模具零件庫(kù)。以斜楔為例,通過智能驅(qū)動(dòng)生成了零件模型,實(shí)現(xiàn)了系統(tǒng)功能。建立基于知識(shí)的沖壓模具零件庫(kù)有利于提高模具設(shè)計(jì)效率,交互性強(qiáng),具有一定實(shí)際意義。
[參考文獻(xiàn)]
[1] 劉冰,魯墨武.基于CATIA的三維標(biāo)準(zhǔn)件庫(kù)開發(fā)[J].沈陽航空工業(yè)學(xué)院報(bào),2005,22(5):30-32.
[2] 胡挺,吳立軍.CATIA二次開發(fā)技術(shù)基礎(chǔ)[M].北京:電子工業(yè)出版社.2006.
[3] 鄭可煌.實(shí)用沖壓模具的設(shè)計(jì)手冊(cè)[M].北京:宇航出版社.1990.
[4] 顧曉華,鐘梁維.基于知識(shí)工程的參數(shù)化設(shè)計(jì)[J].機(jī)械設(shè)計(jì)與制造工程,2001(4):17-18.
[5] 王智明,楊旭,平海濤.知識(shí)工程及專家系統(tǒng)[M].北京:化學(xué)工業(yè)出版社.2006.