|
傳統的CAD系統所構造的產品模型都是幾何圖素(如點、線、圓等)的簡單堆疊,僅僅描述了設計產品的可視化形狀,而不包含設計者的設計思想,因此難以對產品模型進行改動,并生成新的產品實例。目前很多企業為縮短產品開發周期,大部分產品的設計都是改進型設計,大約70%的新產品的設計都要重新利用原來的產品模型,于是參數化設計的概念在這樣的背景下應運而生。 Pro/Engineer是采用參數化設計的、基于特征的三維實體造型系統,其參數化特征造型在保證幾何、拓撲關系不變的情況下,以單一全關聯的數據庫實現模型的快速再生;它的二次開發接口使用戶可以在自己開發的程序中對零件進行各種操作和控制,從而實現程序化設計。
9 G& G! I2 \. W+ z3 H* b- u& _) Z' z" u, g
一、Pro/Engineer二次開發參數化設計的基本原理
4 ~. f& p: v/ h3 I
: j, r; w1 ?: A1 A Pro/Program是Pro/Engineer軟件提供的一種程序化的二次開發工具。利用Pro/Engineer造型的同時,Pro/Program會產生特征的program,它是一個記錄文件,由類似BASIC的高級語言構成,記錄著模型樹(modeltree)中每個特征的詳細信息,包括各個特征的建立過程、參數設置、尺寸以及關系式等,我們可以通過修改和添加特征的program來生成基本參數相同的一系列模型。% I$ [8 \, e9 W3 h3 E
利用Pro/Program對Pro/Engineer軟件進行二次開發時不需要重新撰寫設計步驟,只需加入幾個相關的語法指令就可以讓整個零件或組件變得彈性化與多樣化,其主要思想是利用Pro/Program模塊的功能來接收、換算和傳遞用戶輸入的有關參數,通過改變特征的尺寸及特征之間的關系來達到參數化設計的目的。這里需要注意的是,開發工作的關鍵在于確定獨立可變參數,應盡量以最少的參數來確定整個零件的可變尺寸,并通過參數化尺寸驅動實現對設計結果的修改。$ I; n I% t4 l( J4 f: Y
+ F2 Q& ?8 T8 z; F8 |3 @
二、基于Pro/Program二次開發參數化設計建立零件庫的步驟& E& x& W6 ^$ Z3 Y# F! o
1.分析零件,提取其關鍵參數,然后設置參數,并確定驅動參數4 \0 A( V& H8 G- w" G8 z+ Y6 p8 S
因為在參數化設計時不僅要實現尺寸的驅動變化,還要實現結構形狀的局部變化,所以要在對零件進行分析以后才能確定怎樣建立零件特征才能有利于以后的程序開發。; r* q% R( }2 [$ r0 E
2.創建零件庫樣板零件模型
$ i- T2 a) c8 X" S3 I1 Y% h 利用各種建模方法生成零件庫樣板零件模型。此時應該注意參數的關聯性。
" i# R: t( d& e/ s# b: {( W. ] 3.編制程序
( R$ G: A" X- e" y% M; _ Pro/Program程序包括五部分:程序標題(VERSION)、參數輸入(INPUT→END INPUT)、關系定義(RELATION→END RELATION)、添加特征(ADD FEATURE→END ADD)和質量程序(MASSPRO→END MASSPROP),其中程序標題部分和添加特征部分由系統自動生成,其他部分可以由設計人員自己添加或修改,以實現對模型的各種操作和控制。
4 {5 L9 Q9 Q* W1 q8 [. ` 4.運行程序# x1 Z6 h& k% i
打開零件樣板模型,執行“Edit/Regenerate”命令,系統就會自動編譯并執行程序,當有新的參數輸入時就派生出新的模型。( {9 w7 g+ q$ ?0 k$ v
其實現過程如圖1所示:, X( k4 X' W' d" W1 j+ e# w
. F1 d5 E2 B, E- j5 \0 I" |0 {; x1 A7 E# o; }2 o* G2 Y
圖1 Pro/program建庫流程圖
& t. o/ ]+ B: H. @2 { 三、漸開線直齒圓柱齒輪模型庫的實現
1 X9 i& l6 H% c 1.基于Pro/Engineer的標準漸開線直齒圓柱齒輪三維模型的建立; S7 e- D) J- n: u5 h
1 R5 i2 V% p2 ~ y- g
(1)基本參數設置
, f+ O& N n% x! J& h 標準齒輪的幾何尺寸決定于齒輪的五個基本參數,而齒輪的寬度則取決于齒輪的齒寬系數。因此,在齒輪建模之前,應首先用“Edit/Parameters”命令設置齒輪五個基本參數和齒寬系數,并賦予初值(如圖2所示)。$ N1 a* \. j9 I) W0 |& S. q
3 |- s# g, T$ f+ z" Y @( B& I
* i6 H' k7 H; _1 z W圖2 齒輪基本參數表 (2)齒輪幾何尺寸關系的建立 執行“Edit/Relations”命令,在彈出的對話框中輸入以下關系:
0 y! I$ t5 ]2 {( ?5 _+ j D=MS*ZS6 L5 U5 i. ~# ]5 k9 S8 L
DB=MS*ZS*COS (ALFA)& u& X% y: i' S) ]
DA=MS*(ZS+2*HA)
% M& F& c, r P# o DF=MS*ZS-2*MS*(HA+C)
7 V( |; U& A0 ?3 F9 G0 V9 J& Z: c B=K*D
2 G3 Y' i. u3 e, v% |* n (3)齒輪基本實體創建/ r' n+ B) J6 L; ^' U1 M; ^0 e; C8 ~
執行“Insert /Revolve”命今創建齒輪基本實體。
4 M# M* |. B4 p; \, f (4)齒輪基本曲線和齒廓曲線創建
' H% i3 {2 ~! l 執行“Insert/Model Datum/Sketched Datum Curve Tool”命令繪制齒輪基本曲線(包括分度圓、基圓、齒根圓)。
^$ `9 a$ [7 y% a, k" J 執行“Insert/Model Datum/Insert a Datum Curve/From Equation”命令,在彈出的記事本窗口中輸入漸開線方程:
8 p% F' W4 ]5 |' X! _R= (MS*ZS*COS(ALFA))/2
2 i" D( N" ~/ _6 FANG=T*90
! u1 L8 \! I/ e+ N, O L2 h6 K wS=(PI*R*T)/2) a* \ G. S7 s4 ]' I* }8 D
XC=R*COS(ANG)7 M5 h% m+ a6 p4 O4 v6 B; h' n. U
YC=R*SIN(ANG)1 A* K7 y$ y6 p* t% z! T
X=XC+(S*SIN(ANG))/ b; G: L& _+ J1 v# o: Y
Y=YC-(S*COS(ANG))
& L7 w) |! ]2 ]6 B+ p" `Z=04 w1 p" U0 ~' C6 }. W, }( ?
生成漸開線3(如圖3所示)。
. R' G( K/ F# w0 u+ `" O
) {$ q \4 m- m0 [
+ m+ Q: n& M0 r, u" U& @' d3 o圖3 齒輪基本曲線和齒廓曲線圖 (5)第一個齒槽特征創建
8 T A x) u7 U6 v$ Z- J- S 執行“Edit/Feature Operations/Copy”命令,將漸開線3繞坐標系Z軸旋轉360/(4*ZS)角度生成漸開線1。+ s2 O* U6 k1 ~7 x" h
執行“Edit/Feature Operations/Copy”命令將漸開線1以通過坐標原點和漸開線3與分度圓的交點的基準線為中心鏡像生成漸開線2。
" y! [8 U4 R; `
6 j& [( m" |! y. U0 L7 e4 u( m 執行“Insert /Extrude/cut”命今,以漸開線1、2及齒根圓曲線為邊界切出第一個齒槽(由于基圓內沒有漸開線,所以基圓內的部分可以由一段圓弧代替)。, ?4 f" v# X! j6 N+ `1 G* X+ Q+ p
(6)完成齒輪創建9 _8 y+ [0 T+ p" w0 D7 A F
6 ?7 \" ~- _ A F 執行“Edit/Feature Operations/Copy”命令將第一個齒槽繞Z軸旋轉360/ZS角度生成第二個齒槽。
/ g$ U/ H* Y j# I q: ^ 執行“Edit/Pattern”命令復制出其他齒槽,完成齒輪的創建(如圖4所示)。" F5 a* \. a& O; |* E" S6 T/ V$ E
4 ~9 X9 a# ?9 k7 V1 R' D6 L1 R& z2 G" O0 m5 e, \
圖4 初始齒輪模型 2.齒輪參數化設計程序的修改3 ]! G% O5 B: ~
齒輪創建完成后,系統會產生一串program,執行“Tools/Program/Edit Design”命令,系統就會自動打開其program文件,內容大致如下:
+ N. k3 E7 q0 m: _3 d VERSION 1 t! c7 ~4 A4 [) c0 y
REVNUM 2323
" N5 g( l3 b& z. Q- o LISTING FOR PART GEAR* Q1 G4 f0 ^. J4 Z! ~6 v
INPUT
i9 [" [9 D5 E3 J. c END INPUT1 c, H/ ]% m- ^: c5 m& v( ~. u
RELATIONS
3 ]/ Y& e; z- v& N7 J0 M2 J D=MS*ZS
4 T% D [+ O, Y+ t+ I1 K2 f* ]) Q DB=MS*ZS*COS(ALFA)1 k R. O2 c' g) q @
DA=MS*(ZS+2*HA)
7 W0 z& w6 m. u" O% I DF=MS*ZS-2*MS*(HA+C): E( ^3 T( n. U
B=K*D& d( T, K% \" A2 s; t7 ?# p
END RELATIONS
5 V' v) a6 i# w7 e6 l ADD FEATURE (initial number 1)' E, q# Z: L5 D$ r& E
INTERNAL FEATURE ID 1# [: N. ~5 q# Z; v' @
DATUM PLANE3 z* F/ Y# S5 v( P5 f1 S
NO. ELEMENT NAME INFO 3 W1 J. v. C* E
--- ------------------- ---------
+ R4 e5 r( g' E: @* i: a 1 Feature Name Defined 1 }6 r& _: L, D+ q- [& p
2 Constraints Defined
7 j) { x5 c2 \9 C& m, j7 g 2.1 Constraint #1 Defined / v) F, l% K! G3 _+ Y6 F% {7 I
2.1.1 Constr Type X Axis
* e' x) B& o$ d1 {, A! T 3 Flip Datum Dir Defined
5 U" J# e5 p( p4 }; F: J1 \1 | 4 Fit Defined
8 Z, a5 k! E! k7 x d 4.1 Fit Type Default
% r+ c3 a% |# l, V … …6 [4 Z+ d# `+ O
" i1 [$ ?) U; U; O/ O9 S3 o (1)此時在“INPUT”和“END INPUT”之間輸入基本參數語句和提示語句:
4 ?% p! x1 t- s/ a# m8 p 9 t v9 n9 _7 r
ZS NUMBER
& s" h/ R0 d( R& c. y2 ~ "Please enter the num_teeth of the gear:"- A: O5 A9 @4 t* J
MS NUMBER" H2 c6 B2 F) D) z$ `0 T- a: U
"Please enter the module number of the gear:": B% t( ~4 F" Q9 x2 U3 o; ]0 i1 N6 A
ALFA NUMBER
" q7 [! w9 B' o5 ~1 d2 o5 I8 P "Please enter the pressure_ang:"
/ }4 o/ `8 C. @ K NUMBER
# b' Q/ x2 o6 B) J$ B7 I "Please enter the width_coefficient of the gear:"2 Q& r1 d0 t: B9 a: _9 v
, V) W9 \1 q# k% | P3 z: _ (2)在“RELATIONS”和“END RELATIONS”之間輸入關系語句:0 q, |; c2 s- S8 H
D1=DA/2, m6 f9 X f! H6 j
D2=B
* N+ j( B& O: _ D3=DF. y1 T0 C0 g3 Y. K( `/ V! ]
D4=DB
; g n. R. b; X% X* ~ D5=D7 |; i- P& t7 t$ P! u4 X
D16=B
, O. k8 `- B5 k D25=B/ h* A4 M- u3 a$ c6 k+ U+ c: x( l
D7=360/(4*ZS) /*漸開線3旋轉角度) V Y' x* h1 J$ Y! k$ ]9 G5 A
D18=360/ ZS /*第二齒槽旋轉角度
5 k; |# G: j' J0 e1 I' j D27=360/ ZS /*陣列增量尺寸( d' I% s- H$ g) M/ z
P28= ZS-1 /*陣列個數+ g+ B5 o5 b0 `# Z. N' W
3.齒輪參數化設計程序的運行# V9 c; j, X3 f0 n- V
當編輯完參數化程序后保存文件,關閉文字編輯器,Pro/Engineer信息列會出現提示信息:
3 }% q+ J7 Z& W' k5 l) t"Do you want to incorporate your changes into the model?"
* N- |3 c9 \8 ^, t+ v " T6 Z4 |" O0 |7 `" A
1 a0 _+ Z7 ^2 J5 g. ?4 @4 [
圖5 INPUT SEL菜單 此時選擇“YES”按鈕,系統出現“GET INPUT”菜單,點擊“Enter”,就會出現如圖5所示的“INPUT SEL”菜單,選擇齒數項和模數項,根據信息列提示輸入齒數30和模數2.5即可得到圖6所示的齒輪。
. M U+ L1 A8 q1 R- ]7 n( c . q7 y( L6 S9 W
) O+ q* v" B: v2 l9 d8 M2 X圖6 派生的齒輪模型 再次執行“Edit/Regenerate”命令,Pro/Engineer會自動執行參數化設計程序,彈出圖5所示的菜單,用戶可選擇齒數,模數,壓力角和齒寬系數并輸入新的參數,系統就會按用戶所輸入的新值自動生成新的齒輪。; S: X& ~+ ?' j9 p5 O
. |. x& w; _3 s! g' _! U U
四、結論: E0 m! h- s v5 h
本文重點闡述了用Pro/Program進行二次開發,創建漸開線直齒圓柱齒輪模型庫的方法。在實際應用中,設計人員可以借助上述方法建立各類零件的模型庫,通過對Program的編輯,自動生成基本參數相同的系列零件,使設計更富有選擇性和彈性。 |
|