|
随着科学技术的飞速发展,通信产品市场竞争的加剧,各大电信运营商对通信产品的外观、质量等提出了更高、更严的要求。不但要求外形美、质量高,而且对产品研发周期的要求也越来越短。为了达到上述要求,企业只有采用先进的设计制造技术,运用科学的管理手段,才能在激烈的市场竞争中立于不败之地。笔者公司某事业部工艺结构部从2002年4月开始,在部门内推广使用三维实体设计工具——Pro/ENGINEER,并先后应用该软件对移动定位终端系统、告警箱、参数化标准插箱和各种机柜等通信产品的结构进行设计和开发,取得了不小的成绩。下面以参数化标准插箱的设计、开发为例,就Pro/ENGINEER软件在结构设计中的应用作简要探讨。1 设计需求6 r) ]2 o1 E7 c# A
(1)行参数化标准插箱设计的目的是为了极大提高后续设计者的工作效率。
0 A5 I2 d/ [0 r" I) a0 j(2)插箱设计尺寸要求为标准的19'和24'。
, u* M9 V4 }6 p, Q8 p" p2 E(3)所有零部件的设计要求均按IEC 60297的标准进行。
) Y9 @+ W7 [# r3 w(4)要求包括不同横梁、导轨、侧耳和上下网板等在内的所有零部件,相互之间都能够自由进行替换。
$ \% S m q6 ]* O(5)要求插箱尺寸只能在标准范围内、按标准系列变换,各安装尺寸不得随意改变。
_3 _7 F# c1 n$ G4 ]" F2 k(6)设计过程中需要考虑EMC。
) i" ?/ S$ ]. Y p" b/ C5 @( F& y' n(7)在BOM表中能够区分借用与非借用件。) |0 b( T3 }( i9 R
2 设计分析
! N3 Z. p% g0 f! B+ _( C. u. N 从设计需求中可知,参数化标准插箱的设计,是为了使后续设计者能在较短的时间内,按照IEC 60297的标准完成各种不同类型插箱的设计工作,包括工程图的绘制,同时避免出错。在实际的运用过程中,还要求能够做到横梁、侧耳等的截面形状可以自由替换,也就是说,不同形状的横梁、侧耳等在装配中能够自由得到选用。
" F' t, X1 Y4 j# n" G, z( Q9 C 设计中可变的参数主要有:插箱高度、插箱深度、插箱的宽度、插箱所用的槽位数和横梁根数等,需要考虑EMC、有无上下网板和插箱通风的方式等。6 O- D( e% B/ ^
3 设计思路
& s5 G9 m% M7 M* O( K 结合软件本身的特点,拟采用Top-down方式进行设计,用Layout控制零件的选用,在设计过程中穿插使用Family_Table、Relation和Program对整个设计过程进行控制,并用Interchange实现零件的替换。
9 @ r7 r9 G9 H8 K' C+ E4 设计步骤% Y5 Q0 I% p8 d, n* ^! x
(1)建立各零部件的Part文件模型,如横梁、螺母条和侧板等。# h8 I& g7 e, _1 f1 s
(2)按照IEC 60297标准,用Family_Table形式控制各种零件的外形尺寸。
1 I4 C3 p9 _4 ~- ?1 g& L* a. ~. V(3)创建Layout文件,用Layout文件控制多个文件,并使之相互关联,便于进行参数控制。' l% K2 T$ i! D4 @# z
(4)建立*.asm、*.skeleton文件,在*.asm文件中,主要依靠skeleton控制各零件的装配关系。
9 t8 U- H0 R1 q- m7 I! U(5)在*.skeleton文件中写入各种关系式,对各种相关参数之间的关系进行控制。$ \- g3 @9 J$ `1 `9 h9 y- z) r$ n
(6)在*.asm文件中,修改装配Program,通过Interchange的使用来实现各零件之间的相互调用。
`( s, \$ B2 p6 d3 l(7)调试、运行、修改。
9 V3 x" v1 I' I5 \6 D(8)出工程图,并制作各种模板文件。
, w. M1 f5 ^$ u5 详细设计3 C* `2 Z! x# | K0 [
5.1 创建Part文件模型
7 d3 l. T) A$ n% F0 i: o 在设计过程中,按照IEC 60297的标准,用Family Table的形式,建立各个零部件的Part文件模型。! b7 K3 g- k) u7 r' z- r- f
5.1.1 前、后横梁5 I0 A6 z8 h; i4 ~" E% k
对于前、后横梁来说,需要控制其长度、扳手受力孔的数量、第一条格局线的位置等,而横梁的具体截面形状可后续设计,因此在Family Table中控制的参数如图1所示。其中,d2控制横梁的长度,d138控制第一条安装格局线的位置,p141控制扳手受力孔的Pattern数量。8 _+ R# [1 X2 P) o3 {
图1 前、后横梁控制的参数 5.1.2 侧耳
/ ]( b9 h+ \$ D& J4 y" N( ^ 很显然,对于侧耳来说,由于插箱尺寸的改变势必引起侧耳的截面形状、侧耳的高度、安装孔间距及位置的变化,而这些尺寸的变化受标准的限制,因此在Family Table中需对这些参数进行控制。如图2所示。其中,d4控制侧耳的高度,d1控制侧耳宽度方向的截面尺寸,d10、d11、d15则控制侧耳安装面上安装孔的位置及间距。
2 M) J6 I3 D- v图2 侧耳控制的参数 5.1.3 侧板
: Y8 G ^' h0 T: n/ b6 J" V 对于插箱侧板来说,由于受插箱高度(按U的倍数增加,1U=44.45mm)和插箱深度(按60mm的整数倍增加)尺寸的影响,因而在Family Table中由其产生的Instance则比较多。如图3所示。
% ]& P u \8 d/ t' z图3 侧板控制的参数 在本例中,主要通过d0控制侧板的深度,d2控制侧板的高度。
* W, q5 T- D* \6 P* t1 }+ W 采用同样的方法可以创建其他零件,如中间横梁、上下网板等的Part文件。在建立Part文件时,为了保证零件特征的关联性,应在Part文件中加入Relation,以便控制这些特征的相互关系及存在与否!如侧耳上安装孔的特征,部分关系式如下。
0 w1 ^! k% u7 b. e k" P7 uVERSION 7 q) c9 k% F6 ~3 x
REVNUM 861: E: v; m7 z/ U, r: a( E& p
LISTING FOR GENERIC PART MOUNTING_FLANGE' K, r- l( g: Q$ l( A! o7 Q
INPUT5 Z7 E; I6 p" v3 ]0 y0 q
END INPUT
% T0 Q2 S! ~3 ~/ i) p% e9 xRELATIONS
' e+ k ^. r9 I7 ZPWEIGHT=MP_MASS("")
" a7 O, `! y4 S9 t0 BNew_Name=Lookup_inst("mounting_flange.prt",0,"D1",Mounting_Flange_Width,"D4",H1)
" i8 m' E" }* g I% u; YD14=D15/2
6 Q( f: Q, _4 R6 L& h \! OEND RELATIONS
5 A2 s7 P1 K9 ?' X" j 这部分Relation主要控制:侧耳上中间两个安装孔的位置关系和通过D1、D4和H1的数值选用不同的侧耳Instance文件名,以备在装配时进行文件的调用。% k0 ~0 p5 e& g7 E4 n! X0 K8 W
IF D4>260. b+ I: R6 E4 a: A
ADD FEATURE (initial number 7)
! i& O: D# k) V- C$ C INTERNAL FEATURE ID 161
- d) A: S9 t: l l6 O" w PARENTS = 5(#3) 39(#5) " }3 n( o4 R+ K. f
CUT: Extrude r3 g: |1 N9 x
NO. ELEMENT NAME INFO STATUS
9 f6 ^1 _+ `/ P; f 1 Attributes One Side Defined" x+ d) E' `! ]0 K2 m9 G2 A! s
2 Section Sk. plane - Surface of feat #5 (PROTRUSION) Defined& D/ O4 n( C+ x' a9 A* q' K
3 MaterialSide Inside section Defined+ S* o7 b, W6 n( j$ a" H1 ]
4 Direction Defined: L, y" M, D) N, M. ?& E
5 Depth Through All Defined( h: r- {! H2 J0 `1 O; j. W
SECTION NAME = S2D0001
& F" l9 e: h9 O: g FEATURE IS IN LAYER(S) :
: ?! a% V/ A, n( t$ t5 b 02___PRT_ALL_AXES - OPERATION = SHOWN
4 D# x& ?8 C: `* z0 n; x 20_ALL_FEATURES - OPERATION = BLANKED
: Z# v8 l0 W) `9 {. \8 Q8 d- e 03_ALL_AXES - OPERATION = SHOWN& G5 l' F- {" ?" l2 c/ B; E5 K/ ?
FEATURE'S DIMENSIONS:; }% {" e* W- t; V! ~* b/ O
d14 = 38.1% ]" ^, u' t: G7 ~% W
d15 = 76.21 P, ~# B- `3 Q! Z+ }
d16 = 10.3
" ^1 n4 o3 E& M& e9 f l' L d17 = 13.5
J2 `/ A/ b6 e) g" Q' ? d18 = 10.3
! d* i( w. M, X d19 = 13.5+ O" H0 ?, }. A
d20 = 3.4R (weak)/ _3 [, D' v* ^ H# I
END ADD
( [" C. b6 t( B# r0 x END IF
, |/ ]$ N- N- ]$ ]' v 这部分关系式主要是控制侧耳上中间两个安装孔的显示与否:当D4>260时,显示安装孔特征,即侧耳上将有4个安装孔;否则,中间2个孔不显示(weak),即侧耳上只显示上下2个安装孔。
( o6 R6 B$ r5 ?$ O! D! l6 X5.2 各零件的Interchange; ~( H( Q" B0 q8 K
对各零件进行Interchange的目的是为了保证在装配体中,各零件能够按照各自的装配基准互相替换,而不影响整个装配件的生成。% \) l+ n* m6 i
5.3 创建Layout文件
9 {0 {8 D: V( P' ~. w Layout文件作为整个设计过程中的核心文件,它控制插箱组件中所有零件自身的特征,如外形尺寸的大小、Feature特征的有无等 ;同时还决定究竟采用哪个零件(Family Table中的Instance)来进行装配。
5 X3 s( d- X V5 i5 {) M 在设计Layout文件时,通常将其分成不同的页(sheets),每页侧重不同的内容,将所有的可变参数都设置在该文件中,并用简单的图形将参数的意义表达出来,以便于后续设计者理解、使用。' T* b ?/ ]( H2 Q- p& g* p }
在本设计中,Layout文件被分成5个不同的页面:第一页用来确定需要设计的插箱种类、高度和深度;第二页用来确定是否需要使用上下屏蔽网板以及屏蔽网板的类型、开孔情况;第三页用来确定插箱是否需要增加中间横梁以及前后横梁的截面形状;第四页用来确定插箱侧耳、侧板和导轨类型;第五页用来确定插箱导轨的数量,并计算、检验所有数据是否正确,数据输入是否完成。
! o# r2 |5 s* `/ L) S2 W2 @) D 如图4所示,为Layout文件的第一页,主要让设计者确定插箱的类型、高度、深度。( H/ T- z. v/ ?2 S
由于Layout文件在整个设计过程中的核心作用,因此在该文件中,应利用关系式和简短的C程序对设计中所遇到的所有参数、变量加以控制,并对它们之间的关系进行设定。通常在参数化设计中,Layout的设计以及所有参数之间关系式的设定是设计中的重点、难点,是参数化设计成败的关键所在!4 r) X3 W& H8 i+ K6 D
如下所示,两个循环语句决定了插箱的种类、侧耳的宽度以及所选用前梁的类型。0 g) c+ u1 p1 a3 W, m
HP=5.08% B2 g$ M% V4 _! n
U=44.45
8 N) ~% C: Q) H1 ]6 r1 w7 }if Subcrack_Type==1
0 H' [4 d0 C7 E _ mounting_flange_width=27.79
# ]* X* d. N: H* b SUBCRACK_WIDTH=431.8
8 L }! `3 T/ ?9 q9 Delse7 u4 C4 p9 k1 ]' U1 Q& a& d+ B; `5 Y
if Subcrack_Type==2
- _2 g) b; P' Z mounting_flange_width=25.25
; U! Q( |3 r1 m& \9 I SUBCRACK_WIDTH=563.88
: I% Z5 U' ^0 A0 welse
" K: B& d$ m% B warning_0="输入错误,请重新输入"
6 \7 D- ~3 o' ]1 O endif
w% \( U/ f# E' c) J; Aendif
6 |" p- a6 ?& U: Aif Front_Horizontal_Type==00 X3 z" w7 u. r/ T7 i0 K
NAME_01=Lookup_Inst("Front_Horizontal_Member.prt",0,"D2",SUBCRACK_WIDTH)1 f: Z1 l9 P, B7 |
Front_Horizontal_NAME=NAME_01
: P. V6 p8 X7 b5 sENDIF: q& h6 a' E9 k; o* j/ x3 _3 ^
图4 Layout文件第一页 5.4 建立Skeleton文件
; R# K7 b* N0 r; j% C) ]/ y 所谓Skeleton文件,是一种由点、线、面等组成的骨架文件,它可以包含所有零件的特征信息以及装配体中各零件的装配信息。在本例的设计中,为满足设计的需要,Skeleton文件仅仅只包含零件的装配信息。如图5所示,在实际的设计过程中,可以增加更多的基准面(Datum Plane),以及曲线(Curve)等,作为辅助的定位基准。1 W$ Z$ d2 Q) r" C% Q
图5 可增加更多基准面 5.5 建立*.asm文件
& J; ~, E- l8 i 建立好各零件的Part文件、Layout文件以及Skeleton文件后,将各零件以Skeleton上提供的面、线作为参考进行装配,组成插箱的装配文件,这样进行的目的是为了防止零件安装面意外修改而导致装配失败。: I4 I3 Q _. Q/ T& {) v
图6 插箱尺寸 所有的零件装配好后,再修改*.asm文件中的Program,确保Layout变化时,*.asm装配文件能找到具有正确文件名的零件Instance。以下为修改后的Program,注意括号内的文件名参数以及条件语句的使用。
( s! G) i4 F+ w( z( S2 H( R- [, NADD PART (REAR_HORIZONTAL_NAME)
* D" e, t# L9 ~7 T INTERNAL COMPONENT ID 59
! L; g- u9 {( E0 w$ y2 X3 E PARENTS = 43(#1) 6 Z3 W# @' t* c* v0 M5 U' U
END ADD7 r/ J K# |5 A0 m. t
IF HORIZONTAL_NUM==0
/ x9 ^/ j4 m. F! D4 m9 S ELSE
/ Q$ I' S6 a0 z, A# k7 U" W ADD PART (MIDDLE_HORIZONTAL_NAME)
0 |1 s+ E9 W \6 t8 n: v& Z INTERNAL COMPONENT ID 4954 H2 s" O& p7 ^
PARENTS = 43(#1)
, X* A' f& X1 z+ ]; ^( {1 X, E END ADD
# o- F6 W' S* e! r6 { ADD PART (MIDDLE_HORIZONTAL_NAME)
7 m8 C, r! ~2 X! |; U5 {* S5 ` INTERNAL COMPONENT ID 500. M U& s0 Y9 x' U$ [1 Q
END ADD
! Q6 |, T' {' @# p a: l END IF
) Y0 X; l, Z- A7 Z5.6 运行与调试
% L- z6 g, F, T- S, G/ j+ L 依次打开Layout文件、*.asm文件,按照Layout中的提示,输入参数值。若输入错误,系统将根据输入的值进行判断、计算,并给出相应的错误提示;若输入正确,系统将提示进行下一步的输入,直到最后一页最后一栏中出现“输入结束,请修改工程图,并完成设计”提示时,表明所有的参数输入符合标准,并能够生成正确的*.asm、*.drw文件。如图7所示。. o/ z0 b n3 O$ {+ b3 c" c& c1 x1 t
图7 运行、调试 5.7 完成设计
, X/ U$ f U# F( I% q 在Layout文件中完成所有输入后,只需重新生成*.asm文件,并修改一些与*.prt文件对应的*.drw文件,生成相应零部件的工程图,就可以完成所有的设计。
. v+ F! A' \. ~5 ^+ s5 N+ A6 结论' m& F( C: D+ s" B; \
采用参数化的模板以后,设计者在进行标准插箱的设计时,只需在Layout文件中按照提示进行参数的输入,就能完成设计,且所有的设计尺寸均按照IEC 60297的标准进行,减少了出错率,确保了设计尺寸的准确性,较大地提高了设计者的设计效率。
; a# f+ A6 p. ] Pro/ENGINEER软件由于具有面向对象的单一数据库和参数化设计的技术特点,因此,尤其适用于具有标准化、系列化特征的通信产品结构设计,如通用模块、标准插箱和标准机柜的结构设计等,可以极大地提高设计效率,缩短设计、研发周期,降低研发成本。总之,在实际的设计过程中,合理使用Pro/ENGINEER中的各功能模块,将给我们的设计带来极大的收获! |
|