方慧敏 趙 鋼
(安徽機(jī)電職業(yè)技術(shù)學(xué)院,安徽 蕪湖 241000)
基于CAA軸系零件三維系統(tǒng)平臺(tái)開發(fā)與研究
方慧敏 趙 鋼
(安徽機(jī)電職業(yè)技術(shù)學(xué)院,安徽 蕪湖 241000)
企業(yè)在利用三維設(shè)計(jì)軟件CATIA進(jìn)行設(shè)計(jì)開發(fā)時(shí),經(jīng)常遇到同一產(chǎn)品反復(fù)更新的問題,為了提高設(shè)計(jì)效率,文章以軸系零件為對象,以VC++為開發(fā)平臺(tái),通過嵌入CATIA的組件開發(fā)環(huán)境CAA RADE及其CAA API,實(shí)現(xiàn)了對CATIA V5R18的二次開發(fā),建立了軸系零件系統(tǒng)開發(fā)平臺(tái),并以某典型零件為例介紹了系統(tǒng)運(yùn)行方法。測試結(jié)果表明,此系統(tǒng)能實(shí)現(xiàn)快速設(shè)計(jì),可提高工程師設(shè)計(jì)效率,為CATIA軟件后續(xù)更深層次的開發(fā)提供經(jīng)驗(yàn)借鑒。
CAA;API;數(shù)據(jù)庫;二次開發(fā)
在各類機(jī)械零件中,軸系零件占有相當(dāng)大的比重。軸系零件如蝸輪蝸桿、齒輪、軸承等設(shè)計(jì)精度和制造質(zhì)量,對機(jī)器的使用性能和使用壽命有著極其重要的影響。因此,提升軸系列等典型零件的設(shè)計(jì)質(zhì)量與效率,此舉已成為提升產(chǎn)品設(shè)計(jì)質(zhì)量與效率的關(guān)鍵因素[1]。
當(dāng)前,在傳統(tǒng)設(shè)計(jì)觀念中,人們的經(jīng)驗(yàn)知識發(fā)揮著舉足輕重的作用,軸系零件的設(shè)計(jì)基本上由手工完成,并且對同一類型不同規(guī)格的零件設(shè)計(jì)存在大量的重復(fù)工作。本文主要利用CAA(Component Application Architecture)組件應(yīng)用架構(gòu)及VC++,創(chuàng)建了軸系零件三維參數(shù)化、可視化設(shè)計(jì)系統(tǒng),初步建立了軸系零件參、系數(shù)數(shù)據(jù)庫,實(shí)現(xiàn)了設(shè)計(jì)變量值的自動(dòng)生成及零件CAD數(shù)據(jù)的三維建模,以及三維模型的參數(shù)化生成。其中軸系零件設(shè)計(jì)、數(shù)據(jù)庫與蝸桿傳動(dòng)設(shè)計(jì)模塊是整個(gè)系統(tǒng)的主要功能模塊[2]。
1.1 本系統(tǒng)結(jié)構(gòu)采用C/S結(jié)構(gòu),即客戶端/服務(wù)器方式,該方式的主要表現(xiàn)形式是由系統(tǒng)管理人員及用戶,通過在客戶端對服務(wù)器端的數(shù)據(jù)庫相關(guān)內(nèi)容進(jìn)行操作,結(jié)果在用戶客戶端顯示。本文采用的數(shù)據(jù)庫是微軟基礎(chǔ)的MS ACCESS數(shù)據(jù)庫,制作起來非常簡單;并采用ADO技術(shù)對數(shù)據(jù)庫進(jìn)行訪問,其特點(diǎn)是訪問數(shù)據(jù)庫具有輸出內(nèi)存少、響應(yīng)速度快和緩存占用小等優(yōu)點(diǎn)[3]。部分創(chuàng)建的表如下:

表1 第一系列齒輪模數(shù)

