• 沒有找到結果。

圓柱齒輪3D零件自動建模

N/A
N/A
Protected

Academic year: 2021

Share "圓柱齒輪3D零件自動建模"

Copied!
11
0
0

加載中.... (立即查看全文)

全文

(1)

2014 全國技專校院學生實務專題製作競賽 研究成果報告書

圓柱齒輪 3D 零件自動建模

參賽類群:A 機械與動力機械群 編號:(由主辦單位編列)

中華民國 103 年 3 月 21 日

(2)

1

圓柱齒輪 3D 零件自動建模

摘要

本專題目的在於撰寫一個能夠輔助設 計圓柱齒輪並自動於SolidWorks 中產生齒 輪零件檔的程式。此程式主要特色在於齒 輪外形計算過程,利用嚙合原理,可解出 齒條刀在設定路徑下切割出的齒形,包含 少齒數正齒輪、圓柱螺旋齒輪在製造時過 切的外型、及轉位後的齒型皆可正確計算,

亦可自訂刀具外型參數,藉此調整齒頂、

齒底間隙、齒隙、甚至計算大壓力角、矮 齒齒型,得到符合設計需求與齒輪實際成 品外型的 3D 模型,另外亦可輸出齒輪資 料表,其中包含基本齒輪參數、量測參考 值、齒輪組裝相關尺寸等資訊。

第一章 齒輪外型計算

1.1 刀具外型定義

本專題所研究的為對常見的漸開線齒 輪。但是並不直接以漸開線函式計算齒形,

而是從切銷齒輪的齒條刀開始下手:

首先定義齒條刀的外型,齒條刀斷面 外型由五條直線加上二個圓弧構成,形狀 簡單。但其中除了壓力角這個常見的設定 參數之外,還可以藉由齒冠高、齒根高、

節齒厚的參數設定來改變齒條刀的斷面外 1 型,此可用於調整齒輪齒頂齒底間隙、

製作齒隙、及矮齒、大壓力角齒型計算等 功用,讓程式不再只是侷限於標準齒型的 計算,多了許多變化的空間。

1.2 刀具路徑 – 過切與轉位

有了刀具斷面的外型後,再根據基本 輸入參數中是否有轉位係數而決定刀具路 徑。過度切削會造成齒跟強度降低,而轉 位具有避免過切、調整齒輪對中心距等作 用。以圓柱齒輪來說,若轉位係數為零,

則切銷時齒條刀節圓與齒輪節圓貼齊做純 滾動;若轉位係數不為零,則與齒輪節圓貼 齊的線就不再是齒條刀的節圓,如圖3:

圖 2 SolidWorks 齒輪對 3D 模型組合件

圖 1 齒條刀斷面圖

圖 3 過切(左)與轉位(右)下的刀具位置及路徑

(3)

2

1.3 解齒型 - 嚙合方程式

確定刀具路徑後,接著便可開始計算 刀具沿著路徑掃出的齒型。解題的方式是 利用嚙合方程式中 [接觸點速度與表面必 定垂直]的概念建立方程式,可解出刀具在 某個時刻與齒胚的嚙合點,嚙合點相連便 是齒型曲線,只要求出每條曲線的上下端 界線即可得到最後完整的齒型。此做法雖 然複雜許多,但可以模擬切銷的結果,求 解過切與轉位齒型,可盡量貼近齒胚經實 際加工後的理論外型。

由上述方法推得圓柱螺旋齒輪漸開線 及齒底導圓公式如下:

漸開線公式:

齒底導圓公式:

其中X、Y為齒面斷面輪廓點座標,ϕ為自 變數,𝑑

1

為標準結圓直徑,𝑟

0

為齒條刀節 圓至齒胚圓心的距離,𝑇

𝑡

為齒條刀法向節 齒厚的軸向投影,𝑥

1

為轉位係數,𝑚

𝑛

為法 向模數,𝛼

𝑡

為軸直角壓力角。

圖 4 嚙合原理示意圖

𝑋 𝑡 = [ 1

2 (ϕ ∗ 𝑑 1 − 𝑇 𝑡 ) − 𝑥 1 ∗ 𝑚 𝑛 ∗ tan( 𝜋 2 − 𝛼 𝑡 )]

÷ [tan( 𝜋

2 − 𝛼 𝑡 ) − tan(−𝛼 𝑡 )]

