王科銀
(湖北汽車工業(yè)學院汽車工程學院,湖北 十堰 442002)
汽車變速箱中主要應用的齒輪為直齒圓柱齒輪和斜齒圓柱齒輪。一方面無論是直齒輪還是斜齒輪的建模過程都比較復雜,對于很多設計者來說很難掌握齒輪的三維建模方法。另一方面,變速箱中需要用到很多不同齒數(shù)、模數(shù)、寬度等參數(shù)的齒輪,這就要求設計者對不同的齒輪進行建模,造成了大量重復性的勞動,降低了設計效率。因此為了提高變速箱中齒輪的建模效率從而縮短變速箱的設計開發(fā)周期,開發(fā)變速箱常用齒輪生成程序就有了很重要的使用價值。CATIA V5是法國DASSAULT公司開發(fā)的基于Windows操作系統(tǒng)的高端CAD/CAM/CAE軟件,它涵蓋了產(chǎn)品開發(fā)的全過程,提供了完善無縫的集成環(huán)境。[1]作為一款成熟的三維軟件,CATIA V5為用戶提供了二次開發(fā)接口和開放式的內(nèi)部命令集合,用戶可以應用不同的開發(fā)方式對CATIA V5進行不同程度的開發(fā)來滿足應用需求。本研究選用CATIA V5做為開發(fā)軟件,采用VB6.0做為開發(fā)工具,實現(xiàn)了汽車變速箱常用齒輪的參數(shù)化設計,讓用戶只需要在交互界面輸入?yún)?shù)便可以快速生成三維幾何體。
任何優(yōu)秀的軟甲,其功能也不可能滿足所有領域、所有用戶的應用習慣和應用需求。為此,CATIA V5為用戶提供了二次開發(fā)接口和開放式的內(nèi)部命令集合,給用戶的二次開發(fā)帶來了方便。作為一款強大的工程軟件,CATIA V5為用戶提供了多種二次開發(fā)接口,其中包括開放的基于構件的應用編程接口(CAA)和自動化對象編程(V5 Automation)。[2]
CAA是組件應用架構(Component Application Architec-ture)的簡稱。CAA的實現(xiàn),是通過提供的快速應用研發(fā)環(huán)境 RADE(Rapid Application Development Environment)和不同的API(Application Programming Interface)接口程序來實現(xiàn)的。CATIA本身是按照組件模型建立起來的,用戶可以通過開發(fā)自己的 CAA組件,對 DASSAULT SYSTEMES的CATIA V5進行擴展;也可以把用戶自己開發(fā)的CAA組件結合起來,實現(xiàn)用戶自定義應用。CAA可以進行從簡單到復雜的二次開發(fā)工作,而且和原系統(tǒng)的結合非常緊密。
Automation技術是建立在 COM 基礎之上,由 OLE Automation(Object Linking and Embedding Automation)發(fā)展而來的。Automation的核心技術是允許一個應用程序操作另一個應用程序。Automation技術并不是直接獲取及處理數(shù)據(jù),而是間接地通過暴露的對象和屬性,利用對象的方法和屬性獲取、設置及處理數(shù)據(jù)。Automation技術包括兩個方面:server和client。Automation server是一個實現(xiàn)了IDispatch接口的COM組件,而Automation client是一個通過IDispatch接口與自動化服務器進行通信的COM客戶。
CAA和V5 Automation兩種二次開發(fā)手段各有特點,利用CAA完全可以實現(xiàn)Dassault Systemes應用的深層次開發(fā),但是,由于Dassault Systemes應用本身的復雜性和CAA 所涉及的深層次內(nèi)容,利用 CAA 進行二次開發(fā)必然具有一定的復雜性和難度。相對于CAA來說使用Automation開發(fā)較為簡單,具有開發(fā)周期短、穩(wěn)定性好等特點。本研究是利用Automation技術對CATIA V5進行二次開發(fā),在VB程序中訪問CATIA,實現(xiàn)三維模型的自動創(chuàng)建。
圖1 VB對CATIA開發(fā)過程
使用VB6.0對CATIA進行二次開發(fā)的時候,可以逐句編寫程序,這種方式不但費時費力而且容易出現(xiàn)編寫錯誤。為了簡化程序的編寫過程提高工作效率,往往需要利用CATIA自身提供的宏錄制功能來快速的獲取VB程序代碼。之后把錄制完成的腳本文件導入VB中并對其進行適當?shù)男薷募纯赏瓿沙绦虻木帉?。因為斜齒圓柱齒輪和直齒圓柱齒輪開發(fā)過程類似,只是斜齒輪比直齒輪多了一個螺旋角參數(shù),故本文以直齒圓柱齒輪為例探討開發(fā)過程。用VB對CATIA進行開發(fā)的過程如圖1所示。
直齒圓柱齒輪主要參數(shù)如表1和表2所示:
表1 直齒輪基本參數(shù)
表2 直齒輪計算所得參數(shù)
表1中的參數(shù)為直齒輪的基本參數(shù),也就是在齒輪設計過程中設計所得參數(shù),表2中的參數(shù)為直齒輪計算參數(shù),該部分參數(shù)是根據(jù)表2中的參數(shù)計算得來的。齒輪的整個建模過程基于參數(shù)化建模理念,在創(chuàng)建模型的特征之前,要在CATIA中輸入齒輪的參數(shù)。在輸入基本參數(shù)時要給每個參數(shù)賦初值,在輸入計算所得參數(shù)時,只需輸入公式便可根據(jù)基本參數(shù)自動計算出參數(shù)的具體數(shù)值。參數(shù)輸入完成之后便是運用尺寸驅(qū)動法對齒輪進行特征建模。需要注意的是在CATIA新建零件之前要啟動宏錄制功能,以獲得整個齒輪建模過程的宏文件。建模結束,直接在CATIA中運行所錄制的宏,如果所錄制的宏能正確運行,并生成正確的三維模型,則所錄制的宏能夠用于接下來的參數(shù)提取操作,如果所錄制的宏在運行過程中出現(xiàn)錯誤,必須打開所錄制的宏對提示運行出錯的語句進行修改,直到能夠正確運行為止。在宏的運行過程中有時可能是建模方法的原因,導致所錄制的宏不能正確運行,這時就需要改進建模方法,重新錄制宏。
對于直齒圓柱齒輪,需要提取的參數(shù)是表3中齒輪的所有基本參數(shù)。在保證零件的拓撲結構不變的情況下,直齒圓柱齒輪都是由這些基本參數(shù)直接或間接驅(qū)動的,所以需要提取出這些基本參數(shù),為后續(xù)的程序編寫奠定基礎。例如,所錄制的宏中,對于齒輪模數(shù)的定義語句是:
Set parameters1 = part1.Parameters
Set Length1 = parameters1.CreateDimension("", "LENGT H", 0#)
Length1.Rename "m"
Length1.Value = 2.5
語句Length1.Value = 2.5是對模數(shù)賦初值2.5的語句,這就需要用可視化界面中定義模數(shù)的變量替換 2.5賦值給語句Length1.Value來達到尺寸驅(qū)動的目的。其他變量的提取在此不一一贅述。
在VB6.0中在編寫程序之前,首先要定制可視化界面。友好的人機交互界面,可以讓用戶更簡單、更快捷的操作軟件。圖2為軟件登陸界面,該界面是一個MDI窗體,窗體中顯示的是程序的名稱和版本信息,并且在窗體上添加了彈出式菜單欄。為了保護軟件的版權,添加了登陸菜單,使用軟件之前要求用戶輸入登陸密碼方可使用?!皠?chuàng)建齒輪”菜單下面設置了“直齒輪創(chuàng)建”和“斜齒輪創(chuàng)建”兩個子菜單,直齒輪和斜齒輪參數(shù)輸入界面分別如圖2和圖3所示。對于模數(shù) m、壓力角α、齒頂高系數(shù)hax、頂隙系數(shù)cx四個參數(shù)用ComboBox實現(xiàn)參數(shù)的選擇,用戶可以選擇《齒輪設計手冊》中的規(guī)定數(shù)值,其他參數(shù)則用TextBox供用戶手動輸入數(shù)值。
圖2 程序登陸界面
圖3 直齒輪參數(shù)輸入界面
圖4 斜齒輪參數(shù)輸入界面
人機交互界面定制完成之后,就是程序語句的編寫,程序語句的正確編寫是實現(xiàn)軟件功能的關鍵。編寫的程序能夠通過用戶輸入的參數(shù),進行數(shù)據(jù)傳遞,從而在CATIA運行環(huán)境中生成三維模型。
程序編寫完成之后要進行調(diào)試,直到程序能夠正確運行并且能夠生成正確的三維模型。最后把工程文件生成EXE可執(zhí)行文件,該文件就可以在其他裝有CATIA軟件的計算機上獨立運行。
登陸“變速箱齒輪生成程序”進入直齒輪創(chuàng)建界面,在界面中輸入圖5所示參數(shù),點擊“創(chuàng)建齒輪”按鈕,程序便可自動打開CATIA軟件并且在CATIA運行環(huán)境中生成如圖如圖6所示的齒輪三維模型。查看三維模型的各個參數(shù),和在交互界面輸入的參數(shù)一致。對于斜齒輪創(chuàng)建同樣可以得到精確的三維模型。
圖5 直齒輪參數(shù)輸入
圖6 直齒輪三維模型
本研究通過VB6.0編程,開發(fā)了友好的可視化界面,調(diào)用CATIA API函數(shù)驅(qū)動CATIA,完成了汽車變速箱中漸開線直齒圓柱齒輪和斜齒圓柱齒輪的參數(shù)化建模。把兩種類型的齒輪參數(shù)輸入界面集于同一系統(tǒng),使用戶在變速箱齒輪設計時只需要通過下拉菜單選擇所要設計的齒輪類型便可彈出齒輪的參數(shù)輸入界面,由此把繁雜的齒輪建模過程變成簡單的參數(shù)輸入,同樣可以得到精確的三維模型。
參考文獻
[1] 李學志,李若宋,方戈亮.CATIA 實用教程[M].北京:清華大學出版社,2014.
[2] 胡挺,吳立軍.CATIA 二次開發(fā)技術基礎[M].北京:電子工業(yè)出版社,2004.
[3] 羅朝勝.Visual Basic 6.0程序設計教程[M].北京:人民郵電出版社.2005.
[4] 成大先.機械設計手冊[M].北京:化學工業(yè)出版社,2004.
[5] 郭越.基于 CATIA 的漸開線齒輪參數(shù)化精確建模及應用[J].延邊大學農(nóng)學學報,2008,30(2):145-147.