找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 2360|回复: 1

基于Pro/E二次开发齿轮参数化模型库

[复制链接]
发表于 2008-8-6 13:52:29 | 显示全部楼层 |阅读模式
传统的CAD系统所构造的产品模型都是几何图素(如点、线、圆等)的简单堆叠,仅仅描述了设计产品的可视化形状,而不包含设计者的设计思想,因此难以对产品模型进行改动,并生成新的产品实例。目前很多企业为缩短产品开发周期,大部分产品的设计都是改进型设计,大约70%的新产品的设计都要重新利用原来的产品模型,于是参数化设计的概念在这样的背景下应运而生。    Pro/Engineer是采用参数化设计的、基于特征的三维实体造型系统,其参数化特征造型在保证几何、拓扑关系不变的情况下,以单一全关联的数据库实现模型的快速再生;它的二次开发接口使用户可以在自己开发的程序中对零件进行各种操作和控制,从而实现程序化设计。
& U' P  d, r9 d, R$ b' \2 N, k
! P( l+ l9 s9 O; X一、Pro/Engineer二次开发参数化设计的基本原理! F2 P3 w. y6 M
    ' M. n4 f. v/ A2 m5 P$ k# w
    Pro/Program是Pro/Engineer软件提供的一种程序化的二次开发工具。利用Pro/Engineer造型的同时,Pro/Program会产生特征的program,它是一个记录文件,由类似BASIC的高级语言构成,记录着模型树(modeltree)中每个特征的详细信息,包括各个特征的建立过程、参数设置、尺寸以及关系式等,我们可以通过修改和添加特征的program来生成基本参数相同的一系列模型。
. U: _! }6 \! W1 k    利用Pro/Program对Pro/Engineer软件进行二次开发时不需要重新撰写设计步骤,只需加入几个相关的语法指令就可以让整个零件或组件变得弹性化与多样化,其主要思想是利用Pro/Program模块的功能来接收、换算和传递用户输入的有关参数,通过改变特征的尺寸及特征之间的关系来达到参数化设计的目的。这里需要注意的是,开发工作的关键在于确定独立可变参数,应尽量以最少的参数来确定整个零件的可变尺寸,并通过参数化尺寸驱动实现对设计结果的修改。7 x* C: z/ X8 ?

' l! X' o# S9 K3 |7 I二、基于Pro/Program二次开发参数化设计建立零件库的步骤
* Y% P  `3 M6 {/ @! ]4 G& J: E5 e    1.分析零件,提取其关键参数,然后设置参数,并确定驱动参数
: p; }7 x5 W- H3 V* S    因为在参数化设计时不仅要实现尺寸的驱动变化,还要实现结构形状的局部变化,所以要在对零件进行分析以后才能确定怎样建立零件特征才能有利于以后的程序开发。
. P- r+ z/ E2 m- ^9 S& G% c# M    2.创建零件库样板零件模型  ~$ U! C& r% ^" ~  {
    利用各种建模方法生成零件库样板零件模型。此时应该注意参数的关联性。
5 D1 `% \$ e: Q* n% U+ ^    3.编制程序
% k: b. x5 A$ T( ~% m. e- {7 W9 N' x    Pro/Program程序包括五部分:程序标题(VERSION)、参数输入(INPUT→END INPUT)、关系定义(RELATION→END RELATION)、添加特征(ADD FEATURE→END ADD)和质量程序(MASSPRO→END MASSPROP),其中程序标题部分和添加特征部分由系统自动生成,其他部分可以由设计人员自己添加或修改,以实现对模型的各种操作和控制。, c; t* t2 \' ?- F* u. \9 M3 v0 ^
    4.运行程序; x0 n, n7 v+ h3 I- ~* A
    打开零件样板模型,执行“Edit/Regenerate”命令,系统就会自动编译并执行程序,当有新的参数输入时就派生出新的模型。
# ]' b9 _/ j1 Z$ g0 [+ q) m' |8 t    其实现过程如图1所示:4 I! g9 K% K) n: T- `- g' o
# O( e) `& w! A$ W8 }4 j2 r, H

1 n9 Y( K% U3 @$ z2 _# v图1 Pro/program建库流程图
. U6 w7 G4 w, ~
三、渐开线直齿圆柱齿轮模型库的实现
: }! G; M4 W7 E2 E1 R" T    1.基于Pro/Engineer的标准渐开线直齿圆柱齿轮三维模型的建立& {0 ?2 U# u8 l( m' N- {
   
) d6 R+ g3 H& [    (1)基本参数设置
! t+ O1 ]6 v, P/ i    标准齿轮的几何尺寸决定于齿轮的五个基本参数,而齿轮的宽度则取决于齿轮的齿宽系数。因此,在齿轮建模之前,应首先用“Edit/Parameters”命令设置齿轮五个基本参数和齿宽系数,并赋予初值(如图2所示)。
- H# E! |. a6 M+ P8 m% g' z
  k3 M8 L8 x- \3 {" h

) A  Y5 E( J& Z) d  j" n- S图2 齿轮基本参数表
    (2)齿轮几何尺寸关系的建立
    执行“Edit/Relations”命令,在弹出的对话框中输入以下关系:
+ M4 I# U6 v+ x  a9 A! ]    D=MS*ZS$ L3 A" o! h9 ?  P* S$ {) A/ Q
    DB=MS*ZS*COS (ALFA)9 S6 ?" u; R4 E
    DA=MS*(ZS+2*HA)9 W/ O, L6 p- J5 c$ u
    DF=MS*ZS-2*MS*(HA+C)& J3 _7 B, X7 H+ H. Y+ ]8 J  w
    B=K*D
