愿意学习动态块制做的朋友,可以跟随本教程,通过制做一个内六角圆柱头螺钉块,初步掌握动态块的常用知识。; n" u$ x7 N5 W h) J+ }
我们本着由易到难的原则,先从最简单的单个规格入手,逐步丰富、完善它。3 X. s4 @4 a8 p1 S9 Q
(一)' B- I% j' Q) V& ^
这一步制做一个M10单一螺纹规格的简单内六角圆柱头螺钉,要求具有下图的功能
/ D& E8 n, t; U1 e/ r% `- f3 m! `( J1 w
0 W9 X6 P( ?6 @6 u) b) N/ S# T$ L) V: @! J0 t( u
. e3 I" ]9 i2 o' ?' _; ^
图2和表1是GB/T70.1标准中M10规格的主要数据" h: ?4 X, E& s* K9 @$ y5 T( R6 J
& Z) \9 Z& G( E- _8 U5 i$ l
! D& v- b9 Y. g& J+ I2 q4 z) P' ~4 D
( e7 c% P2 C$ G% J+ t. a) o
8 y0 e) l- ~+ @
4 w* Q" g$ Z `% w: j( U: C
; b, N- V' l: i' c4 f
1 q6 [( E+ W# E# P首先打开块编辑器,按下图示意画一个M10、L=60的螺钉(不要标注)。坐标原点就是块的基点。
8 C% ^1 `: K# F$ D. K' E J- p6 a
l4 w. U: r7 n0 o. K8 Z" `1 W! e( F% X0 d, Z6 y
. O4 a) ]; s- n2 R+ @; Y/ p4 f) j1 V) Y Q; F: _6 \
现在我们来分析一下:假如我们是在模型空间画这个图,现在需要修改螺钉的公称长度,用什么方法呢?当然是“拉伸”(STRETCH)命令。当公称长度大于40的时候,我们会选中螺纹的全部拉伸它;当公称长度小于或等于40的时候,由于螺纹有效长度不固定,就得用两次拉伸命令,分别拉伸螺杆的右端(包括完整的倒角部分)和螺纹的左侧末端。
& n$ y) L3 }* t4 @( }% N在动态块中也有类似的方法--“拉伸”动作。用“拉伸”动作分别拉伸螺杆的右端(包括完整的倒角部分)和螺纹的左侧末端,就可以实现我们的目的。
* s3 M9 f" [' k2 P) K, N先来设置对螺杆右端(包括完整的倒角部分)的拉伸。/ \ g# a: t' A
动态块的机理是这样的:在使用时,由用户通过操作某个参数的夹点改变其参数值,再由该“参数”指挥一个或几个甚至是一系列的“动作”,如果说用户是总经理的话,“参数”扮演着部门经理的角色。所以,在设置“拉伸”动作之前,我们要先为“拉伸”动作指定一个领导者--“参数”。
. B* v0 ^: F( k; H现在图面上还没有“参数”,我们就要从“块编写选项板”的“参数”选项卡(见图4)上挑选一个合适的参数并把它放到图面上。
+ c& V0 m# e+ r4 a1 M- O$ b5 w
1 @( u" s1 T2 N$ E6 i2 U" k" l" g5 `
2 u7 M2 V5 x5 {5 s$ w
1 `. ?: S A( ~! ]" ^+ J& t$ `. c% j) o6 h
“参数”选项卡有10个参数,用哪一个呢?告诉大家,可以用来指挥“拉伸”动作的参数有4个,分别是“点”、“线性”、“极轴”和“XY”。这其中,“线性”是只有一个“距离”参量、只能沿固定方向改变的参数,而其它三种参数都是内部有两个参量、能朝四面八方改变的。在这里,螺杆长度只需要一个长度参量就能解决问题,所以我们选用“线性”参数。; f+ W5 m6 n+ E* }5 o
在“块编写选项板”上点击“线性”参数,命令行提示“指定起点或 [名称(N)/标签(L)/链(C)/说明(D)/基点(B)/选项板(P)/值集(V)]”。先不管那些可选项(因为它们都可以根据需要在“特性”选项板上更改),把起点指定在坐标原点;再把端点指定在螺杆右端中间位置,如图5
# E6 a/ P5 [! Z$ @) c4 [
" P5 G, a$ n/ T# W, y& ^6 Q' B7 \% m' B* Q9 i" L
) h1 h- U( V, y7 l" C
' U7 c9 W$ Q, [: A$ O在用参数指挥“拉伸”动作时,参数也可以不像上图那样与图元放在一起(在本教程的后面会出现这种情况)。但那样做不直观。% j( X# V: r0 Z$ M, j
下面Ctrl+1打开“特性”选项板,选择已放好的“线性”参数,在“特性”选项板上修改它的属性。1、把“距离标签”改为“L10”,表示这是M10螺钉的螺杆长度线性参数;2、“夹点数”改为“1”,这是为了现在研究动态块,以后还要根据需要修改它。改好后取消选择,会看到参数变成图6的样子。
: ^% B5 |- ]2 V( {' s" V* Q: g! G6 H# x9 ~4 b2 {9 T! q
1 c1 @4 I( c2 S) w3 S$ i% B1 n. `# a1 n& o
' Z1 q5 p; T( j, k- t1 a4 I, r下面添加动作。双击“L10”参数,命令行提示“输入动作类型 [阵列(A)/移动(M)/缩放(S)/拉伸(T)]”,这些可选项都是可以用“线性”参数指挥的动作类型。选择“拉伸”动作,命令行提示“指定要与动作关联的参数点或输入 [起点(T)/第二点(S)] <起点>”。我们的目的是用参数第二个点的变化指挥“拉伸”动作,所以我们选择第二点。命令行提示“指定拉伸框架的第一个角点或 [圈交(CP)]”。这个拉伸框架与平时画图时使用“拉伸”(STRETCH)命令选择对象相似,被框架完全包围的图元对象将整体移动,里一半外一半的图元对象则是框架内的端点被移动、框架外的端点不动。不使用“圈交”选项,画出的框架是矩形的,使用“圈交”则是画出一个多边形框架。我们这里不必用圈交,直接画出矩形框架就可以,如图7
0 K9 F3 J$ H5 R% r- G e, Y% G, [ C- ?9 X1 U0 O7 D
6 l- W8 ?2 x/ [, a$ ~
) @, P6 k8 S, X1 g- p9 k
, x' P# d( I- T& f
框架画完后,命令行接着提示“选择对象”。和“拉伸”(STRETCH)命令不同的是,指定参与动作的对象是在这一步单独进行的。被选中添加到对象集的对象参与动作,没有被选择的对象即使被框架包围也与动作无关。选择对象的结果见图8
2 V! Z0 i6 F4 q. a: u/ Y3 E I4 S& Y) Q$ ~2 w) h
3 S% E! T d( Y7 h% M+ M, g0 l
/ r7 r. H1 p4 a2 m0 C! `7 l9 C9 D. ^8 \: M2 Y
确定后命令行接着提示“指定动作位置或 [乘数(M)/偏移(O)]”。“动作位置”与所做的动作没有关系,具体放到哪里只需保持图面整洁就行。“乘数”是指拉伸量与参数的变化量之间的比例关系,默认是1,这里不必修改。“偏移”是指拉伸方向与参数之间的夹角,默认是0,也就是同方向,这里也不必修改。这些选项都可以在“特性”选项板上修改。后面我们会见到乘数不是1,偏移也不是0的情况。0 {% ?5 f4 @5 s# e" F _4 t' V0 V: l
在“特性”选项板上把动作的名字改为“拉伸L10”,以与后面还要添加的大量其它动作相区别。添加好的动作见图9
/ N6 J' Y+ N' q. w; E6 O. l3 d% c9 h! y! b" I% ^: C
5 p- I) x% w+ S# V/ _7 C+ ?$ B7 i( L# I) F% P/ E! G$ b0 c# b3 O
0 \. _( o2 W5 a) e现在可以暂时关闭块编辑器并保存,然后在模型空间插入这个块的参照,操作夹点改变螺杆的长度,享受一下自己的劳动成果,顺便检查一下是否有错误。
2 i8 P1 r* z8 [ n4 B) ~0 s u
7 S, h! U9 e8 O- j) I. j: i下面继续设置对螺纹左侧末端的拉伸。
+ c% e, }4 c; J' I在“块编写选项板”的“参数集”选项卡(见图10)上点击“线性拉伸”! q3 h: w5 p7 B
, j, g5 K: p! o2 K) e Z" o+ U4 y
. [/ j% J5 f7 _# r0 \! [4 z0 ~ ?$ R7 y. d+ [
# J2 {' y" m! L像前面放置线性参数“L10”一样操作,结果见图11& ~, K! K1 r4 s2 \% T
- B/ [- K0 `* M* _5 K% B
0 k% D! J' ~4 [7 T
5 N6 n* `( Q9 {9 L- L9 M; `- Y" p0 w# M( ]; l1 ?% O) M$ W
“参数集”是CAD提供的一些常用的参数和动作的组合,在这里使用“线性拉伸”参数集可以省去改写夹点数量和指定关联参数点的步骤,因为“线性拉伸”参数集中的线性参数默认是一个夹点、随线性参数一起放置的拉伸动作默认与参数的第二个点关联。
. W6 Z7 T& a& `0 @0 r" o2 ^3 i把参数标签改为“Lg10”,把动作名改为“拉伸Lg10”,并用夹点编辑把动作“拉伸Lg10”拖放到合适的位置。见图12
; ^! u+ R3 k4 E, x0 `0 F3 d' Y. r. z+ R! a* n5 v5 t. n$ l F
% p% Y0 @ y m9 l1 M
& a8 w6 y7 R5 d3 @" B
我们注意到:“拉伸Lg10”的上面比“拉伸L10”多了一个惊叹号,这是因为它除了关联参数和关联点外还没有做其它必要的设置。下面设置动作“拉伸Lg10”的框架和对象集。
8 c/ f* w9 R8 D, Y0 \- P; }双击“拉伸Lg10”,命令行提示“指定拉伸框架的第一个角点或 [圈交(CP)]”。后面的步骤与“拉伸L10”的设置方法一样,设置好的“拉伸Lg10”见图13
$ B y% I' B/ P# D& B
" ?. G0 s# B/ b: ~$ P. p' d
7 E- t% h# Y# k( ?& c8 }2 E: y
( _( l$ r. I& G' s$ K
这里要特别指出的是,在动作“拉伸Lg10”的对象集中我们不能选择中心线和上下两条粗实线!这是“拉伸”动作与“拉伸”(STRETCH)命令最大的不同。在“拉伸”(STRETCH)命令中,如果一个图元对象所有的端点都未包含在选择范围里面,即使它被选择了,这个对象也不会动;而在“拉伸”动作中,如果一个图元对象完全在框架的外面,但它被添加进动作选择集了,那么这个对象也会被整体移动。* G7 X! ]' n( n( P& N5 p* y
设置动作和修改以前对动作的设置都可以用双击该动作的方法,对于拉伸动作,如果动作没有与参数关联,那么提示的第一个步骤将是选择参数和关联参数点;如果该动作已经与参数关联则直接开始设置框架;如果不想改变框架就“确定”跳过这一步,设置对象集:可以鼠标单击添加对象,也可以使用“删除”选项,鼠标单击从对象集中删除对象。/ M9 d" ?# [* h& D" C/ C
现在可以退出块编辑器试一下,我们已经可以随心所欲地拉伸螺纹的两端了。
. |% Z" b0 \* c& Q8 @- d/ W
( A5 I2 @4 R0 _" n但这并不是我们想要的结果。我们想拉伸出一个准确的长度,而不是随便一个什么长度。
/ `- i& W# R/ E5 O继续在块编辑器中编辑这个块。
w c$ |) L `6 j) l
- R' z0 C, H2 _; Z9 q0 O选择线性参数“L10”,在“特性”管理器中把它的“距离类型”改为“列表”,点击“距离值列表”右面的按钮(见图14): {* ?8 Q6 b$ J* r( `1 ?
. Z5 ^9 M# }! i/ _+ v2 J
8 z2 a) t9 z5 t$ Q3 y( G9 i
6 G' }5 H4 L$ T3 u0 Y
' _3 Q T/ H) W9 s- S' ?# p在弹出的“添加距离值”对话框中把表1的“公称长度L”的数值都添加进去,见图15& D5 c7 C) k7 H3 a0 ^6 f9 N
5 U7 z, {) a, `. Y9 t+ L4 V, v2 o2 m. h4 K- {
" ~. n7 M$ S' e5 u* C }! J
3 L: X8 A+ {4 h# Q再试一下动态块,长度L已经是按规定的数值拉伸了。; F. j7 k& D2 O) [7 W+ P
我们完全可以把表1中Lg的长度也添加到线性参数“Lg10”的距离列表中,让它也按规定数值拉伸。但这仍然不是我们要的最终结果,我们想让两个参数同步变化。
( c% t5 B- q* d6 _! ~
. _" R+ u$ K3 H4 A( Z( e控制几个参数同步变化的方法是使用“查寻”。) a1 \, a/ e8 w6 ?6 ~0 Y6 }
我们先把现有的两个线性参数的夹点数改为“0”--既然可以用其它方法改变参数,夹点就不需要了(其实距离列表也不需要了)。
5 ~+ ~4 b, d) m* c, Y4 |7 \( O在“参数集”选项卡上点击“查寻集”,放到图16的位置0 S0 l, ]6 n5 _& p) q* T
$ {0 p5 R& t1 @7 d- A) G
# l0 a% `6 ?2 `6 K& X, o- `3 P, C
@' S5 S/ C. ~ S- S
0 m5 s9 q: ^8 y4 J. \" @. T- A把“查寻”参数的标签和“查寻1”动作的名字都改为“查寻10”。双击查寻动作,弹出“特性查寻表”对话框。见图17
1 e( x. E* L) f1 V2 i2 b% B2 L0 p8 q0 Q* B/ j6 L% N& Z4 y
q6 M; q* H! @/ J' I% [! g) [
) g' r. X# L! L2 V) u" u2 X' }# n2 j6 g, p
单击“添加特性”按钮,弹出“添加参数特性”对话框,见图18
, j g; D) w$ {9 O: A4 q8 J# k. Q% X4 a4 l
1 Z5 Z. p% V9 R* E$ ~0 q3 H/ v' Z; S3 c) ?3 `
3 G5 I) ]/ ~! J" C“参数特性”列表支持多选,可以一次性把两个参数都添加进来。确定后回到“特性查寻表”对话框,输入表1数据,见图19) v. f5 R9 p$ O. o0 Q
z: z Q7 O* R* I `1 c; ? l( ?3 c0 w' Z/ g3 _0 m
+ \8 g) F. B; l: e% M
6 {( I5 {. z" y0 Y7 i# D* Y$ w左面两列分别是两个线性参数的值,右面一列是“查寻”参数将要生成的弹出菜单上的菜单项。, r" l+ v5 h4 ~ Y7 o& F$ t
再试一下这个块,已经可以用弹出菜单控制两个参数同步变化了。但美中不足的是,夹点不会随着螺钉的右端一起动,显得孤零零的不好看。: R; Y; Z+ u/ l0 I' M) S6 l
; x2 Q* v4 p& M再次编辑这个块。双击拉伸动作“拉伸L10”编辑该动作,“确定”跳过框架这一步,单击查寻参数的文字部分--注意不是夹点--把它添加到对象集,见图5 D/ N; a: Z, E
# v j' e: F2 n l* }( j5 P6 g* A! N! }9 k% }* f
20
; A, [0 E X4 v+ R) B) s8 U; ]) b5 f- J% v- `8 q+ E& y/ I
这个只有M10一种螺纹的、图形被简化了的简单动态块就算完成了。
) @9 L; u' v# {/ @在教程(二)中我们继续完善它。9 Y$ j$ F! p2 i' j# y: a" h; Z
- P( I+ I, u$ ]5 K/ x- o! u[ 本帖最后由 007 于 2008-12-27 13:03 编辑 ] |