𝑌 𝑡 = 𝑋 𝑡 ∗ tan(−𝛼 𝑡 )

− 1 2 𝑇 𝑡

X = (𝑟 0 + 𝑋 𝑡 ) ∗ cos ϕ + 1

2 (𝑑 1 ∗ ϕ + 2 ∗ 𝑌 𝑡 ) ∗ sin ϕ

Y = ( 1

2 ∗ 𝑑 1 ∗ ϕ + 𝑌 𝑡 ) ∗ cos ϕ − (𝑟 0 + 𝑋 𝑡 ) ∗ sin ϕ

u 𝑡 = 1

2 π − tan −1 𝑐 𝑏𝑦 − 1 2 𝜙 ∗ 𝑑 1

−𝑥 1 ∗ 𝑚 𝑛 − 𝑐 𝑏𝑥 𝑋 𝑡 = 𝑐 𝑏𝑥 − 𝜌 𝑏 ∗ sin u 𝑡

𝑌 𝑡

= −𝑐 𝑏𝑦 − 𝜌 𝑎 ∗ cos u 𝑡

X = (𝑟 0 + 𝑋 𝑡 ) ∗ cos ϕ + 1

2 (𝑑 1 ∗ ϕ + 2 ∗ 𝑌 𝑡 ) ∗ sin ϕ

Y = ( 1

2 ∗ 𝑑 1 ∗ ϕ + 𝑌 𝑡 ) ∗ cos ϕ − (𝑟 0 + 𝑋 𝑡 ) ∗ sin ϕ

(4)

3

第二章 圓柱齒輪 3D 零件自動建模 程式與其功能

2.1 主程式介紹

主程式為一個 Windows Forms 應用程 式,以 C#物件導向程式語言撰寫,搭配 SolidWorks API 進 行 3D 建 模 , 以 及 OpenGL 含式庫進行動畫繪製,整個程式 撰寫皆在Microsoft Visual Studio 2010 下 進 行 。 此 程 式 能 以 外 掛 組 件 方 式 掛 在 SolidWorks 工作列上,或是做為一個獨立 程 式 運 作 。 前 者 在 使 用 時 事 先 開 啟 SolidWorks 後在上方選單開啟主程式;後 者則是直接開啟主程式,直到產生 3D 模 型時才自動開啟SolidWorks。

程式介面可分為三個區塊,包括左方 的輸入區、右上半部的齒輪資料顯示區、

與右下半部的動畫顯示區,如下圖所示:

2.2 輸入參數

計算齒輪時使用的輸入參數主要集中 在程式主畫面左方。基本參數包括模數、

齒數、基準壓力角、螺旋角、左右旋、轉 位係數、齒面寬;刀具定義參數包括齒冠 高、齒根高、節齒厚;其他如齒面拓樸線 數目、咬合軌跡顯示等分數目。

圖 6 主程式畫面

圖 5 主畫面參數輸入區

程式

SolidWorks API C#

OpenGL

(5)

4

2.3 齒型計算與建模方式

於程式中任一個輸入欄位按下 Enter 鍵即可重新計算齒形,其原理詳見第一 章。

計算齒形後可選擇替大齒輪或小齒輪 進行建模,整體建模流程為:

建立齒胚 > 畫拓樸線 > 疊層拉伸建 立齒面 > 除料 > 除料環狀複製排列 >

得到完整齒型

最後得出的齒面形狀依使用者指定的 齒面取樣數分為數層,每層由五條數條拓 樸線構成,五條拓樸線共有120 個拓樸點,

以疊層拉伸的方式構成齒面。

雖然在圓柱齒輪中不論正齒輪或螺旋 齒輪斷面形狀在軸向皆無變化,照理說採 用旋轉的方式長出即可生成螺旋齒輪,此 處至所以採用疊層拉伸的方式形成齒面是 為了日後在替傘齒輪、螺旋傘齒輪等各種 齒輪建模時可以沿用此建模方式。

2.4 齒輪參數計算

位於程式畫面右上區塊為各種齒輪資 料顯示,包含各種必要個齒輪計算參數,

例如齒輪對組裝時的中心距、齒冠高、齒 根高、齒頂齒底原直徑等,其計算公式參 考小原齒輪技術資料[1]。最終可輸出齒輪