' ?# m4 d, P2 F9 ?- B5 \    (3)齿轮基本实体创建
. n  e: A8 `6 K! I& i' N    执行“Insert /Revolve”命今创建齿轮基本实体。/ u9 F( ~- h/ W1 V' [% }
    (4)齿轮基本曲线和齿廓曲线创建( ^8 a' e8 v  B! G+ b
    执行“Insert/Model Datum/Sketched Datum Curve Tool”命令绘制齿轮基本曲线(包括分度圆、基圆、齿根圆)。* p: q8 e+ l- ]. }$ O7 Z
    执行“Insert/Model Datum/Insert a Datum Curve/From Equation”命令,在弹出的记事本窗口中输入渐开线方程:  o' }5 ^) o, }, O, B
R= (MS*ZS*COS(ALFA))/2& U0 G$ G% `) C2 h
ANG=T*90
1 |; b+ M: ~  c0 t3 t$ _6 uS=(PI*R*T)/2
  `0 M9 c8 x% U! L# ^* fXC=R*COS(ANG)
& M- B! J+ R( W4 L1 {" ^YC=R*SIN(ANG)
3 U* k- y& }) C8 h/ M# FX=XC+(S*SIN(ANG))
* J  B, B$ O. K' l* Y) iY=YC-(S*COS(ANG))* v7 S# p  e# @8 i* S
Z=0
( C' C7 R: e( E" N生成渐开线3(如图3所示)。7 P! u. x% G6 a' V$ ~8 F: @( G
# P2 q' m6 H& O# H( n, K5 l

/ f; w' \& h& }6 E- h图3 齿轮基本曲线和齿廓曲线图
    (5)第一个齿槽特征创建* k* z' d2 {7 H5 Z
    执行“Edit/Feature Operations/Copy”命令,将渐开线3绕坐标系Z轴旋转360/(4*ZS)角度生成渐开线1。) ], X1 w, x0 S* p
    执行“Edit/Feature Operations/Copy”命令将渐开线1以通过坐标原点和渐开线3与分度圆的交点的基准线为中心镜像生成渐开线2。- f0 R% t2 O  O% a' D
   
0 V3 f. r" y7 w8 }    执行“Insert /Extrude/cut”命今,以渐开线1、2及齿根圆曲线为边界切出第一个齿槽(由于基圆内没有渐开线,所以基圆内的部分可以由一段圆弧代替)。
! |  {. n3 x6 s/ o: L" ]    (6)完成齿轮创建
3 @+ p+ {9 t, G2 |+ E   
" S2 Q8 @; r+ e  g( t    执行“Edit/Feature Operations/Copy”命令将第一个齿槽绕Z轴旋转360/ZS角度生成第二个齿槽。/ S! ^# I" e% M: i
    执行“Edit/Pattern”命令复制出其他齿槽,完成齿轮的创建(如图4所示)。9 T, n! A8 Y: H5 E+ }! A& D

/ l+ o: A: c/ X- }2 _& [3 }
/ p- X& e/ f9 a7 v  t2 S0 e9 x" W图4 初始齿轮模型
    2.齿轮参数化设计程序的修改0 d* C( e; b5 o9 r* [& O4 w, h
    齿轮创建完成后,系统会产生一串program,执行“Tools/Program/Edit Design”命令,系统就会自动打开其program文件,内容大致如下:
' w4 m: \; g9 ]) l, A; r    VERSION 0 C  O7 [, t6 [- T# ?- a0 l
    REVNUM 2323
1 ?0 n  n4 n: F1 o/ A+ y( i    LISTING FOR PART GEAR
2 T7 r9 V( T' L+ A. `    INPUT
8 h6 M- S+ R8 d/ v7 Y( }8 M' {1 b    END INPUT: x& x4 F( @& |0 w: ]# s# M7 f
    RELATIONS
% Q; ]6 J. T- T- g* X7 m    D=MS*ZS
6 P0 v' a  {5 J0 L$ p. D+ e    DB=MS*ZS*COS(ALFA)# M! w* v% _9 l
    DA=MS*(ZS+2*HA)