表2 齒形系數(shù)
1.2 三維造型軟件CATIA本身就帶有參數(shù)化特征造型功能,因此基于CATIA基礎(chǔ)上的本系統(tǒng),經(jīng)開發(fā)后可直接利用CATIA的設(shè)計(jì)造型功能,實(shí)現(xiàn)結(jié)構(gòu)的參數(shù)化;
1.3 本系統(tǒng)利用VC++、CAA RADE及CAA API等接口程序,設(shè)計(jì)定義了參數(shù)化、可視化集成模塊,達(dá)到以下方面功能:
1)實(shí)現(xiàn)軸系典型零件CAD數(shù)據(jù)建模的參數(shù)化、系列化及標(biāo)準(zhǔn)化;
2)探索軸系典型零件三維模型設(shè)計(jì)的智能化功能;
3)通過流程自動(dòng)化與人機(jī)交互相結(jié)合的方式,提升企業(yè)內(nèi)部常用、復(fù)雜件的優(yōu)化設(shè)計(jì)效率。
1.4 系統(tǒng)體系結(jié)構(gòu),為了開發(fā)出滿足上述要求的軸系零件三維參數(shù)化、可視化系統(tǒng),本課題研究結(jié)合 《機(jī)械設(shè)計(jì)手冊》,應(yīng)用計(jì)算機(jī)軟件技術(shù),將專家系統(tǒng)與三維參數(shù)化、可視化系統(tǒng)集成,建立了系統(tǒng)的不同類型的知識庫,并開發(fā)滿足使用要求的應(yīng)用程序界面和計(jì)算程序。建立良好的人機(jī)交互界面,可達(dá)到較好的設(shè)計(jì)效果,使產(chǎn)品設(shè)計(jì)效率大大提高[4]。其系統(tǒng)結(jié)構(gòu)如圖1所示,共分三層:界面層、處理層、數(shù)據(jù)層。
軸系零件三維參數(shù)化、可視化協(xié)同交互設(shè)計(jì)平臺(tái),主要包括數(shù)據(jù)庫管理、自動(dòng)化流程建模兩大子模塊,其中流程化自動(dòng)建模子模塊,是創(chuàng)建軸系常用零件,主要包含齒輪、蝸桿蝸輪、軸承等不同的子模塊。自動(dòng)化流程創(chuàng)建軸系典型零件所涉及的標(biāo)準(zhǔn)規(guī)則、知識、經(jīng)驗(yàn)等存放于數(shù)據(jù)庫中,此數(shù)據(jù)庫為平臺(tái)共享資源,協(xié)同設(shè)計(jì)的人員也可通過網(wǎng)絡(luò)協(xié)議同時(shí)訪問。
底層知識數(shù)據(jù)庫管理子系統(tǒng),用于對企業(yè)內(nèi)部設(shè)計(jì)的知識進(jìn)行分類管理,并實(shí)現(xiàn)對積累知識的存儲(chǔ)和分享操作,并向內(nèi)部設(shè)計(jì)師提供查詢知識的界面。自動(dòng)化流程建模平臺(tái)在數(shù)據(jù)庫的支撐下,通過平臺(tái)設(shè)定的內(nèi)部運(yùn)行機(jī)制,以實(shí)現(xiàn)軸系常用零件CAD數(shù)據(jù)的自動(dòng)化創(chuàng)建功能。
CATIA是一款功能強(qiáng)大的三維設(shè)計(jì)軟件,其提供了多種開放性接口,以二次開發(fā)應(yīng)用范圍劃分,主要接口有以下幾種:標(biāo)準(zhǔn)格式導(dǎo)入/導(dǎo)出、宏命令模式、知識工程、用戶自定義特征(Catalog)、組件應(yīng)用架構(gòu)(CAA)。CAA是通過采用面向?qū)ο蟮某绦蛘Z言,其開發(fā)過程可視為對其組件對象的組合與應(yīng)用擴(kuò)展[5]。
下圖1中,軸系零件三維參數(shù)化、可視化系統(tǒng)構(gòu)架分為界面層、處理層、數(shù)據(jù)層,通過CAA二次開發(fā)、底層數(shù)據(jù)庫支撐及業(yè)務(wù)流程規(guī)則定義,實(shí)現(xiàn)系統(tǒng)的有效運(yùn)行。
用CAA VC++的二次開發(fā)模式,是通過建立CATIA軟件內(nèi)部應(yīng)用程序。主要是通過新建獨(dú)立的工作臺(tái)(CATIA中稱之為Workbench),并在其平臺(tái)下面添加客制化菜單項(xiàng),并添加自定義工具條以及對應(yīng)的圖標(biāo)按鈕,加載CATIA V5軟件獨(dú)有風(fēng)格對話框,并添加對用戶界面某項(xiàng)功能的響應(yīng)函數(shù),建立命令(Command),以實(shí)現(xiàn)調(diào)用對話框及其相關(guān)功能,并通過輸入具體某項(xiàng)參數(shù)值直接用已編寫的代碼生成定義的三維模型,并實(shí)現(xiàn)在CATIA V5軟件當(dāng)前窗口中顯示,進(jìn)行相關(guān)分析操作等。