資料表文字檔,作為製造商為生產所需數 據。

資料表中亦包含二種齒輪量測參考值,

分別為跨銷球及跨齒厚二種常見的齒輪量 測方式。其中跨銷的直徑與跨齒數在一開 始時會依小原齒輪技術資料[1]中所列的 公式計算最理想的值,讓量測時儀器與齒 輪接觸點盡量落在節圓附近,理由是因為 齒輪運作時接觸的部位多在節圓附近,故 該處尺寸最重要,但實際量測時量具會有 變動,銷求直徑與跨齒數可視需求更改。

圖 8 齒面拓樸線

圖 9 主程式參數顯示區域

圖 7 齒輪資料表

圖 10 跨齒後(上)跨銷球(下)量測法示意圖

(6)

5 表 1

齒輪參數公式表,

資料來源: [1]

NO 參數名稱 代號 計算公式

1 齒直角模數 𝑚

𝑛

基本輸入參數

2 齒數 z

3 齒直角基準壓力角 𝛼

𝑛

4 螺旋角 β

5 齒直角轉為係數 𝑥

𝑛

6 齒面寬 b

7 軸直角壓力角 𝛼

𝑡

tan

−1

(tan𝛼

𝑛

cos β ) 8 𝛼

𝑤𝑡

的漸開線函數 inv 𝛼

𝑤𝑡

2 tan𝛼

𝑛

(𝑥

𝑛1

+ 𝑥

𝑛2

𝑧

1

+ 𝑧

2

) + 𝑖𝑛𝑣 𝛼

𝑡

9 軸直角咬合壓力角 𝛼

𝑤𝑡

參閱(1)式 或 漸開線函數表 10 中心距離修正係數 𝑦 𝑧

1

+ 𝑧

2

2 cos β( cos𝛼

𝑡

cos𝛼

𝑤𝑡

− 1)

11 中心距離 a (𝑧

1

+ 𝑧

2

2 cos β − 𝑦)𝑚

𝑛

12 節圓直徑 d 𝑧𝑚

𝑛

cos 𝛽 13 基圓直徑 𝑑

𝑏

d cos𝛼

𝑡

14 咬合節圓直徑 𝑑

𝑤

𝑑

𝑏

cos𝛼

𝑤𝑡

15

齒冠高

𝑎1

𝑎2

(1 + 𝑦 −𝑥

𝑛2

)𝑚

𝑛

(1 + 𝑦 −𝑥

𝑛1

)𝑚

𝑛

16 全齒深 h {2.25 + 𝑦 − (𝑥

𝑛1

+ 𝑥

𝑛2

)}𝑚

𝑛

17 齒頂圓直徑 𝑑

𝑎

d + 2

𝑎

18 齒底圓直徑 𝑑

𝑓

𝑑

𝑎

− 2h

(7)

6 表 2 螺旋齒輪跨齒數與跨齒厚計算公式

資料來源: [1]

表 3 理想銷球直徑計算公式表

資料來源: [1]

表 4 跨銷球尺寸計算公式表

資料來源: [1]

NO 參數名稱 代號 計算公式

1 f 𝑥

𝑛

𝑧

2 K

1 𝜋{(1

+ sin

2

𝛽

cos

2

𝛽 + tan

2

𝛼

𝑛

) √(cos

2

𝛽 + tan

2

𝛼

𝑛

)

2

(sec 𝛽 + 2𝑓) − 1

− 𝑖𝑛𝑣 𝛼

𝑡

− 2𝑓 tan 𝛼

𝑛

}

3 跨齒數 k 𝑘

𝑡ℎ

= 𝑧𝐾 + 0.5 注1.k取與𝑘

𝑡ℎ

最接近的整數 4 跨齒厚 W m

𝑛

cos 𝛼

𝑛

{𝜋(𝑘 − 0.5) + 𝑧 𝑖𝑛𝑣 𝛼

𝑡

} + 2𝑥

𝑛

𝑚

𝑛

sin 𝛼

𝑛

NO 參數名稱 代號 計算公式

1 等價正齒輪齒數 𝑧

𝑉

𝑧 cos

3

𝛽

2 齒槽半腳 η

𝑉

𝜋

2𝑧

𝑉

− 𝑖𝑛𝑣 𝛼

𝑛

2𝑥

𝑛

tan 𝛼

