方慧敏 趙 鋼
(安徽機電職業(yè)技術(shù)學院,安徽 蕪湖 241000)
基于CAA軸系零件三維系統(tǒng)平臺開發(fā)與研究
方慧敏 趙 鋼
(安徽機電職業(yè)技術(shù)學院,安徽 蕪湖 241000)
企業(yè)在利用三維設(shè)計軟件CATIA進行設(shè)計開發(fā)時,經(jīng)常遇到同一產(chǎn)品反復更新的問題,為了提高設(shè)計效率,文章以軸系零件為對象,以VC++為開發(fā)平臺,通過嵌入CATIA的組件開發(fā)環(huán)境CAA RADE及其CAA API,實現(xiàn)了對CATIA V5R18的二次開發(fā),建立了軸系零件系統(tǒng)開發(fā)平臺,并以某典型零件為例介紹了系統(tǒng)運行方法。測試結(jié)果表明,此系統(tǒng)能實現(xiàn)快速設(shè)計,可提高工程師設(shè)計效率,為CATIA軟件后續(xù)更深層次的開發(fā)提供經(jīng)驗借鑒。
CAA;API;數(shù)據(jù)庫;二次開發(fā)
在各類機械零件中,軸系零件占有相當大的比重。軸系零件如蝸輪蝸桿、齒輪、軸承等設(shè)計精度和制造質(zhì)量,對機器的使用性能和使用壽命有著極其重要的影響。因此,提升軸系列等典型零件的設(shè)計質(zhì)量與效率,此舉已成為提升產(chǎn)品設(shè)計質(zhì)量與效率的關(guān)鍵因素[1]。
當前,在傳統(tǒng)設(shè)計觀念中,人們的經(jīng)驗知識發(fā)揮著舉足輕重的作用,軸系零件的設(shè)計基本上由手工完成,并且對同一類型不同規(guī)格的零件設(shè)計存在大量的重復工作。本文主要利用CAA(Component Application Architecture)組件應(yīng)用架構(gòu)及VC++,創(chuàng)建了軸系零件三維參數(shù)化、可視化設(shè)計系統(tǒng),初步建立了軸系零件參、系數(shù)數(shù)據(jù)庫,實現(xiàn)了設(shè)計變量值的自動生成及零件CAD數(shù)據(jù)的三維建模,以及三維模型的參數(shù)化生成。其中軸系零件設(shè)計、數(shù)據(jù)庫與蝸桿傳動設(shè)計模塊是整個系統(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)容進行操作,結(jié)果在用戶客戶端顯示。本文采用的數(shù)據(jù)庫是微軟基礎(chǔ)的MS ACCESS數(shù)據(jù)庫,制作起來非常簡單;并采用ADO技術(shù)對數(shù)據(jù)庫進行訪問,其特點是訪問數(shù)據(jù)庫具有輸出內(nèi)存少、響應(yīng)速度快和緩存占用小等優(yōu)點[3]。部分創(chuàng)建的表如下:
表1 第一系列齒輪模數(shù)
表2 齒形系數(shù)
1.2 三維造型軟件CATIA本身就帶有參數(shù)化特征造型功能,因此基于CATIA基礎(chǔ)上的本系統(tǒng),經(jīng)開發(fā)后可直接利用CATIA的設(shè)計造型功能,實現(xiàn)結(jié)構(gòu)的參數(shù)化;
1.3 本系統(tǒng)利用VC++、CAA RADE及CAA API等接口程序,設(shè)計定義了參數(shù)化、可視化集成模塊,達到以下方面功能:
1)實現(xiàn)軸系典型零件CAD數(shù)據(jù)建模的參數(shù)化、系列化及標準化;
2)探索軸系典型零件三維模型設(shè)計的智能化功能;
3)通過流程自動化與人機交互相結(jié)合的方式,提升企業(yè)內(nèi)部常用、復雜件的優(yōu)化設(shè)計效率。
1.4 系統(tǒng)體系結(jié)構(gòu),為了開發(fā)出滿足上述要求的軸系零件三維參數(shù)化、可視化系統(tǒng),本課題研究結(jié)合 《機械設(shè)計手冊》,應(yīng)用計算機軟件技術(shù),將專家系統(tǒng)與三維參數(shù)化、可視化系統(tǒng)集成,建立了系統(tǒng)的不同類型的知識庫,并開發(fā)滿足使用要求的應(yīng)用程序界面和計算程序。建立良好的人機交互界面,可達到較好的設(shè)計效果,使產(chǎn)品設(shè)計效率大大提高[4]。其系統(tǒng)結(jié)構(gòu)如圖1所示,共分三層:界面層、處理層、數(shù)據(jù)層。
軸系零件三維參數(shù)化、可視化協(xié)同交互設(shè)計平臺,主要包括數(shù)據(jù)庫管理、自動化流程建模兩大子模塊,其中流程化自動建模子模塊,是創(chuàng)建軸系常用零件,主要包含齒輪、蝸桿蝸輪、軸承等不同的子模塊。自動化流程創(chuàng)建軸系典型零件所涉及的標準規(guī)則、知識、經(jīng)驗等存放于數(shù)據(jù)庫中,此數(shù)據(jù)庫為平臺共享資源,協(xié)同設(shè)計的人員也可通過網(wǎng)絡(luò)協(xié)議同時訪問。
底層知識數(shù)據(jù)庫管理子系統(tǒng),用于對企業(yè)內(nèi)部設(shè)計的知識進行分類管理,并實現(xiàn)對積累知識的存儲和分享操作,并向內(nèi)部設(shè)計師提供查詢知識的界面。自動化流程建模平臺在數(shù)據(jù)庫的支撐下,通過平臺設(shè)定的內(nèi)部運行機制,以實現(xiàn)軸系常用零件CAD數(shù)據(jù)的自動化創(chuàng)建功能。
CATIA是一款功能強大的三維設(shè)計軟件,其提供了多種開放性接口,以二次開發(fā)應(yīng)用范圍劃分,主要接口有以下幾種:標準格式導入/導出、宏命令模式、知識工程、用戶自定義特征(Catalog)、組件應(yīng)用架構(gòu)(CAA)。CAA是通過采用面向?qū)ο蟮某绦蛘Z言,其開發(fā)過程可視為對其組件對象的組合與應(yīng)用擴展[5]。
下圖1中,軸系零件三維參數(shù)化、可視化系統(tǒng)構(gòu)架分為界面層、處理層、數(shù)據(jù)層,通過CAA二次開發(fā)、底層數(shù)據(jù)庫支撐及業(yè)務(wù)流程規(guī)則定義,實現(xiàn)系統(tǒng)的有效運行。
用CAA VC++的二次開發(fā)模式,是通過建立CATIA軟件內(nèi)部應(yīng)用程序。主要是通過新建獨立的工作臺(CATIA中稱之為Workbench),并在其平臺下面添加客制化菜單項,并添加自定義工具條以及對應(yīng)的圖標按鈕,加載CATIA V5軟件獨有風格對話框,并添加對用戶界面某項功能的響應(yīng)函數(shù),建立命令(Command),以實現(xiàn)調(diào)用對話框及其相關(guān)功能,并通過輸入具體某項參數(shù)值直接用已編寫的代碼生成定義的三維模型,并實現(xiàn)在CATIA V5軟件當前窗口中顯示,進行相關(guān)分析操作等。
圖1 系統(tǒng)結(jié)構(gòu)圖
快速應(yīng)用研發(fā)環(huán)境(其簡稱為RADE)是一個集成的可視化開發(fā)環(huán)境,它能夠提供一套完整的編程工具組件,RADE是以VC++為基礎(chǔ),并且其開發(fā)工具都集成在VC++環(huán)境中,并提供一個CAA框架程序編譯器,但這樣的設(shè)置,同時也限制了VC++的部分功能拓展。
綜上所述,CATIA V5 CAA及關(guān)聯(lián)工具是目前所有高端三維輔助設(shè)計軟件開發(fā)環(huán)境中功能最強大、同時也是最復雜的。
3.1 創(chuàng)建自定義的工作臺(Workbench)
CATIA V5會將包含某一類型一系列交互命令的工具條分組顯示在不同應(yīng)用的工作臺中,此項舉措有利于某一相似類別工具的查找與調(diào)用。通過自定義的工作臺可以將為企業(yè)自身二次開發(fā)定制的一系列需求以命令的形式集中顯示在某一個工作臺上,對后期的應(yīng)用操作提供了便利。如下圖2所示工作臺的創(chuàng)建,一般需要以下若干步驟:
1)應(yīng)用工作臺接口的創(chuàng)建;2)應(yīng)用工作臺的創(chuàng)建;3)對應(yīng)用工作臺描述類的創(chuàng)建;4)響應(yīng)命令標題的創(chuàng)建;5)對工作臺圖標按鈕調(diào)序及響應(yīng)創(chuàng)建;6)添加圖標命令圖片及其他資源;7)將自定義圖標添加至入口菜單下;8)自定義工作臺顯示界面的創(chuàng)建。
3.2 添加企業(yè)自定義工具條及命令按鈕
開始時,需創(chuàng)建自定義按鈕的描述類CAAAfrGeoCreationWkb(注意中英文界面切換的需求),此類是派生于 CAT BaseUnknown類,CATBaseUnknown類是用來創(chuàng)建用戶自定義的界面,并實現(xiàn)該定義界面的基類,所有的接口都是從IUnknown/CATBaseUnknown繼承下來的,并且這個類中建立了兩個函數(shù),分別是: CATCmd-Workbench*的CreateWorkbench()函數(shù)與無返回值類型的CreateCommands(),前一個函數(shù)是用來實現(xiàn)按順序插入自定義的菜單、按鈕圖標以及工具條,后一個函數(shù)是實現(xiàn)對插入自定義的按鈕以及菜單與響應(yīng)函數(shù)的關(guān)聯(lián)關(guān)系。
自定義時,宏 NewAccess(className,variableName,objectName)在CreateWorkbench()函數(shù)中被用到,CATIA的工作臺 (Workbench)或工作場合(Workshop)均可以被看作是一個入口的集合包,NewAccess宏的應(yīng)用就能自定義創(chuàng)建一個這樣的入口。
3.3 添加自定義的菜單
自定義的過程中,客制化菜單的添加方式與添加按鈕相類似,在CreateWorkbench()函數(shù)中,在宏中的參數(shù)設(shè)置與添加按鈕是不同的。
3.4 創(chuàng)建自定義菜單以及按鈕的響應(yīng)類
已自定義好的工作臺空框架內(nèi)可創(chuàng)建三種類型的響應(yīng)類(Command),均由CATCommand派生。Basic command是建立一個空的響應(yīng)類,并在Activate(CATCommand*iFromClient,CATNotification*iEvtDat)中添加對應(yīng)函數(shù)的響應(yīng)。
圖2 應(yīng)用工作臺工具條圖標
軸系零件系統(tǒng)開發(fā)平臺功能模塊運行方式,如下圖3所示。
圖3 平臺運行模式
具體可以齒輪設(shè)計過程為例說明本文設(shè)計的開發(fā)平臺運行方式,步驟如下:
啟動運行CATIA V5R18軟件,進入到新開發(fā)的模塊“軸系零件系統(tǒng)開發(fā)平臺”,點擊“軸系零件系統(tǒng)開發(fā)平臺”環(huán)境下的“蝸輪蝸桿設(shè)計”圖標,彈出蝸輪蝸桿設(shè)計主界面,如圖4所示為蝸輪蝸桿設(shè)計主界面。輸入相應(yīng)參數(shù)后,會生成最終蝸輪蝸桿參數(shù)結(jié)果,如圖5所示,點擊確定后會生成蝸輪蝸桿模型,如圖6所示。如果對生成的零部件模型進行修改,只需點擊圖5主界面上的“參數(shù)更新”命令,通過交互操作即可實現(xiàn)。
圖4 蝸輪蝸桿設(shè)計主界面
圖5 蝸輪蝸桿參數(shù)結(jié)果
圖6 生成蝸輪蝸桿模型
CAD軟件應(yīng)用于產(chǎn)品設(shè)計開發(fā),從“純手工繪制——個人模板技術(shù)——通用模板技術(shù)——自定義——流程自動化智能設(shè)計”,本文正是基于流程智能化設(shè)計,通過該軸系典型零件系統(tǒng)開發(fā)平臺,可以快速高效低成本進行軸系零件設(shè)計開發(fā)工作,縮短設(shè)計周期,提高產(chǎn)品成熟度,通過規(guī)范與系統(tǒng)集成,設(shè)計與審查工具集成確保了設(shè)計質(zhì)量。能夠使設(shè)計師將更多的時間和精力集中到結(jié)構(gòu)設(shè)計和經(jīng)驗總結(jié)上來積累更多的設(shè)計經(jīng)驗,避免了人為的錯誤。
本文通過使用CAA開發(fā)組件對CATIA V5軟件進行企業(yè)內(nèi)部二次開發(fā)定制,將大大縮短專用系統(tǒng)零件的開發(fā)周期及成本,但是,由于該系統(tǒng)軟件應(yīng)用本身的復雜性和CAA所涉及的底層內(nèi)容,再加上CATIA軟件自身結(jié)構(gòu)的層次嚴謹,所以利用CAA組件對CATIA V5軟件進行二次開發(fā)與其他三維CAD軟件相比,也具有更大的復雜性和挑戰(zhàn)難度,但同時也可以實現(xiàn)CATIA軟件更強大的功能,這就有待進一步發(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]蔡磊,羅良清,李志明.阿基米德蝸桿實體零件建模研究[J].湖北工業(yè)大學學報,2006,(3):152-156.
[5]周志宏,曾華.應(yīng)用CAD軟件對蝸輪蝸桿螺桿三維造型的技巧[J].江漢石油學院學報,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
責任編輯:楊松水 校對:袁宗文
2016-10-17
安徽省高等學校自然科學研究重點項目(項目編號:KJ2015A383)
方慧敏(1982-),女,安徽安慶人。安徽機電職業(yè)技術(shù)學院數(shù)控工程系,講師。研究方向:機械設(shè)計、先進制造技術(shù)。