圖1 系統(tǒng)結(jié)構(gòu)圖
快速應(yīng)用研發(fā)環(huán)境(其簡稱為RADE)是一個(gè)集成的可視化開發(fā)環(huán)境,它能夠提供一套完整的編程工具組件,RADE是以VC++為基礎(chǔ),并且其開發(fā)工具都集成在VC++環(huán)境中,并提供一個(gè)CAA框架程序編譯器,但這樣的設(shè)置,同時(shí)也限制了VC++的部分功能拓展。
綜上所述,CATIA V5 CAA及關(guān)聯(lián)工具是目前所有高端三維輔助設(shè)計(jì)軟件開發(fā)環(huán)境中功能最強(qiáng)大、同時(shí)也是最復(fù)雜的。
3.1 創(chuàng)建自定義的工作臺(tái)(Workbench)
CATIA V5會(huì)將包含某一類型一系列交互命令的工具條分組顯示在不同應(yīng)用的工作臺(tái)中,此項(xiàng)舉措有利于某一相似類別工具的查找與調(diào)用。通過自定義的工作臺(tái)可以將為企業(yè)自身二次開發(fā)定制的一系列需求以命令的形式集中顯示在某一個(gè)工作臺(tái)上,對后期的應(yīng)用操作提供了便利。如下圖2所示工作臺(tái)的創(chuàng)建,一般需要以下若干步驟:
1)應(yīng)用工作臺(tái)接口的創(chuàng)建;2)應(yīng)用工作臺(tái)的創(chuàng)建;3)對應(yīng)用工作臺(tái)描述類的創(chuàng)建;4)響應(yīng)命令標(biāo)題的創(chuàng)建;5)對工作臺(tái)圖標(biāo)按鈕調(diào)序及響應(yīng)創(chuàng)建;6)添加圖標(biāo)命令圖片及其他資源;7)將自定義圖標(biāo)添加至入口菜單下;8)自定義工作臺(tái)顯示界面的創(chuàng)建。
3.2 添加企業(yè)自定義工具條及命令按鈕
開始時(shí),需創(chuàng)建自定義按鈕的描述類CAAAfrGeoCreationWkb(注意中英文界面切換的需求),此類是派生于 CAT BaseUnknown類,CATBaseUnknown類是用來創(chuàng)建用戶自定義的界面,并實(shí)現(xiàn)該定義界面的基類,所有的接口都是從IUnknown/CATBaseUnknown繼承下來的,并且這個(gè)類中建立了兩個(gè)函數(shù),分別是: CATCmd-Workbench*的CreateWorkbench()函數(shù)與無返回值類型的CreateCommands(),前一個(gè)函數(shù)是用來實(shí)現(xiàn)按順序插入自定義的菜單、按鈕圖標(biāo)以及工具條,后一個(gè)函數(shù)是實(shí)現(xiàn)對插入自定義的按鈕以及菜單與響應(yīng)函數(shù)的關(guān)聯(lián)關(guān)系。
自定義時(shí),宏 NewAccess(className,variableName,objectName)在CreateWorkbench()函數(shù)中被用到,CATIA的工作臺(tái) (Workbench)或工作場合(Workshop)均可以被看作是一個(gè)入口的集合包,NewAccess宏的應(yīng)用就能自定義創(chuàng)建一個(gè)這樣的入口。
3.3 添加自定義的菜單
自定義的過程中,客制化菜單的添加方式與添加按鈕相類似,在CreateWorkbench()函數(shù)中,在宏中的參數(shù)設(shè)置與添加按鈕是不同的。
3.4 創(chuàng)建自定義菜單以及按鈕的響應(yīng)類
已自定義好的工作臺(tái)空框架內(nèi)可創(chuàng)建三種類型的響應(yīng)類(Command),均由CATCommand派生。Basic command是建立一個(gè)空的響應(yīng)類,并在Activate(CATCommand*iFromClient,CATNotification*iEvtDat)中添加對應(yīng)函數(shù)的響應(yīng)。

圖2 應(yīng)用工作臺(tái)工具條圖標(biāo)
軸系零件系統(tǒng)開發(fā)平臺(tái)功能模塊運(yùn)行方式,如下圖3所示。

圖3 平臺(tái)運(yùn)行模式
具體可以齒輪設(shè)計(jì)過程為例說明本文設(shè)計(jì)的開發(fā)平臺(tái)運(yùn)行方式,步驟如下:
啟動(dòng)運(yùn)行CATIA V5R18軟件,進(jìn)入到新開發(fā)的模塊“軸系零件系統(tǒng)開發(fā)平臺(tái)”,點(diǎn)擊“軸系零件系統(tǒng)開發(fā)平臺(tái)”環(huán)境下的“蝸輪蝸桿設(shè)計(jì)”圖標(biāo),彈出蝸輪蝸桿設(shè)計(jì)主界面,如圖4所示為蝸輪蝸桿設(shè)計(jì)主界面。輸入相應(yīng)參數(shù)后,會(huì)生成最終蝸輪蝸桿參數(shù)結(jié)果,如圖5所示,點(diǎn)擊確定后會(huì)生成蝸輪蝸桿模型,如圖6所示。如果對生成的零部件模型進(jìn)行修改,只需點(diǎn)擊圖5主界面上的“參數(shù)更新”命令,通過交互操作即可實(shí)現(xiàn)。

