夏娟,崔建昆,呂嗣孝,李曉強
(1.200093 上海市 上海理工大學 機械工程學院2.201404 上海市 上海園菱機械實業有限公司)
齒輪齒廓形狀的設計是齒輪副的關鍵,常見嚙合齒輪副的齒廓有漸開線、擺線、直線等。直線共軛內嚙合齒輪副的主動齒輪輪廓是左右對稱的直線,齒圈齒廓是與直線共軛的曲線[1]。該齒輪副除了擁有普通內嚙合齒輪副有的優點外,還有噪音低、振動小、滑動系數小的優點[2]。正是因為這些優點,才使得直線共軛內嚙合齒輪能應用于航空航天、船舶、車輛裝載運輸等場合。齒輪的建模過程比較復雜,在不同的應用場合所需齒輪參數不同,這就要求設計者針對不同的齒輪逐一建模[3]。因此,開發一個直線共軛齒輪參數化設計程序能夠有效地縮短開發周期,提高工作效率。
CATIA 是法國達索系統公司開發的跨平臺的商業三維CAD 設計軟件,提供機械設計、產品設計、分析和模擬等功能。CATIA 源于航空工業,被用于開發虛擬的原型機,但目前已廣泛應用于汽車、船舶制造、建筑工程等行業實際生產設計中[4]。國內外的CAD 軟件建立在通用應用平臺上,不能滿足針對各種專業領域的產品快速設計的需求,因此必須使用二次開發技術來解決這一問題[5]。對 CATIA 進行二次開發的基本流程如圖1 所示。通常,經過二次開發后的軟件具有良好的人機界面,提高了設計人員的設計效率和產品質量。

圖1 二次開發基本流程圖Fig.1 Basic flow chart of secondary development
CATIA 的二次開發主要分為2 種:
(1)使用宏對CATIA 進行二次開發。大部分CAD/CAM 軟件都支持宏操作,可以通過錄制宏,對宏文件進行修改(添加判斷、循環等功能),然后重新運行,從而達到客戶需求。CATIA 可以以2 種語言方式來錄制宏,分別為CATScript 和MS VBScript[4]。
(2)使用組件應用架構對CATIA 進行二次開發。CAA 方法可以進行從簡單到復雜的二次開發工作,有強大的交互、集成功能[4]。
本次設計主要是采用的錄制宏方法對CATIA進行二次開發,就需要了解CATIA Automation 的基本架構,掌握對象的屬性及方法。圖2 所示為CATIA V5 Automation 對象架構。

圖2 CATIA V5 Automation 對象架構圖Fig.2 CATIA V5 Automation object architecture
利用CATIA 二次開發的平臺,結合直線共軛齒輪齒廓的設計,繪制出三維實體模型,具體繪制流程如圖3 所示。

圖3 三維建模基本流程圖Fig.3 Basic flow chart of 3D modeling
根據程序所要實現的功能以及設計齒輪齒廓所需要的參數,該界面主要由Label,TextBox,Button,GroupBox 等控件組成。程序界面設計如圖4 所示。該界面主要分為2 個模塊,一是設計參數的輸入,二是輸出參數的顯示。根據計算出來的小齒輪與大齒輪的齒頂圓與齒根圓大小來繪制草圖,根據中心距來實現裝配時的偏移距離。輸出參數的計算公式如表1 所示。

圖4 用戶界面圖Fig.4 User interface diagram

表1 齒輪的參數計算表達式Tab.1 Calculation expression of gear parameters
圖5 是外齒輪直線齒廓,其中θ為單個齒在分度圓上所對應的角度。取齒數Z1、模數m、齒形半角β、齒頂高系數h*a1和齒根高系數h*f1為齒廓參數。在不考慮嚙合間隙的情況下,外齒輪直線齒廓的部分坐標計算公式為

圖5 外齒輪直線齒廓圖Fig.5 Linear profile of external gear

圖6 所示為外齒輪直線齒廓所共軛的內齒輪齒廓。查閱文獻可知,直線共軛齒輪的內齒圈齒廓曲線有3 種設計方法[2],該實驗中主要運用的是通過坐標變化建立參數方程,即

圖6 內齒輪齒廓圖Fig.6 Profile of internal gear

式中:Φ1,Φ2——外齒輪和內齒輪的轉角;a——中心距。Φ1,Φ2的求解公式如下:

可視化界面制作完成后需要在后臺添加代碼,代碼的正確編寫決定了軟件功能的實現與否。該程序主要通過用戶在界面輸入參數,后臺將參數帶進算法進行運算,運算結果輸出在界面并傳遞給CATIA,從而生成三維模型。以外齒輪模型為例,該按鈕實現模型主要包含了以下幾個步驟。
(1)獲取CATIA 對象,新建Part 文檔。關鍵代碼如下:


(2)根據界面輸入的參數進行公式計算,將計算結果顯示在界面指定的文本框中。關鍵代碼如下:

(3)根據指定的參數大小在空間的XY平面上畫齒頂圓和齒根圓。關鍵代碼如下:

(4)根據齒廓計算公式計算出直線齒廓坐標,利用這些坐標繪制直線。首先需要判斷直線與兩圓弧有無交點,有交點則將超過齒根圓齒頂圓的部分進行裁剪,沒交點則進行外插延伸。關鍵代碼如下:

(5)將得到的直線沿著ZX平面對稱,得到另一半齒廓。關鍵代碼如下:

(6)根據兩邊的齒廓對齒頂圓與齒根圓的圓弧進行裁剪。關鍵代碼如下:

(7)將裁減后的圓弧與齒廓進行接合,這樣就形成一個完整的平面上的齒。關鍵代碼如下:

(8)將齒頂圓與單齒進行拉伸,然后根據外齒輪的齒數對單齒進行圓周陣列。關鍵代碼如下:

(9)將空間中創建的點線等隱藏,更加直觀地顯示模型。關鍵代碼如下:

(10)將獲得的三維實體模型以指定名字指定類型進行保存。關鍵代碼如下:

圖7 所示為外齒輪三維效果圖。

圖7 外齒輪三維實體圖Fig.7 Three-dimensional solid diagram of external gear
內齒輪的建模與外齒輪主要是齒廓設計不同,其余基本類似,就不一一說明。
該界面還有一個裝配按鈕,其功能實現主要分為以下幾個步驟:
(1)新建Product 文檔,將指定命名的兩個零件導入進去。關鍵代碼如下:

(2)對兩個零件進行約束限制:相合約束、偏移約束。關鍵代碼如下:

(3)將獲得的裝配體以指定名字保存。
圖8 所示為裝配效果圖。

圖8 裝配實體圖Fig.8 Assembly entity diagram
本設計以C#.NET 為開發平臺,采用C#與CATIA 的交互實現直線共軛齒輪的參數化建模,使用戶通過在可視化界面輸入參數,一鍵完成齒輪在CATIA 中的三維建模,有效地節省了時間,把復雜的齒廓設計過程變成了簡單的參數輸入,在提高效率的同時也降低了軟件對用戶的操作要求。