夏娟,崔建昆,呂嗣孝,李曉強(qiáng)
(1.200093 上海市 上海理工大學(xué) 機(jī)械工程學(xué)院2.201404 上海市 上海園菱機(jī)械實(shí)業(yè)有限公司)
齒輪齒廓形狀的設(shè)計(jì)是齒輪副的關(guān)鍵,常見嚙合齒輪副的齒廓有漸開線、擺線、直線等。直線共軛內(nèi)嚙合齒輪副的主動(dòng)齒輪輪廓是左右對(duì)稱的直線,齒圈齒廓是與直線共軛的曲線[1]。該齒輪副除了擁有普通內(nèi)嚙合齒輪副有的優(yōu)點(diǎn)外,還有噪音低、振動(dòng)小、滑動(dòng)系數(shù)小的優(yōu)點(diǎn)[2]。正是因?yàn)檫@些優(yōu)點(diǎn),才使得直線共軛內(nèi)嚙合齒輪能應(yīng)用于航空航天、船舶、車輛裝載運(yùn)輸?shù)葓?chǎng)合。齒輪的建模過程比較復(fù)雜,在不同的應(yīng)用場(chǎng)合所需齒輪參數(shù)不同,這就要求設(shè)計(jì)者針對(duì)不同的齒輪逐一建模[3]。因此,開發(fā)一個(gè)直線共軛齒輪參數(shù)化設(shè)計(jì)程序能夠有效地縮短開發(fā)周期,提高工作效率。
CATIA 是法國達(dá)索系統(tǒng)公司開發(fā)的跨平臺(tái)的商業(yè)三維CAD 設(shè)計(jì)軟件,提供機(jī)械設(shè)計(jì)、產(chǎn)品設(shè)計(jì)、分析和模擬等功能。CATIA 源于航空工業(yè),被用于開發(fā)虛擬的原型機(jī),但目前已廣泛應(yīng)用于汽車、船舶制造、建筑工程等行業(yè)實(shí)際生產(chǎn)設(shè)計(jì)中[4]。國內(nèi)外的CAD 軟件建立在通用應(yīng)用平臺(tái)上,不能滿足針對(duì)各種專業(yè)領(lǐng)域的產(chǎn)品快速設(shè)計(jì)的需求,因此必須使用二次開發(fā)技術(shù)來解決這一問題[5]。對(duì) CATIA 進(jìn)行二次開發(fā)的基本流程如圖1 所示。通常,經(jīng)過二次開發(fā)后的軟件具有良好的人機(jī)界面,提高了設(shè)計(jì)人員的設(shè)計(jì)效率和產(chǎn)品質(zhì)量。
圖1 二次開發(fā)基本流程圖Fig.1 Basic flow chart of secondary development
CATIA 的二次開發(fā)主要分為2 種:
(1)使用宏對(duì)CATIA 進(jìn)行二次開發(fā)。大部分CAD/CAM 軟件都支持宏操作,可以通過錄制宏,對(duì)宏文件進(jìn)行修改(添加判斷、循環(huán)等功能),然后重新運(yùn)行,從而達(dá)到客戶需求。CATIA 可以以2 種語言方式來錄制宏,分別為CATScript 和MS VBScript[4]。
(2)使用組件應(yīng)用架構(gòu)對(duì)CATIA 進(jìn)行二次開發(fā)。CAA 方法可以進(jìn)行從簡單到復(fù)雜的二次開發(fā)工作,有強(qiáng)大的交互、集成功能[4]。
本次設(shè)計(jì)主要是采用的錄制宏方法對(duì)CATIA進(jìn)行二次開發(fā),就需要了解CATIA Automation 的基本架構(gòu),掌握對(duì)象的屬性及方法。圖2 所示為CATIA V5 Automation 對(duì)象架構(gòu)。
圖2 CATIA V5 Automation 對(duì)象架構(gòu)圖Fig.2 CATIA V5 Automation object architecture
利用CATIA 二次開發(fā)的平臺(tái),結(jié)合直線共軛齒輪齒廓的設(shè)計(jì),繪制出三維實(shí)體模型,具體繪制流程如圖3 所示。
圖3 三維建模基本流程圖Fig.3 Basic flow chart of 3D modeling
根據(jù)程序所要實(shí)現(xiàn)的功能以及設(shè)計(jì)齒輪齒廓所需要的參數(shù),該界面主要由Label,TextBox,Button,GroupBox 等控件組成。程序界面設(shè)計(jì)如圖4 所示。該界面主要分為2 個(gè)模塊,一是設(shè)計(jì)參數(shù)的輸入,二是輸出參數(shù)的顯示。根據(jù)計(jì)算出來的小齒輪與大齒輪的齒頂圓與齒根圓大小來繪制草圖,根據(jù)中心距來實(shí)現(xiàn)裝配時(shí)的偏移距離。輸出參數(shù)的計(jì)算公式如表1 所示。
圖4 用戶界面圖Fig.4 User interface diagram
表1 齒輪的參數(shù)計(jì)算表達(dá)式Tab.1 Calculation expression of gear parameters
圖5 是外齒輪直線齒廓,其中θ為單個(gè)齒在分度圓上所對(duì)應(yīng)的角度。取齒數(shù)Z1、模數(shù)m、齒形半角β、齒頂高系數(shù)h*a1和齒根高系數(shù)h*f1為齒廓參數(shù)。在不考慮嚙合間隙的情況下,外齒輪直線齒廓的部分坐標(biāo)計(jì)算公式為
圖5 外齒輪直線齒廓圖Fig.5 Linear profile of external gear
圖6 所示為外齒輪直線齒廓所共軛的內(nèi)齒輪齒廓。查閱文獻(xiàn)可知,直線共軛齒輪的內(nèi)齒圈齒廓曲線有3 種設(shè)計(jì)方法[2],該實(shí)驗(yàn)中主要運(yùn)用的是通過坐標(biāo)變化建立參數(shù)方程,即
圖6 內(nèi)齒輪齒廓圖Fig.6 Profile of internal gear
式中:Φ1,Φ2——外齒輪和內(nèi)齒輪的轉(zhuǎn)角;a——中心距。Φ1,Φ2的求解公式如下:
可視化界面制作完成后需要在后臺(tái)添加代碼,代碼的正確編寫決定了軟件功能的實(shí)現(xiàn)與否。該程序主要通過用戶在界面輸入?yún)?shù),后臺(tái)將參數(shù)帶進(jìn)算法進(jìn)行運(yùn)算,運(yùn)算結(jié)果輸出在界面并傳遞給CATIA,從而生成三維模型。以外齒輪模型為例,該按鈕實(shí)現(xiàn)模型主要包含了以下幾個(gè)步驟。
(1)獲取CATIA 對(duì)象,新建Part 文檔。關(guān)鍵代碼如下:
(2)根據(jù)界面輸入的參數(shù)進(jìn)行公式計(jì)算,將計(jì)算結(jié)果顯示在界面指定的文本框中。關(guān)鍵代碼如下:
(3)根據(jù)指定的參數(shù)大小在空間的XY平面上畫齒頂圓和齒根圓。關(guān)鍵代碼如下:
(4)根據(jù)齒廓計(jì)算公式計(jì)算出直線齒廓坐標(biāo),利用這些坐標(biāo)繪制直線。首先需要判斷直線與兩圓弧有無交點(diǎn),有交點(diǎn)則將超過齒根圓齒頂圓的部分進(jìn)行裁剪,沒交點(diǎn)則進(jìn)行外插延伸。關(guān)鍵代碼如下:
(5)將得到的直線沿著ZX平面對(duì)稱,得到另一半齒廓。關(guān)鍵代碼如下:
(6)根據(jù)兩邊的齒廓對(duì)齒頂圓與齒根圓的圓弧進(jìn)行裁剪。關(guān)鍵代碼如下:
(7)將裁減后的圓弧與齒廓進(jìn)行接合,這樣就形成一個(gè)完整的平面上的齒。關(guān)鍵代碼如下:
(8)將齒頂圓與單齒進(jìn)行拉伸,然后根據(jù)外齒輪的齒數(shù)對(duì)單齒進(jìn)行圓周陣列。關(guān)鍵代碼如下:
(9)將空間中創(chuàng)建的點(diǎn)線等隱藏,更加直觀地顯示模型。關(guān)鍵代碼如下:
(10)將獲得的三維實(shí)體模型以指定名字指定類型進(jìn)行保存。關(guān)鍵代碼如下:
圖7 所示為外齒輪三維效果圖。
圖7 外齒輪三維實(shí)體圖Fig.7 Three-dimensional solid diagram of external gear
內(nèi)齒輪的建模與外齒輪主要是齒廓設(shè)計(jì)不同,其余基本類似,就不一一說明。
該界面還有一個(gè)裝配按鈕,其功能實(shí)現(xiàn)主要分為以下幾個(gè)步驟:
(1)新建Product 文檔,將指定命名的兩個(gè)零件導(dǎo)入進(jìn)去。關(guān)鍵代碼如下:
(2)對(duì)兩個(gè)零件進(jìn)行約束限制:相合約束、偏移約束。關(guān)鍵代碼如下:
(3)將獲得的裝配體以指定名字保存。
圖8 所示為裝配效果圖。
圖8 裝配實(shí)體圖Fig.8 Assembly entity diagram
本設(shè)計(jì)以C#.NET 為開發(fā)平臺(tái),采用C#與CATIA 的交互實(shí)現(xiàn)直線共軛齒輪的參數(shù)化建模,使用戶通過在可視化界面輸入?yún)?shù),一鍵完成齒輪在CATIA 中的三維建模,有效地節(jié)省了時(shí)間,把復(fù)雜的齒廓設(shè)計(jì)過程變成了簡單的參數(shù)輸入,在提高效率的同時(shí)也降低了軟件對(duì)用戶的操作要求。