8 ^4 @' i# f) u" x3 i    DF=MS*ZS-2*MS*(HA+C)
/ s. J: J7 [$ H. H# R9 }/ h. Y  N5 k    B=K*D
: ?5 b) \/ p3 q+ ]) D( ^4 Y    END RELATIONS  p0 v8 u3 c6 g% f$ E# p  S
    ADD FEATURE (initial number 1)7 Z3 b. s% [+ H  d% T" k
INTERNAL FEATURE ID 1
* c! v! b3 R/ f1 c; _9 c    DATUM PLANE3 m  x4 x; T  k0 t
    NO.     ELEMENT NAME   INFO                                                  7 o* N! ]( N0 J4 U7 Q9 B$ V
    ---      -------------------      ---------                                        # h. f0 Z: e+ E4 {; h
     1      Feature Name        Defined                                               
$ Z! {: y' u, M: S8 K( l     2      Constraints          Defined                                               
( K6 U, T1 P4 p+ g0 g1 Y     2.1    Constraint #1         Defined                                               
" p4 M2 q/ P1 S( k& K     2.1.1   Constr Type          X Axis                                                
5 V( V4 M" R0 y0 Y" T     3      Flip Datum Dir       Defined                                               
! C" h6 Y/ D2 F: u     4      Fit                 Defined                                               4 O7 n2 r, F/ E3 n8 z' E. l* z% P/ n; C
4.1     Fit Type            Default                                               / i5 A1 c) H# c/ E8 L
    … …$ _0 a  p1 v2 x
    4 Q+ F" n4 P- m* P: ?
    (1)此时在“INPUT”和“END INPUT”之间输入基本参数语句和提示语句:$ j0 r7 o) h1 T4 a
  y$ @  V2 B- m/ u
ZS NUMBER* |! y: O( ^! d& C: q  J+ o+ ~
"Please enter the num_teeth of the gear:"
, M! t5 N# s: g/ ^' U5 Z MS NUMBER
: d" i) z. L1 ~; Q "Please enter the module number of the gear:"* L: @; J# l3 y3 Z7 J/ G8 }
ALFA NUMBER+ F" |% v* ^* j+ x( G4 U! u
"Please enter the pressure_ang:"
# K. Z. M& O: w* g( w! z K NUMBER
9 K9 T1 q. V7 F# V( @# [* z) ? "Please enter the width_coefficient of the gear:"% B: W+ |+ n# C* e7 u
    6 ~4 r# ^% X, u
    (2)在“RELATIONS”和“END RELATIONS”之间输入关系语句:
8 M) g1 n! ^: ~7 v% p5 J& w$ T    D1=DA/2
* N  L7 {# J+ Z    D2=B
, L; _& {) b3 [3 S8 e    D3=DF8 F8 a4 F/ S( Q- ~
    D4=DB" k6 q+ V- P7 D+ y+ q# `
    D5=D7 y/ U9 l! v( H  K/ m0 M+ N% w/ f
    D16=B' \8 D6 k/ e% i1 j' N
    D25=B. O: z# b/ y/ [
    D7=360/(4*ZS)     /*渐开线3旋转角度* y6 [; e: @4 H; J
    D18=360/ ZS       /*第二齿槽旋转角度  ]& d4 l# G; S+ h. S
    D27=360/ ZS       /*阵列增量尺寸
. O* C% N, k, ?2 C$ G    P28= ZS-1         /*阵列个数1 y: y# `! _: I/ y# y
    3.齿轮参数化设计程序的运行
3 Y$ d( [# y+ j# U" ~    当编辑完参数化程序后保存文件,关闭文字编辑器,Pro/Engineer信息列会出现提示信息:9 J! ?: a" v2 P7 H! W4 a
"Do you want to incorporate your changes into the model?"2 o+ F6 \( [/ @* G8 f

8 n$ ?/ j) `9 w* C% l' ?
* q- W+ d' \2 n7 d图5 INPUT SEL菜单
    此时选择“YES”按钮,系统出现“GET INPUT”菜单,点击“Enter”,就会出现如图5所示的“INPUT SEL”菜单,选择齿数项和模数项,根据信息列提示输入齿数30和模数2.5即可得到图6所示的齿轮。
3 g: j! h" c# R: C

- L4 q6 z  y: U3 p! p( b2 W5 V4 `6 c  e0 o
图6 派生的齿轮模型
    再次执行“Edit/Regenerate”命令,Pro/Engineer会自动执行参数化设计程序,弹出图5所示的菜单,用户可选择齿数,模数,压力角和齿宽系数并输入新的参数,系统就会按用户所输入的新值自动生成新的齿轮。
) g/ z* E3 {: j2 ~6 Y0 Q2 q' y. C6 q' P  `
四、结论  |$ j* a; m$ m+ i, w. C+ s
    本文重点阐述了用Pro/Program进行二次开发,创建渐开线直齿圆柱齿轮模型库的方法。在实际应用中,设计人员可以借助上述方法建立各类零件的模型库,通过对Program的编辑,自动生成基本参数相同的系列零件,使设计更富有选择性和弹性。
回复

使用道具 举报

发表于 2008-8-7 16:05:56 | 显示全部楼层
好东东,收藏了!
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-6-19 17:01 , Processed in 0.063053 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表