劉 滕, 郝 博, 張信淋
(1. 沈陽理工大學(xué) 機械工程學(xué)院, 遼寧 沈陽 110159; 2. 遼寧機電職業(yè)技術(shù)學(xué)院, 遼寧 丹東 118009)
面向參數(shù)化建模的CATIA知識工程的二次開發(fā)技術(shù)
劉滕1, 郝博2, 張信淋1
(1. 沈陽理工大學(xué) 機械工程學(xué)院, 遼寧 沈陽110159; 2. 遼寧機電職業(yè)技術(shù)學(xué)院, 遼寧 丹東118009)
摘要:為縮短產(chǎn)品的開發(fā)周期,研究了一種利用CATIA進行二次開發(fā)的技術(shù).通過CATIA知識工程顧問平臺將產(chǎn)品的設(shè)計經(jīng)驗、特征信息等存于知識庫中,利用邏輯推理與表達將知識信息重用,實現(xiàn)典型零件的智能化快速響應(yīng)設(shè)計.該技術(shù)以組件應(yīng)用框架為開發(fā)平臺,在知識工程模塊開發(fā)集成的基礎(chǔ)上,實現(xiàn)典型零件參數(shù)化建模,提高了設(shè)計效率.
關(guān)鍵詞:參數(shù)化建模;知識工程;二次開發(fā);信息重用
隨著CAD/CAM 技術(shù)的發(fā)展,參數(shù)化建模技術(shù)已經(jīng)成為CAD中最熱門的應(yīng)用技術(shù)之一.參數(shù)化建模技術(shù)的發(fā)展經(jīng)歷了從手工繪圖到計算機二維繪圖、線框模型、自由曲面造型、三維實體造型,以及特征造型等發(fā)展階段[1],實現(xiàn)了從平面投影技術(shù)到全三維實體模型的轉(zhuǎn)變.傳統(tǒng)的CATIA建模技術(shù)所構(gòu)造的產(chǎn)品模型都是簡單幾何元素,難以實現(xiàn)對模型特征的重復(fù)利用.為了解決上述問題,研究利用CATIA二次開發(fā)的參數(shù)化建模方法,把已有的設(shè)計方法、經(jīng)驗等知識信息與CATIA參數(shù)化建模系統(tǒng)相結(jié)合,自動推理出符合要求的零件幾何模型.為此,人們提出了新的方法----基于知識工程的參數(shù)化建模技術(shù)[2].該技術(shù)優(yōu)點在于以二次開發(fā)技術(shù)為載體將包含有設(shè)計者的設(shè)計思想、經(jīng)驗等信息的知識工程技術(shù)與參數(shù)化建模技術(shù)相結(jié)合,相比較獨立的建模系統(tǒng),可以較大程度提高產(chǎn)品設(shè)計效率.
通過研究知識工程的二次開發(fā)技術(shù),指導(dǎo)典型零件的參數(shù)化建模,將產(chǎn)品知識融于設(shè)計過程.CATIA知識工程顧問模塊能讓產(chǎn)品設(shè)計人員在可視化的環(huán)境下,把產(chǎn)品的知識庫(參數(shù)選取、變量約束、特征關(guān)系式等)用知識工程原理表達出來[3].將知識工程模型庫中的信息重新整合在新產(chǎn)品中,并通過邏輯推理以及專家系統(tǒng)提出最佳的設(shè)計方案,實現(xiàn)智能化設(shè)計.
1參數(shù)化建模與CATIA二次開發(fā)
1.1參數(shù)化建模技術(shù)
參數(shù)化建模技術(shù)就是首先采用預(yù)定義的辦法建立圖形的幾何約束集,定義尺寸作為參數(shù)并與幾何約束集通過創(chuàng)建公式相關(guān)聯(lián),自動完成產(chǎn)品設(shè)計.其核心就是將單一模型中的定量信息變量化,提取產(chǎn)品的定形、定位等特征作為自變量,通過公式修改相關(guān)特征尺寸,其基本原理見圖1.參數(shù)化建模技術(shù)極大地改善了產(chǎn)品圖形的修改手段,提高了設(shè)計的柔性.在典型零件設(shè)計中,經(jīng)常會遇到系列化產(chǎn)品的設(shè)計和標(biāo)準件、常用件庫建立等問題,采用參數(shù)化建模方法是解決這一問題的最佳手段[4].
圖1 參數(shù)化建模原理圖
1.2CATIA二次開發(fā)技術(shù)
CATIA是由法國達索公司開發(fā)的對三維曲面信息有強大處理功能的軟件.為使CATIA滿足用戶深層次需求,CATIA開放了大部分接口,提供了很好的二次開發(fā)平臺[5].常用的CATIA二次開發(fā)的方法有兩種,第一種是利用自動化應(yīng)用接口(Automation API)技術(shù),可通過錄制宏(自動生成 VBScript 等)或 Visual Basic 平臺等方式實現(xiàn)所需功能[6].第二種是采用組件應(yīng)用框架(CAA)技術(shù),這種方法采用了標(biāo)準接口技術(shù),具備了更好的模塊獨立性和可擴展性,使CAA的程序設(shè)計更加容易且趨于標(biāo)準化[7].
該系統(tǒng)采用第二種方法即利用CAA技術(shù)對CATIA已有的功能統(tǒng)一集成或者根據(jù)用戶要求開發(fā)新功能.CAA由若干模塊組成,其基本結(jié)構(gòu)框架如圖2所示.在CAA中,對于知識工程的二次開發(fā)函數(shù)主要存在于Knowledge模塊中.
圖2 組件應(yīng)用框架
2基于知識工程的參數(shù)化建模技術(shù)
2.1知識工程技術(shù)
基于知識工程(Knowledge Based Engineering,KBE)的核心就是將產(chǎn)品的設(shè)計標(biāo)準、規(guī)范經(jīng)驗等特征信息建成知識庫嵌入到設(shè)計系統(tǒng)中.主要用于尺寸驅(qū)動的多視圖參數(shù)化、三維參數(shù)化與三維建模的統(tǒng)一處理[8],對于大批量生產(chǎn)的典型零件應(yīng)用意義較大.
KBE技術(shù)將人工智能與CATIA有機結(jié)合起來,將知識工程融入到CATIA系統(tǒng)中,使其應(yīng)用對象擴展到工程設(shè)計領(lǐng)域,形成了工程設(shè)計與CAX系統(tǒng)的無縫連接[2],提高產(chǎn)品的設(shè)計效率.
2.2面向參數(shù)化建模的知識工程技術(shù)
為使參數(shù)化建模的優(yōu)點充分體現(xiàn),采用知識工程技術(shù)描述產(chǎn)品的特征信息,這使其能夠以成員變量和成員函數(shù)的形式體現(xiàn).通過創(chuàng)建產(chǎn)品知識工程信息庫來表達產(chǎn)品設(shè)計的規(guī)則,其核心在于知識的推理與重用.所謂推理就是按某種策略由單一典型判斷推出所包含這一判斷的某一類型的思維過程.在當(dāng)前知識工程領(lǐng)域,基于規(guī)則的推理(RBR)、基于實例的推理(CBR),以及基于模型的推理(MBR)這三種推理方式應(yīng)用最為廣泛.面向參數(shù)化建模的知識工程技術(shù)中所用到的推理方式為基于實例的推理與基于規(guī)則的推理兩種方式相結(jié)合.其具體實現(xiàn)方式如下:一是基于實例的推理方式,通過創(chuàng)建知識庫來儲存已有的實例知識信息,研究KBE的模板匹配技術(shù),提取典型零件的特征信息,使模板得到重用[9].二是基于規(guī)則的推理,將建模過程中所用到的參數(shù)以及約束規(guī)范等存放在規(guī)則庫中,利用參數(shù)和關(guān)系式驅(qū)動幾何模型,將設(shè)計中的尺寸約束轉(zhuǎn)化為控制產(chǎn)品圖形的參數(shù)[6].利用以上兩種方式,可以實現(xiàn)基于邏輯推理的知識表達及重用.
將CATIA知識工程顧問模塊所提供的公式、規(guī)則和檢查等內(nèi)容利用CAA中的函數(shù)以程序語言的形式來表達.規(guī)則制定可以通過調(diào)用函數(shù)命令,有條件地改變尺寸值.檢查制定可以著重標(biāo)明在校驗過程中涉及的參數(shù),檢查相關(guān)變量之間是否存在干涉的現(xiàn)象,從而提高設(shè)計效率[1].
3知識工程技術(shù)的二次開發(fā)
3.1典型零件的參數(shù)化建模
首先利用CATIA的二次開發(fā)功能將典型零件進行參數(shù)化建模,提取產(chǎn)品的特征信息集成在知識工程模型庫中,然后在CATIA的Part Design中創(chuàng)建人機交互界面并實現(xiàn)對用戶界面功能的命令響應(yīng).在接口函數(shù)中創(chuàng)建工具條和命令按鈕,這一界面主要作用是體現(xiàn)存放在知識模型庫中的信息能夠重復(fù)利用的特點,如參數(shù)的選取、公式的編輯等,具體程序命令如下:
{NewAccess(CATCmdContainer,pCATIAMbr,CATIAMbr);
NewAccess(CATCmdContainer,pMnu1,知識工程);
SetAccessChild(pCATIAMbr,pMnu1);
NewAccess(CATCmdContainer,
pMenu1,參數(shù)化建模);
SetAccessChild(pMnu1,pMenu1);}
本程序的兩個主要模塊為參數(shù)化建模和知識工程技術(shù)模塊,具體的建模流程如圖3所示:首先按照設(shè)計要求設(shè)置參數(shù),然后通過智能專家系統(tǒng),判斷零件設(shè)計的合理性,實現(xiàn)參數(shù)化建模.將其存放在知識庫中,為零件特征信息的提取以及重用提供模型支持.
3.2特征信息的提取
利用知識工程顧問模塊,以程序語言的形式來表達參數(shù)和關(guān)系式等特征信息是利用知識工程技術(shù)的前提.拉桿因其具有使用靈活、通用性較高等特點,在汽車各部件中應(yīng)用較多,以汽車懸掛平衡拉桿為例,首先利用函數(shù)CATIParm Publisher,將自定義變量在后臺運行窗口中顯示,命令如下:
圖3 KBE參數(shù)化建模流程圖
CATLISTV(CATISpecObjectvar)ListFound;
sPPublish->
GetAllChildren(CATICkeParm,ListFound);
CATICkeParmFactory_varCATICkeParm_var
ekobj=spCkeFact->CreateLength
(“耳孔半徑”, D/2000);∥顯示特征變量
CATCkeGlobalFunctions::GetFunctionFactory()
spFunctionFact->
AddToCurrentParameterSet(ekobj, piPublish);
spFormula=spCkeFact
->CreateFormula;∥創(chuàng)建基于特征信息變量關(guān)系式
if(pi->_pSelectList002->IsSelect(“拉桿”))
pi->NewCurrentSelect = “CCCC”;
pi->CreateInstanceModelCCCC();
CATUnicodeString(“LaGan.CATPart”);∥將特征信息存放在知識庫中
通過以上程序建立變量之間的函數(shù)關(guān)系式,根據(jù)關(guān)系式中所建立的參數(shù)依附關(guān)系,修改變量,提取特征信息并顯示在模型結(jié)構(gòu)樹上,利用知識工程技術(shù)可實現(xiàn)參數(shù)的提取與更改.
3.3特征信息的重用
首先利用函數(shù)GetParameters確定所要獲取的構(gòu)件要素的種類和數(shù)量,以CATIA系統(tǒng)中的超級副本技術(shù)為基礎(chǔ),以汽車懸掛平衡拉桿為例,有如下操作:
CATPathElement*FirstPlane=SelectedPathMent[1]
FilterTheSelectCATPathMent
(FirstPlane,TempFirstPlane,1,pIUdfInstantiate);
pIUdfInstantiate->GetParameters
(pListParam,pListParamRole);∥獲取構(gòu)件要素
double a;
a=Editor2()->GetValue()
pIUdfInstantiate->SetNewInput(1,TempFirstPlan);
……
依照此程序,以汽車懸掛平衡拉桿為例,利用知識工程技術(shù)對耳片半徑、厚度等實現(xiàn)特征信息的更改以及重用,所得零件模型如圖4所示.
圖4 基于知識工程的汽車懸掛平衡拉桿模型
4結(jié)論
本文通過對傳統(tǒng)的知識工程技術(shù)模塊進行二次開發(fā),將這一技術(shù)應(yīng)用到典型零件上,實現(xiàn)知識驅(qū)動下的產(chǎn)品參數(shù)化建模.從CATIA二次開發(fā)的思路上看,這是一個優(yōu)勢明顯的面向?qū)ο蟪绦蛟O(shè)計的典范[4],知識工程技術(shù)應(yīng)用于參數(shù)化建模中,其核心思想是利用二次開發(fā)技術(shù)將設(shè)計人員的設(shè)計經(jīng)驗、思路以及方法融入到產(chǎn)品設(shè)計中,不僅是簡單地表示、利用知識,而且還能更進一步獲取知識,利用知識工程技術(shù)可以預(yù)先發(fā)現(xiàn)設(shè)計缺點,提高設(shè)計效率,同時,KBE技術(shù)能夠?qū)⑿袠I(yè)工程標(biāo)準和長期積累的成熟設(shè)計經(jīng)驗以知識工程模型庫的形式保存,通過不斷地更新知識庫系統(tǒng),實現(xiàn)知識信息的自我學(xué)習(xí)與創(chuàng)新,實現(xiàn)對典型零件的快速智能化建模.
參考文獻:
[1] 顧曉華,仲梁維. 基于知識工程的參數(shù)化設(shè)計[J]. 機械設(shè)計與制造工程, 2001(4):17-18.
(GU X H, ZHONG L W. The parametric design oriented to knowledge base[J]. Machine Design and Manufacturing Engineering, 2001,30(4):17-18.)
[2] 趙東,孔慧敏. 基于知識工程的船體結(jié)構(gòu)參數(shù)化設(shè)計[J]. 造船技術(shù), 2005(1):5-7.
(ZHAO D, KONG H M. Parameterized design of hull structure on basic of knowledge engineering[J]. Marine Technology, 2005(1):5-7.)
[3] 戴晟暉,桂穎. 基于KBE與ActiveX的產(chǎn)品參數(shù)化設(shè)計研究[J].計算機工程與設(shè)計, 2008(24):6410-6413.
(DAI S H, GUI Y. Parameterized design for mechanical product based on KBE and ActiveX[J]. Computer Engineering and Design, 2008,29(24):6410-6413.)
[4] 張學(xué)忱,陳錦昌,范汝祥,等. 知識工程在機械產(chǎn)品參數(shù)化設(shè)計中的應(yīng)用研究[J]. 工程圖學(xué)學(xué)報, 2009(6):191-195.
(ZHANG X C, CHEN J C, FAN R X, et al. Research on application of knowledge engineering in parametric design for mechanical product[J]. Journal of Engineering Graphics, 2009,30(6):191-195.)
[5] 龍峰,樊留群. CATIA V5二次開發(fā)技術(shù)探討[J]. 淮陰工學(xué)院學(xué)報, 2005(5):21-23.
(LONG F, FAN L Q. On the second development technology of CATIA V5[J]. Journal of Huaiyin Institute of Technology, 2005,14(5):21-23.)
[6] 吳立軍. CATIA二次開發(fā)技術(shù)基礎(chǔ)[M]. 北京:電子工業(yè)出版社, 2006:12-13.
(WU L J. CATIA secondary development technology[M]. Beijing: Electronic Industry Press, 2006:12-13.)
[7] 梁岱春,張為民,隋立江. 淺析基于CAA的CATIA二次開發(fā)[J]. 航空制造技術(shù), 2012(10):65-68.
(LIANG D C, ZHANG W M, SUI L J. Brief analysis on secondary development of CATIA based on CAA[J]. Aeronautical Manufacturing Technology, 2012(10):65-68.)
[8] 王春莉,梁立波,王寶玉. 計算機三維重建技術(shù)的發(fā)展與應(yīng)用[J]. 沈陽大學(xué)學(xué)報, 2003(2):25-26.
(WANG C L, LIANG L B, WANG B Y. Development and application of computer 3D reconstruction[J]. Journal of Shenyang University, 2003,15(2):25-26.)
[9] 趙波. 基于KBE的機械產(chǎn)品設(shè)計[J]. 機械設(shè)計, 2004(7):7-8.
【責(zé)任編輯: 肖景魁】
( ZHAO B. Machinery product design based on KBE[J]. Journal of Mechane Design, 2004,21(7):7-8.)
Secondary Development Technology of CATIA Knowledge Engineering Based on Parameterized Modeling
LiuTeng1,HaoBo2,ZhangXinlin1
(1. School of Mechanical Engineering, Shenyang Ligong University, Shenyang 110159, China; 2. Liaoning Mechatronics College, Dandong 118009, China)
Abstract:A technology using CATIA to make secondary development is studied, to shorten product development cycle. The design experience and the feature information of the product are stored in knowledge base through the knowledge advisor platform of CATIA; the knowledge information could be reused by using logical reasoning and expressing, so as to realize the intelligent rapid response design of typical parts. This technology takes component application framework as development platform, on the basis of the development of integrated knowledge engineering modules, the parametric modeling of typical parts is realized, and the design efficiency is improved.
Key words:parametric modeling; knowledge engineering; secondary development; information reuse
中圖分類號:TH 122
文獻標(biāo)志碼:A
文章編號:2095-5456(2015)06-0463-04
作者簡介:劉滕(1991-),男,山東泰安人,沈陽理工大學(xué)碩士研究生; 郝博(1963-),男,遼寧沈陽人,沈陽理工大學(xué)教授,博士.
基金項目:國家自然科學(xué)基金資助項目(61170146).
收稿日期:2015-05-10