鄭金鐸,王濤,馬士禎,鞠錦建
(臨工集團(tuán)濟(jì)南重機(jī)有限公司,山東濟(jì)南 250104)
?
基于ICAPI的汽車零部件三維參數(shù)化設(shè)計(jì)研究
鄭金鐸,王濤,馬士禎,鞠錦建
(臨工集團(tuán)濟(jì)南重機(jī)有限公司,山東濟(jì)南 250104)
摘要:基于CAXA實(shí)體設(shè)計(jì)二次開發(fā)應(yīng)用程序接口(ICAPI)以及VC++6.0,針對(duì)汽車產(chǎn)品典型零部件結(jié)構(gòu)特點(diǎn)及設(shè)計(jì)要求,通過三維參數(shù)化模型庫的構(gòu)建,實(shí)現(xiàn)了汽車產(chǎn)品典型零部件的三維參數(shù)化設(shè)計(jì),降低了設(shè)計(jì)人員的勞動(dòng)強(qiáng)度,提高了設(shè)計(jì)效率。
關(guān)鍵詞:ICAPI;二次開發(fā);三維參數(shù)化設(shè)計(jì)
0引言
ICAPI(IronCAD Application Programming Interface,IronCAD應(yīng)用程序接口)是CAXA實(shí)體設(shè)計(jì)為用戶提供的二次開發(fā)程序接口,用戶可以應(yīng)用ICAPI創(chuàng)建基于CAXA實(shí)體設(shè)計(jì)二次開發(fā)的應(yīng)用程序,通過ICAPI可編接口函數(shù),用戶可以實(shí)現(xiàn)CAXA實(shí)體設(shè)計(jì)提供給最終用戶的幾乎所有功能。另外,用戶可以幾乎不受限制地訂制和改進(jìn)一些額外功能,因此通過ICAPI的二次開發(fā)可以完成機(jī)械產(chǎn)品專用CAD(Computer Aided Design,計(jì)算機(jī)輔助設(shè)計(jì))設(shè)計(jì)系統(tǒng)的開發(fā),以降低企業(yè)設(shè)計(jì)人員的勞動(dòng)強(qiáng)度,提高設(shè)計(jì)效率。
CAXA實(shí)體設(shè)計(jì)為用戶提供了自定義參數(shù)化零件庫功能,任何用戶認(rèn)為有重復(fù)利用需要的設(shè)計(jì)都可以作為一種設(shè)計(jì)元素在自定義參數(shù)化零件庫中保存起來,在需要的時(shí)候,可以方便地從設(shè)計(jì)元素庫拖到設(shè)計(jì)環(huán)境中,實(shí)現(xiàn)零部件的設(shè)計(jì)重用。設(shè)計(jì)元素可以是一個(gè)設(shè)計(jì)好的特征、零件、裝配、圖標(biāo)或是一種特殊的圖案。圖1所示為用戶自定義的汽車典型零部件三維參數(shù)化模型庫。
1系統(tǒng)構(gòu)建的關(guān)鍵技術(shù)
在CAXA實(shí)體設(shè)計(jì)提供的二次開發(fā)環(huán)境下,利用CAXA二次開發(fā)應(yīng)用程序接口(ICAPI)實(shí)現(xiàn)零件的參數(shù)化設(shè)計(jì)。采用該方法,首先構(gòu)建零部件的三維模型,并定義其參數(shù)構(gòu)成和關(guān)聯(lián)約束,然后利用高級(jí)開發(fā)語言(文中利用VC++6.0)調(diào)用設(shè)計(jì)參數(shù)驅(qū)動(dòng)零件三維模型。
系統(tǒng)構(gòu)建以汽車產(chǎn)品典型零部件為例展開討論,通過構(gòu)建汽車典型零部件的三維參數(shù)化驅(qū)動(dòng)模型,實(shí)現(xiàn)汽車產(chǎn)品設(shè)計(jì)過程中典型零部件的參數(shù)驅(qū)動(dòng)。
1.1CAXA實(shí)體設(shè)計(jì)三維參數(shù)建模的基本要求
三維參數(shù)化模型包括零件的幾何拓?fù)潢P(guān)系、尺寸參數(shù)等信息。建立零部件的三維參數(shù)化模型的關(guān)鍵是保證其能夠正確地完成參數(shù)化設(shè)計(jì)。建模時(shí)應(yīng)遵循以下要求[1]:
(1)使用CAXA實(shí)體設(shè)計(jì)提供的參數(shù)化造型功能構(gòu)建的三維模型,應(yīng)盡量減少特征數(shù),以較好地支持參數(shù)化。
(2)如果三維參數(shù)化模型是一個(gè)部件(子裝配),該模型不僅含有能夠驅(qū)動(dòng)零件幾何形狀的尺寸參數(shù),還應(yīng)包括零件之間的裝配約束關(guān)系,這是為了保證在參數(shù)驅(qū)動(dòng)時(shí),子裝配零件之間具有相對(duì)正確的位置。
(3)直接用于驅(qū)動(dòng)零部件幾何尺寸形狀的參數(shù)作為頂層參數(shù),稱之為一級(jí)參數(shù),封裝了零部件的幾何信息;在CAXA二維草圖截面上定義的參數(shù)稱之為二級(jí)參數(shù),又稱為特征級(jí)造型參數(shù)。用一級(jí)參數(shù)的表達(dá)式來表示特征級(jí)造型參數(shù),當(dāng)改變零件的尺寸參數(shù)(一級(jí)參數(shù))時(shí),可以驅(qū)動(dòng)特征級(jí)造型參數(shù)改變,從而驅(qū)動(dòng)零件的尺寸及形狀發(fā)生改變。各個(gè)參數(shù)之間關(guān)系如下:
f1(一級(jí)主參數(shù))→(二級(jí)主參數(shù))
f2(一級(jí)主參數(shù),二級(jí)主參數(shù))→(一般參數(shù))
CAXA實(shí)體設(shè)計(jì)提供了多種構(gòu)建零件三維模型的功能,如智能圖素、三維球工具、編輯二維草圖截面等功能,利用這些功能,根據(jù)三維實(shí)體建模的基本要求可以方便地構(gòu)建零件的三維模型。在三維模型的基礎(chǔ)上,經(jīng)過對(duì)其二維草圖和特征包圍盒施加約束和定義參數(shù),可以對(duì)零件的三維模型進(jìn)行尺寸驅(qū)動(dòng)和位置驅(qū)動(dòng),并將建好的參數(shù)化模型存入CAXA實(shí)體設(shè)計(jì)提供的設(shè)計(jì)圖素庫(Catalogs)中,供設(shè)計(jì)人員在參數(shù)化設(shè)計(jì)時(shí)使用。典型零部件的三維參數(shù)模型及其參數(shù)構(gòu)成如圖2所示。
1.2CAXA實(shí)體設(shè)計(jì)二次開發(fā)的相關(guān)技術(shù)
CAXA實(shí)體設(shè)計(jì)為用戶提供的二次開發(fā)應(yīng)用程序接口(ICAPI),使得用戶可以根據(jù)自己的需要訪問系統(tǒng)的各項(xiàng)功能和底層數(shù)據(jù),并利用第三方工具來擴(kuò)展功能,達(dá)到用戶程序與CAXA實(shí)體設(shè)計(jì)的無縫集成。利用VC++6.0,基于COM組件的集成方案直接利用ICAPI提供的大量接口和函數(shù)進(jìn)行用戶程序的編寫,是一種比較有效的二次開發(fā)方式。
ICAPI在設(shè)計(jì)時(shí)努力使二次開發(fā)用戶在調(diào)用一個(gè)API函數(shù)后,CAXA實(shí)體設(shè)計(jì)始終保持?jǐn)?shù)據(jù)的正確狀態(tài)。如果二次開發(fā)用戶調(diào)用一個(gè)API后成功返回,CAXA實(shí)體設(shè)計(jì)則始終保持一個(gè)正確的狀態(tài),即便是因?yàn)樵O(shè)計(jì)模型還沒有結(jié)束而停留在一個(gè)中間狀態(tài),CAXA實(shí)體設(shè)計(jì)也始終處于一個(gè)正確狀態(tài),這樣CAXA實(shí)體設(shè)計(jì)就不會(huì)出現(xiàn)異常。如果API調(diào)用失敗,CAX實(shí)體設(shè)計(jì)會(huì)清楚它產(chǎn)生的內(nèi)部數(shù)據(jù),以保持一個(gè)正確的狀態(tài)[2]。
圖3所示為ICAPI對(duì)象總圖,每一個(gè)對(duì)象都支持一個(gè)或多個(gè)接口。在每個(gè)獨(dú)立的接口中都集成了一套強(qiáng)大的功能。這些接口包含了一組用來操作、查詢和創(chuàng)建它們包含的對(duì)象的函數(shù)。要詳細(xì)了解這些接口和接口函數(shù)的功能,可以參閱CAXA的ICAPI幫助文件。
2系統(tǒng)實(shí)現(xiàn)
系統(tǒng)開發(fā)利用CAXA實(shí)體設(shè)計(jì)所提供的二次開發(fā)接口ICAPI,采用Visual C++6.0作為開發(fā)工具,在CAXA實(shí)體設(shè)計(jì)環(huán)境下,實(shí)現(xiàn)了專用機(jī)械產(chǎn)品三維參數(shù)化快速設(shè)計(jì),下面以汽車懸架系統(tǒng)典型零部件為例來討論系統(tǒng)功能的實(shí)現(xiàn)。
2.1零部件設(shè)計(jì)流程及實(shí)現(xiàn)方式
汽車懸架系統(tǒng)設(shè)計(jì)的流程圖如圖4所示。
把基于ICAPI編寫的典型零部件應(yīng)用程序加載在該零部件三維模型上,并將其三維模型保存在設(shè)計(jì)元素庫中,這樣將模型拖入設(shè)計(jì)環(huán)境時(shí)會(huì)自動(dòng)彈出該零部件的設(shè)計(jì)向?qū)?,在人機(jī)交互式設(shè)計(jì)向?qū)Ы缑嫔习凑找笠来屋斎朐O(shè)計(jì)驅(qū)動(dòng)參數(shù)后,單擊確定,即可完成該零部件的設(shè)計(jì)。
2.2典型零部件設(shè)計(jì)功能實(shí)現(xiàn)
例如汽車懸架系統(tǒng)中鋼板彈簧屬于比較典型的零件,在進(jìn)行其設(shè)計(jì)時(shí),設(shè)計(jì)人員將其從設(shè)計(jì)元素庫中拖到CAXA實(shí)體設(shè)計(jì)環(huán)境下,加載在該模型上的應(yīng)用程序被激活,系統(tǒng)自動(dòng)彈出設(shè)計(jì)向?qū)?duì)話框,設(shè)計(jì)人員根據(jù)對(duì)話框的內(nèi)容,依次輸入設(shè)計(jì)參數(shù),單擊確定,便可完成汽車懸架系統(tǒng)中鋼板彈簧的設(shè)計(jì),如圖5所示。設(shè)計(jì)完成之后的計(jì)算結(jié)果顯示界面如圖6所示,圖7是設(shè)計(jì)完成的三維模型。
如果進(jìn)行部件(子裝配)總成的設(shè)計(jì),在進(jìn)行參數(shù)驅(qū)動(dòng)、完成三維造型的同時(shí),內(nèi)部零件之間也必須保證相對(duì)位置正確,這就需要在參數(shù)化模型設(shè)計(jì)時(shí),要考慮零件之間的裝配約束關(guān)系,這一點(diǎn)很重要,它將直接影響到參數(shù)驅(qū)動(dòng)完成后的模型是否正確,所以在進(jìn)行參數(shù)化造型時(shí)必須考慮。
圖5鋼板彈簧設(shè)計(jì)向?qū)D6計(jì)算結(jié)果
3結(jié)束語
以Visual C++6.0作為開發(fā)工具,在CAXA實(shí)體設(shè)計(jì)環(huán)境下,實(shí)現(xiàn)了專用機(jī)械產(chǎn)品三維參數(shù)化快速設(shè)計(jì)。應(yīng)用該系統(tǒng)進(jìn)行專用機(jī)械產(chǎn)品設(shè)計(jì)時(shí),能有效降低設(shè)計(jì)人員的重復(fù)勞動(dòng),提高設(shè)計(jì)效率。但是在系統(tǒng)的具體實(shí)現(xiàn)時(shí),不僅局限于汽車產(chǎn)品,可以推廣到其他機(jī)械產(chǎn)品領(lǐng)域,以后還可以考慮系統(tǒng)與知識(shí)庫及模型數(shù)據(jù)庫的鏈接,把行業(yè)標(biāo)準(zhǔn)、經(jīng)驗(yàn)數(shù)據(jù)等加入到模型中去,使之更好地服務(wù)于設(shè)計(jì)人員。
參考文獻(xiàn):
【1】靳江艷,方憶湘,劉恩福.CAXA實(shí)體設(shè)計(jì)環(huán)境下的蝶閥產(chǎn)品參數(shù)化設(shè)計(jì)[J].河北科技大學(xué)學(xué)報(bào),2007,28(3):230-233.
【2】朱雅達(dá).CAXA實(shí)體設(shè)計(jì)的二次開發(fā)[J].CAD/CAM與制造業(yè)信息化,2002(8):51-52.
Study of Automobile Parts 3D Parametric Design Based on ICAPI
ZHENG Jinduo,WANG Tao,MA Shizhen,JU Jinjian
(Lingong Group Jinan Heavy Machinery Co.,Ltd.,Jinan Shandong 250104,China)
Keywords:IronCAD Application Programming Interface (ICAPI); Secondary development;3D parametric design
Abstract:Based on the CAXA solid design secondary development application interface (ICAPI) and VC++6.0, according to the structure characteristics and design requirements of the typical parts of automotive products, the 3D parametric design for typical parts of automobile products was realized by which the labor intensity could be reduced and the design efficiency could be improved.
收稿日期:2015-12-15
作者簡介:鄭金鐸(1981—),男,碩士研究生,工程師,研究方向?yàn)槠嚬こ?、機(jī)械CAD/CAM。E-mail:zhengjinduo@163.com。
中圖分類號(hào):TP391.72
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1674-1986(2016)03-043-03