圖4 蝸輪蝸桿設(shè)計(jì)主界面

圖5 蝸輪蝸桿參數(shù)結(jié)果

圖6 生成蝸輪蝸桿模型
CAD軟件應(yīng)用于產(chǎn)品設(shè)計(jì)開發(fā),從“純手工繪制——個(gè)人模板技術(shù)——通用模板技術(shù)——自定義——流程自動(dòng)化智能設(shè)計(jì)”,本文正是基于流程智能化設(shè)計(jì),通過該軸系典型零件系統(tǒng)開發(fā)平臺(tái),可以快速高效低成本進(jìn)行軸系零件設(shè)計(jì)開發(fā)工作,縮短設(shè)計(jì)周期,提高產(chǎn)品成熟度,通過規(guī)范與系統(tǒng)集成,設(shè)計(jì)與審查工具集成確保了設(shè)計(jì)質(zhì)量。能夠使設(shè)計(jì)師將更多的時(shí)間和精力集中到結(jié)構(gòu)設(shè)計(jì)和經(jīng)驗(yàn)總結(jié)上來積累更多的設(shè)計(jì)經(jīng)驗(yàn),避免了人為的錯(cuò)誤。
本文通過使用CAA開發(fā)組件對CATIA V5軟件進(jìn)行企業(yè)內(nèi)部二次開發(fā)定制,將大大縮短專用系統(tǒng)零件的開發(fā)周期及成本,但是,由于該系統(tǒng)軟件應(yīng)用本身的復(fù)雜性和CAA所涉及的底層內(nèi)容,再加上CATIA軟件自身結(jié)構(gòu)的層次嚴(yán)謹(jǐn),所以利用CAA組件對CATIA V5軟件進(jìn)行二次開發(fā)與其他三維CAD軟件相比,也具有更大的復(fù)雜性和挑戰(zhàn)難度,但同時(shí)也可以實(shí)現(xiàn)CATIA軟件更強(qiáng)大的功能,這就有待進(jìn)一步發(fā)掘研究。
[1]KAO Y C,CHENG H Y,SHE C H.Development of an integrated CAD/CAE/CAM system on taper-tipped thread-rolling dieplates[J].Journal of Materials Processing Technology,2006,(1-3):98-103.
[2]GEOFFREY S P.A 2-D manikin the inside story[J].SAE Automotive Congress Detroit,2001,(1):72-76.
[3]MAVROGENIS A.CAD to FEM interface towards pattern recongnition and automatic simplification of forms[C].Proc.Int.Conf.STRUCOME,Paris,1991:371-382.
[4]蔡磊,羅良清,李志明.阿基米德蝸桿實(shí)體零件建模研究[J].湖北工業(yè)大學(xué)學(xué)報(bào),2006,(3):152-156.
[5]周志宏,曾華.應(yīng)用CAD軟件對蝸輪蝸桿螺桿三維造型的技巧[J].江漢石油學(xué)院學(xué)報(bào),2003,(6):136-137.
TEH RESEARCH AND DEVELOPMENT OF 3D SYSTEM PLATFORM OF SHAFTING PARTS BASED ON CAA
FANG Hui-min ZHAO Gang
(Anhui Technical College of Mechanical&Electrical Engineering,Wuhu Anhui 241000)
There is a lot of repeated upgrade of the same product when enterprises are using the 3D software CATIA to design and develop.In order to improve the efficiency,taking the shaft parts as the research object,the VC++as the development platform,the embedded component development environment of CATIA CAA RADE and CAA API as the basis,this paper realizes the secondary development of CATIA V5R18,builds a shaft parts system development platform,and introduces the method of system operation by taking the typical parts as examples.The test results show that the system could realize the rapid design and enhance the design efficiency,and provide reference for the further deeper development of CATIA.
CAA;API;Data base;Secondary development
TH122
A
1672-2868(2016)06-0086-05
責(zé)任編輯:楊松水 校對:袁宗文
2016-10-17
安徽省高等學(xué)校自然科學(xué)研究重點(diǎn)項(xiàng)目(項(xiàng)目編號:KJ2015A383)
方慧敏(1982-),女,安徽安慶人。安徽機(jī)電職業(yè)技術(shù)學(xué)院數(shù)控工程系,講師。研究方向:機(jī)械設(shè)計(jì)、先進(jìn)制造技術(shù)。