𝑛

𝑧

𝑉

3 銷球與齒面切點上的壓力角 α

𝑉

cos

−1

(𝑧

𝑉

cos 𝛼

𝑛

𝑧

𝑉

+ 2𝑥

𝑛

) 4 通過銷球中心的壓力角 φ

𝑉

tan α

𝑉

+ η

𝑉

5 理想銷球直徑 𝑑

𝑝

𝑧

𝑉

𝑚

𝑛

cos 𝛼

𝑛

(𝑖𝑛𝑣 𝜑

𝑉

+ η

𝑉

)

NO 參數名稱 代號 計算公式

1 銷球直徑 𝑑

𝑝 使用與經由表 3 求得的銷球直徑相近的尺寸

2 ψ的漸開線函數 inv φ 𝑑

𝑝

𝑚

𝑛

𝑧 cos 𝜑 𝜋

2𝑧+ 𝑖𝑛𝑣 𝛼

𝑡

+2𝑥

𝑛

tan 𝛼

𝑛

𝑧 3 通過中心的壓力角 φ 參照(1)式或由漸開線函數表求出

4 跨銷球尺寸 M

偶數齒

𝑧𝑚 𝑛 cos 𝛼 𝑡

cos 𝛽 cos 𝜑

+ 𝑑

𝑝

奇數齒

𝑧𝑚 𝑛 cos 𝛼 𝑡

cos 𝛽 cos 𝜑

cos

90

𝑧

+ 𝑑

𝑝

(8)

7

2.5 OpenGL 動畫

即時圖像顯示對齒輪設計者有很大的 幫助,以圖像的方式顯示計算數據可以幫 助使用者直覺的判斷尺寸比例、過切程度、

齒輪對運作狀況等資訊,比起繪出模型在 SolidWorks 中檢視外型要方便、迅速非常 多,幾乎成為不可缺少的一部分。

本程式透過 OpenGL 函式庫的導入而 得以繪製2D、3D 動畫。其中主要透過畫 直線與三角平面兩個指令,透過有技巧的 使用,即可完成齒輪相對複雜的畫面繪

製。

2D 動畫中顯示齒輪斷面咬合狀況,同 時亦顯示齒頂圓、齒底圓、咬合節圓、接 觸線,每項可獨立開啟或關閉顯示,二齒 輪中心距可微調。

圖 11 2D 動畫顯示組合件模型預覽

圖 12 2D 動畫顯示組合件模型預覽

圖 13 軌跡圖顯示兩齒輪間的運作軌跡,更容易檢 查干涉、接觸範圍

//畫線指令開始

GL.glBegin( GL.GL_LINE_STRIP );

GL.glVertex3d( X1, Y1, Z1 );

GL.glVertex3d( X2, Y2, Z2 );

//畫線指令結束

GL.glEnd();

//畫三角平面指令開始

GL.glBegin(GL.GL_TRIANGLES);

//點 1

GL.glNormal3d( nX1, nY1, nZ1 );//面法向量 GL.glVertex3d( X1, Y1, Z1 );//點座標

//點 2

GL.glNormal3d( nX1, nY1, nZ1 );

GL.glVertex3d( X1, Y1, Z1 );

//點 3

GL.glNormal3d( nX1, nY1, nZ1 );

GL.glVertex3d( X1, Y1, Z1 );

//畫三角平面指令結束

GL.glEnd();

(9)

8

2.6 SolidWorks API 應用程式開發界面 API 全 名 Application Programing Interface(應用程式介面),是做為程式與程 式之間銜接的方法之一,這次專題便是藉 由API將自記撰寫的WindowForm程式與 SolidWorks 2012做連接。

SolidWorks 提供的API能夠讓二次該 發的使用者以程式碼來操作SolidWorks幾 乎 所 有 的 功 能 , 這 次 專 題 便 透 過 使 用 SolidWorks API 中 的 各 種 類 別 與 函 式 在 SolidWorks中建立、繪製零件檔。

SOLIDWORKS API主要應用物件:

ISldWorks:ISldWorks為最高等級的類別,

他其實就是SolidWorks的主視窗。當建立 此 類 別 的 物 件 時 就 相 當 於 建 立 程 式 與 SolidWorks之間的連結,如果SolidWorks 尚未開啟則會自動在背景運作下啟動,此 時將該ISldWorks物件底下的visible屬性設 為true即可看見SolidWorks的主畫面。

