機(jī)械社區(qū)
標(biāo)題: 基于Pro/ENGINEER的漸開線變位直齒圓柱齒輪實(shí)體模型的二次開發(fā) [打印本頁(yè)]
作者: sunshine1026 時(shí)間: 2008-8-6 13:59
標(biāo)題: 基于Pro/ENGINEER的漸開線變位直齒圓柱齒輪實(shí)體模型的二次開發(fā)
Pro/ENGINEER是由美國(guó)PTC公司開發(fā)的三維CAD軟件,在工業(yè)造型設(shè)計(jì)和模具設(shè)計(jì)制造行業(yè)中得到廣泛應(yīng)用。運(yùn)用Pro/ENGINEER軟件,設(shè)計(jì)人員可以在計(jì)算機(jī)上實(shí)現(xiàn)虛擬現(xiàn)實(shí)設(shè)計(jì)和制造。 在Pro/ENGINEER軟件中,Program模塊是自動(dòng)化零件與組合件設(shè)計(jì)的一項(xiàng)重要工具,使用者可以經(jīng)由非常簡(jiǎn)易且高級(jí)的程序語(yǔ)言來(lái)控制特征的出現(xiàn)與否、尺寸的大小、零件的出現(xiàn)與否、零件的個(gè)數(shù)等。當(dāng)零件或組合件的Program設(shè)計(jì)完成后,往后讀取此零件或組合件時(shí),其各種變化情況即可利用問(wèn)答式的方式得到不同的形狀,以實(shí)現(xiàn)產(chǎn)品設(shè)計(jì)的要求。; i0 X! Y. D1 h7 z% R
齒輪雖然在機(jī)械行業(yè)中有廣泛的使用,但Pro/ENGINEER軟件不能直接生成。通過(guò)復(fù)雜的造型設(shè)計(jì)雖可以生成齒輪,但變化齒數(shù)、模數(shù)和變位系數(shù)后,又需進(jìn)行復(fù)雜的設(shè)計(jì)計(jì)算和造型形狀判斷,工作量很大,齒輪的三維造型設(shè)計(jì)成為造型設(shè)計(jì)中望而卻步的工作。本文基于漸開線齒輪的生成原理,結(jié)合Program程序,研制出變位直齒圓柱齒輪實(shí)體造型的自動(dòng)化設(shè)計(jì)程序,用戶只要輸入齒輪的設(shè)計(jì)參數(shù)(齒數(shù)z1、z2,模數(shù)m,變位系數(shù)x1、x2,齒槽圓角半徑、齒寬、軸孔直徑、鍵槽高度和寬度)就可以快速地生成齒輪實(shí)體,使用簡(jiǎn)單方便,該設(shè)計(jì)軟件可以廣泛地應(yīng)用于網(wǎng)頁(yè)設(shè)計(jì)和機(jī)械產(chǎn)品造型設(shè)計(jì)中。1 ?# c5 P; l) d" [$ d& [2 `
2 齒輪齒槽形狀的精確確定" w9 V/ |2 v7 X" h& v
齒形的漸開線形狀可通過(guò)高級(jí)Sweep特征設(shè)計(jì)精確地設(shè)計(jì)出來(lái),但齒輪齒槽的形狀與齒輪齒數(shù)、模數(shù)、變位系數(shù)和壓力角有關(guān)。具體地說(shuō),下列兩種情況決定齒槽的形狀:
2 V# x# L0 r7 A3 k! ?
0 d/ f- `9 J% `( S7 c& i( y, r- n
圖1 第一種情況的齒槽形狀
圖2 第二種情況的齒槽形狀
即:齒根圓的半徑小于漸開線的基圓半徑時(shí)和齒根圓的半徑大于漸開線的基圓半徑時(shí)。為了敘述方便,下文中,分別稱前者為a情況,后者為b情況。因齒輪的嚙合只在漸開線部分,因此對(duì)于a情況,設(shè)計(jì)時(shí)可在基圓的以下部分加與漸開線相切的直線以連接齒根圓,如圖1所示。而對(duì)于b情況則無(wú)需加相切直線,僅截取漸開線的一部分即可,如圖2所示。 ( \) `2 S5 \2 U+ e$ `- G
3 程序設(shè)計(jì)時(shí)需解決的幾個(gè)關(guān)鍵問(wèn)題, Y1 o* W- r% R# T% p
3.1 嚙合角的計(jì)算
8 M) S0 M1 [& z 變位齒輪的齒頂圓直徑和嚙合角有關(guān),因此設(shè)計(jì)時(shí)必須先由輸入的齒輪設(shè)計(jì)參數(shù)經(jīng)過(guò)復(fù)雜的數(shù)學(xué)計(jì)算得到嚙合角值。
0 E+ z! c5 M2 P& q 我們知道,外齒合時(shí)的嚙合角計(jì)算公式為:
! q3 U& E2 A7 M& W
9 Z7 ?+ c9 x6 l8 e1 ?8 G' V
可見
無(wú)法由顯式直接表達(dá)出來(lái),因此也就無(wú)法直接計(jì)算出來(lái)。雖然用C語(yǔ)言可以數(shù)值計(jì)算出
,但Program自帶的程序不支持C語(yǔ)言,幸運(yùn)的是利用Program自帶的解方程程序可以解出
,具體的設(shè)計(jì)程序是:5 ^4 \1 k3 f F% V3 V

- S) }1 B9 I' f+ c# B+ X 上式中
必須賦初值,否則數(shù)值解會(huì)不確定,考慮到嚙合角一般大于10度,所以初值設(shè)為10即可。由于Program程序中三角函數(shù)內(nèi)的角度是度,因此公式右邊最后的
應(yīng)處理成弧度,以便和tan
同量綱。
& i1 A" T2 O' A9 _, k5 H 3.2 a種情況和b種情況齒輪的調(diào)用
z: i$ r, k( F1 H4 ?! u 對(duì)于Pro/ENGINEER軟件,在零件設(shè)計(jì)模式下是無(wú)法實(shí)現(xiàn)兩種不同零件的調(diào)用的,但在裝配模式下可以實(shí)現(xiàn)這種調(diào)用功能,具體的方法是:在.asm下新建文件,坐標(biāo)系統(tǒng)為mmns,把a(bǔ)、b兩種情況的齒輪造型在基準(zhǔn)缺省方式下直接裝配在一起,這時(shí)的裝配件是a和b兩種情況齒輪的重疊,Program編程時(shí),通過(guò)判斷齒輪的齒根圓半徑是否大于漸開線的基圓半徑來(lái)決定采用a種情況還是b種情況的齒輪。若齒根圓半徑小于基圓半徑,則采用a種情況的齒輪 ;否則,則采用b種情況的齒輪。' U' l8 o4 f$ O& [9 m) L) c
4 齒輪的自動(dòng)化設(shè)計(jì)程序流程圖
4 A8 ^: i& Y+ {6 z1 W% X; ?# j( S 4.1 a、b兩種情況時(shí)的齒輪自動(dòng)化設(shè)計(jì)流程圖3 T0 l, ~ ~+ p4 y* L/ n
圖3是a種情況時(shí)齒輪的自動(dòng)化設(shè)計(jì)流程圖。b種情況的齒輪自動(dòng)化設(shè)計(jì)流程和上圖類似,只是齒槽設(shè)計(jì)時(shí)改為b種情況即可。
; `9 ~$ r# @2 P9 p 4.2 綜合a種和b種兩種情況時(shí)的齒輪自動(dòng)化設(shè)計(jì)流程圖" h! z9 s6 V" W. M0 G9 P( R
綜合a和b情況后的自動(dòng)化設(shè)計(jì)流程圖如圖4所示。- h6 a+ S R; t, j0 N+ M
圖3 a種情況的齒輪自動(dòng)化設(shè)計(jì)流程
圖4 綜合a、b兩種情況后的齒輪自動(dòng)化設(shè)計(jì)流程
5 源程序
+ f8 i, q5 h: X" P 5.1 a種情況的齒輪自動(dòng)化設(shè)計(jì)Program原程序
" H/ ^! W, V$ p9 M" Z4 ~VERSION
+ F; ]$ E1 b. B: mREVNUM 23833
" W5 a/ {9 C: b1 U3 zLISTING FOR PART GEAR_A
3 L( x$ @" ~! U( T$ j2 Q5 sINPUT$ C) i- y* R7 N7 U5 }
Z1 NUMBER /*齒輪1齒數(shù)0 ~6 C3 m) c/ M8 g @0 l
"Enter Z1: "6 H) K6 R7 q: w
Z2 NUMBER /*齒輪2齒數(shù)
1 f0 T/ w* P% Q1 ]"Enter Z2: ". X z4 }9 J& O: k$ ~
M NUMBER /*模數(shù)
?, x% s# ]2 q1 k"Enter M: "
) M5 G5 t7 X6 X3 B& i5 sX1 NUMBER /*齒輪1變位系數(shù)
0 Y# S+ X+ G% m$ Z"Enter x1:": @0 T7 n' N9 s& g8 e6 V; p
X2 NUMBER /*齒輪2變位系數(shù)9 W) z5 h0 k) y8 p/ K
"Enter x2:"6 C8 a8 q! t% o3 M
ALPHA NUMBER /*壓力角) d" r( s- R- K V- H' T7 p( a" C( s
"Enter the pressure angle: "
9 ] w" {( V" D, l `GEAR_WIDTH NUMBER /*齒輪寬度
; B/ f* G _5 q- v' s"Enter the gear width: " ~ C4 d/ c5 `
RAD_FILLET NUMBER /*齒槽圓角半徑4 `; d7 v. T: d7 {7 B# c/ [( a
"Enter rad_fillet:"
1 i' D( Z' q- G- e/ h! ^SHAFT_DIA NUMBER /*軸孔直徑2 U# ?4 p6 L$ G0 j' B
"Enter shaft_dia:"0 t, `8 t+ ]4 d, p S; ^
KEY_WIDTH NUMBER /*鍵槽寬度
) c5 w3 K& @( }( X/ D8 V' g: S"Enter key_width:": P( X6 ~" g" Y" \
KEY_HEIGHT NUMBER /*鍵槽高度. ?/ {7 [2 n8 Y* S
"Enter key_height:"( n* j. c) F; q6 X" E5 ?
END INPUT# }/ H C4 ?, N
RELATIONS- y% M! @9 J: S6 w6 ~ I% @
INVA=TAN(ALPHA)-ALPHA*PI/180 7 R% l: c6 V$ e/ R& d( G
/*標(biāo)準(zhǔn)壓力角時(shí)的漸開線函數(shù)值
+ Q/ B/ d0 J8 p8 O, B: Q; g$ ]0 GINVAP=2*(X1+X2)*TAN(ALPHA)/(Z1+Z2)8 X0 k3 U( F* p7 g P) v
+INVA
0 M. t! z) x/ C0 _: q1 P /*計(jì)算嚙合角時(shí)的漸開線函數(shù)值
: s a& N. S/ I4 N0 lAP=10- a+ Z: B+ q& ~
SOLVE /*解方程程序: Y6 _9 R6 ^( q9 o% s3 ?: O
INVAP=TAN(AP)-AP*PI/180
( Y; Z9 M2 f* K4 A& T1 W( iFOR AP 5 h# t- m, z9 i h
HA=1 /*齒頂高系數(shù)7 n0 O2 U7 B5 K, n0 K6 |
IF M<1 /*徑向間隙系數(shù)的確定
0 m! D( K$ m% x( Q! {5 n C=0.355 {6 y% v% A2 a
ELSE: a- s8 m/ K5 R. _6 E' u. Q
C=0.25
* W8 Y* k+ D0 ?* _( F C! q( }6 e0 pENDIF % _; g9 E) k5 A2 r9 j) W
R1 = 0.5*M*Z1 /*齒輪1分度圓半徑; @; A: C4 W* q0 S
R2 = 0.5*M*Z2 /*齒輪1分度圓半徑" t. D/ x8 A0 P, w% B8 _# d
D = R1+R2 /*標(biāo)準(zhǔn)中心距
+ S# M: {3 y2 i8 ORD = D*COS(ALPHA)/COS(AP) 4 q8 C% o" y. g9 i8 L/ H
/*實(shí)際中心距4 m E4 N& f4 m
RB1 = R1*COS(ALPHA) /*基圓半徑$ A+ Z k& u; d" @2 b& j6 x; k0 o! v
RF1 = R1-M*(HA+C-X1) /*齒根圓半徑* W. z6 A3 `- T
RA1 = RD-R2+M*(HA-X2) /*齒頂圓半徑0 T4 j2 X0 L8 f8 y
THICK1 = M*(0.5*PI+2*X1*TAN(ALPHA))4 _! r' z+ X% W' N+ T
/*分度圓上齒厚(弧長(zhǎng))
# }/ |1 \% M" l) e* {$ CTOOTH_THICK1=THICK1*COS(ALPHA)
( l4 u. N4 I$ R) C) t& s7 F8 t5 u4 m +2*RB1*INVA /*基圓上齒厚(弧長(zhǎng))
: r0 M: |& q* M2 ^ANG_TOOTH_THICK1=TOOTH_THICK1/RB1*180/PI /*基圓上齒厚角(度)2 D' Y$ r& k% Z
D0=RA1 /*內(nèi)部參數(shù)賦值
a2 k8 w2 D* l3 V( i, rD1=GEAR_WIDTH
9 F ]! O$ W( Y9 E& ?2 SD2=360/Z1
# Y3 S; H2 A; l/ |- ?D3=ANG_TOOTH_THICK1
7 F1 y( d" I0 C7 ED4=180/Z1
+ |$ D: K5 Y! f6 ~& `% GD5=RB1( _ j0 f9 q0 A- Z' J! l2 p
D13=RF13 g9 n0 V% L# z8 \
D14=RAD_FILLET) j1 P! n4 T% [
D15=360/Z1
: e: j6 h. }1 Q1 x* `- }P16=Z1
& ?& ]. L6 P! X7 ^ WD36=SHAFT_DIA
( k4 R# O+ H6 S1 R; lD37=KEY_HEIGHT
, w. ~1 K1 S$ Z( v( T( |D38=KEY_WIDTH ' B9 |0 v6 {0 } X9 J# F& q' J
END RELATIONS% |2 D/ X) t9 O) y
…………………………
! F J4 N ?# W0 r5.2 b種情況的齒輪自動(dòng)化設(shè)計(jì)Program原程序( M8 Z5 D; d3 Z' Y- I
VERSION
8 o2 J' N% U% I3 m3 J U/ E" S$ uREVNUM 60662
9 R9 C, ?6 Z9 p4 Z, g7 lLISTING FOR PART GEAR_B% o# b5 F$ H; p
INPUT6 Z& Z$ }0 {+ Q) Y
Z1 NUMBER /*齒輪1齒數(shù)0 `7 i% w& n# w1 o
"Enter Z1: "0 T; \7 k* d0 `' E! h2 S% a. D
Z2 NUMBER /*齒輪2齒數(shù)% b& U% Z; I/ ]: ~1 [
"Enter Z2: ". N4 b' }, o: g0 a) R5 t
M NUMBER /*模數(shù)
# x6 q) b! E2 j# _& l/ c( h "Enter M: ". X2 s2 H) L2 D. ], i& _7 |- ?
X1 NUMBER /*齒輪1變位系數(shù)0 W( @9 ]; |: ]" z. S! x
"Enter x1:", X5 p, y# u8 u9 s5 A
X2 NUMBER /*齒輪2變位系數(shù)$ p+ B6 \3 J( I* W1 k, R$ x3 Z
"Enter x2:"
# H9 R) X! d0 w. i) Z+ ?) F ALPHA NUMBER /*壓力角
; |5 D6 I( i' u# x/ N4 F" ]/ ?) d "Enter the pressure angle: "* k4 B8 t& m6 i8 S7 E
GEAR_WIDTH NUMBER /*齒輪寬度* k8 j# g: W# Y- m, J1 [
"Enter the gear width: ", x; o- y- m, x6 p3 o
RAD_FILLET NUMBER /*齒槽圓角半徑* t/ F' I$ Y9 @% {9 W
"Enter rad_fillet:"% X. J9 S; E; e7 i
SHAFT_DIA NUMBER /*軸孔直徑
$ L: [. [* \3 Y7 g2 [. n "Enter shaft_dia:"
% q8 D0 E( D! N+ m& p* { KEY_WIDTH NUMBER /*鍵槽寬度2 m* K1 r5 d, j# P
"Enter key_width:"
# [* p. j2 c' j; f. d& D% ]: ? KEY_HEIGHT NUMBER /*鍵槽高度
+ [& F' K' l8 U "Enter key_height:"
/ y; B/ d6 c3 J! kEND INPUT5 S* w6 Z f* s0 f3 A2 ~" P
RELATIONS
; N' l( h! @" r6 A5 [1 u1 JINVA=TAN(ALPHA)-ALPHA*PI/180
e- D/ B% r) m /*標(biāo)準(zhǔn)壓力角時(shí)的漸開線函數(shù)值
6 J6 n$ j" X4 O/ wINVAP=2*(X1+X2)*TAN(ALPHA)/(Z1+Z2), Q% @% Z: _2 r3 U
+INVA 7 ?2 y/ W, R3 C. t
/*計(jì)算嚙合角時(shí)的漸開線函數(shù)值2 m. z6 c1 J' \5 n v) X
AP=10
& l6 G z& v0 dSOLVE /*解方程程序
8 c5 R" X3 ~2 V6 {/ c INVAP=TAN(AP)-AP*PI/180. q+ x: n! S2 K% Z7 d$ ^
FOR AP
( T# o3 {/ X* `, h B; a& b1 kHA=1 /*齒頂高系數(shù)
1 i2 I" T1 H0 B2 wIF M<1 /*徑向間隙系數(shù)的確定
9 o* h f9 S+ P: _% t. V C=0.351 Q3 K7 y2 U" @8 ~6 y1 B
ELSE5 f+ [# ~: k4 i3 j5 f. e
C=0.25- m) b$ L8 c& Y8 S; t
ENDIF a. `) c6 v$ `! M. m, [1 |% a
R1 = 0.5*M*Z1 /*齒輪1分度圓半徑/ c5 X8 W6 O7 V% r
R2 = 0.5*M*Z2 /*齒輪1分度圓半徑$ v! Z, d/ a$ S
D = R1+R2 /*標(biāo)準(zhǔn)中心距+ A4 m: L2 _2 d2 l$ N! K- o) x
RD = D*COS(ALPHA)/COS(AP)
/ x& S b2 t( c6 s /*實(shí)際中心距
! R; v! i6 S" L% J' |( f% LRB1 = R1*COS(ALPHA) /*基圓半徑
c+ T" x) `4 L, R! J& s( BRF1 = R1-M*(HA+C-X1) /*齒根圓半徑
8 X) {! |1 P% VRA1 = RD-R2+M*(HA-X2) /*齒頂圓半徑
! u! m7 F. b% f7 O& [6 eTHICK1 = M*(0.5*PI+2*X1*TAN(ALPHA))
( B' K2 H( _9 U& T: d U /*分度圓上齒厚(弧長(zhǎng))* [. i# Y1 I6 k/ c+ l( |* }8 ]
TOOTH_THICK1=THICK1*COS(ALPHA)
8 g2 m! B4 L$ s6 s) L +2*RB1*INVA /*基圓上齒厚(弧長(zhǎng))
) s: z0 ?5 o* E" K; R( P) i/ ~5 RANG_TOOTH_THICK1=TOOTH_THICK1/RB1*180/PI /*基圓上齒厚角(度)! ]/ R/ d( n- `% L* W z6 Q
D0=RA1 /*內(nèi)部參數(shù)賦值- s5 w8 w5 o" C
D1=GEAR_WIDTH: K& Y, m: j) e7 k) @
D2=360/Z1- f. O4 ]4 h; }$ v# m- S8 P
D3=ANG_TOOTH_THICK11 m; }) v Y, m6 C: H4 P8 u. S- J
D4=180/Z1
, R- P6 T. M% b7 D4 x7 x# LD5=RB1
" i2 k8 p/ Z6 H' P; O; I3 q, l$ dD13=RF1, `8 |1 ]9 }8 r: `* k f* i. N
D14=RAD_FILLET
$ X' a4 y# e# T% d) i: M- |8 eD15=360/Z1
* |4 H6 \- H+ G6 c; Z1 UP16=Z1
4 V; j" b, ]! _) Y; hD116=SHAFT_DIA( ?- b, C( b4 ], P$ p$ L; y5 D
D117=KEY_HEIGHT6 q$ p: X: R/ l( I
D118=KEY_WIDTH
' J* J3 k. M$ F/ c, V" d, DEND RELATIONS U( d7 y2 R; s( l
……………………
歡迎光臨 機(jī)械社區(qū) (http://www.ytsybjq.com/) |
Powered by Discuz! X3.5 |