IModelDoc2:IModelDoc2為SolidWorks類

別底下的子類別,為所有SolidWorks檔案 共同的類別,你可以選擇讓其成為零件檔 (PARTDOC) 、 組 合 件 (ASSEMBLYDOC) 或是工程圖(DRAWINGDOC)。且所有可 對該檔案進行編輯的功能都為這個類別底 下的method,如繪繪製草圖時用的直線、

橢圓、中心線、方形、多邊形,或是長出、

除料、疊層拉伸等等,都是IModelDoc2下 的method。例:modDoc為IModelDoc2類 別物件,下列為IModelDoc2類別底下用座 標建立曲線的method。

SLDWORKS

MODELDOC2 MODELDOCEXTENSION

PARTDOC ASSEMBLYDOC

DRAWINGDOC

BODY2

VIEW SHEET

MATE

COMPONENT2

FEATURE

ATTRIBUTE

。。。。

。。。。

。。。。

SKETCH

。。。。

。。。。

。。。。

。。。。

modDoc.InsertCurveFileBegin ();

modDoc.InsertCurveFilePoint(X1, Y1, Z1);

modDoc.InsertCurveFilePoint(X2, Y2, Z2);

modDoc.InsertCurveFilePoint(X3, Y3, Z3);

. . .

modDoc.InsertCurveFileEnd();

(10)

9

第三章 成果與驗證

3.1 零件檔

此章節所有圖片為此程式實際產生三 維模型:

3.2 驗證-干涉檢查

繪製一對齒輪的 3D 模型之後,在 SolidWorks 中以公式計算出的中心距作組 裝,再以SolidWorks 自帶的干涉檢查功能 確認兩個齒輪是否相嚙合。

下圖方圖 17 為例,兩個齒輪模數 1.3mm、齒數皆為 7 齒、基準壓力角 20 度、

螺旋角30 度,左方齒輪作 0.6 倍模數的轉 位,右方齒輪不作轉位,為過切齒型。

以理論中心距11.182840163205578 毫 米取至小數點第四位 11.1828mm 進行第 一次干涉檢查,出現微量干涉,其中最大 干 涉 量 為 1e-005mm^3 ,干涉區域長約 3.192mm、寬約 0.0235mm,估計干涉深度

1e-005 / 3.2 / 0.0235 = 0.000133mm 然而實際上,將中心距加大0.13 微米,增 11.18293mm,即可得到圖 18 無干涉結 果,若考慮到干涉面法向量角度問題,實 際干涉深度將比上方推算的 0.133 微米更 小,由此可見 3D 模型最終結果因小數點 取捨問題而有些微干涉,但仍有相當高的 靜確度。

圖 16 正齒輪,20 齒 壓力角 20 度

圖 14 過切正齒輪,7 齒 壓力角 20 度

圖 15 過切轉位螺旋齒輪,7 齒 壓力角 20 度

圖 17 干涉檢查,中心距 11.1828mm

圖 18 干涉檢查,中心距 11.18293mm

(11)

10

[1] KHK 小原齒輪工業, “齒輪技術資料,”

2012.

[2] 李羿慧, “正齒輪 SolidWorks 自動三維 建模方法之研究,” 台灣台北市, 民國 九十九年.

[3] F. L. a. F. A. Litvin, Gear Geometry and Applied Theory, 2nd edition, Cambridge University Press, NJ, 2004.

參考文獻

相關文件

由於本計畫之主要目的在於依據 ITeS 傳遞模式建構 IPTV 之服務品質評估量表,並藉由決

相簿輪播: 只要在 [相簿]

結構化程式設計 是設計一個程式的一個技巧,此技巧就

包括三維機械設計的所更的功能(SolidWorks 三維建模軟體)、資料管 理軟體 PDMWorks Client、以及用於設計交流的常用工具:eDrawings 專 業版(基於 e-mail 的設計交流工具),

[r]

相對於圖 相對於圖2.15 的目的程式 的目的程式 的目的程式 的目的程式.. 相對於圖

美國自二零零二年第四季經濟明顯放緩,二零零三年第一季經濟增長只錄得 1.9% a 的增

高等電腦輔助設計與製造 (Advanced Computer Aided Design and Manufacturing).