愿意学习动态块制做的朋友,可以跟随本教程,通过制做一个内六角圆柱头螺钉块,初步掌握动态块的常用知识。) K3 X" D+ P/ Y
我们本着由易到难的原则,先从最简单的单个规格入手,逐步丰富、完善它。/ [* s, J2 {# f9 L& T6 X" o& Y& s
(一)) [3 U/ q2 J( g) ^; l2 ?
这一步制做一个M10单一螺纹规格的简单内六角圆柱头螺钉,要求具有下图的功能
: z; n. w5 M8 B' r9 [6 Z* w+ ]! \' G
( f+ X" R) t) ]" M' v. y6 [* y
5 @8 N- b, Y8 Q$ I+ K! E h% _; ~1 [ z$ I& X( F8 _1 n
图2和表1是GB/T70.1标准中M10规格的主要数据: |2 o" |# D. s. q
8 h: ^3 P( M" {
5 _: d4 ~( Y; E4 h; H, g; d( Y9 @, E0 Q
. A6 G0 E% c* ~: X9 B
& n4 H3 C; }" L& n& X( Q! }+ t. j$ d8 s1 c" w
1 t4 r5 k8 ?9 P8 d; [+ I
. M& O9 R7 f% @1 f9 N
首先打开块编辑器,按下图示意画一个M10、L=60的螺钉(不要标注)。坐标原点就是块的基点。
. _( X# T8 e8 D1 O4 X2 L- ^
! L6 o n/ v& {% d
W6 d J" f6 K ~
, z" T/ z' n, f- p) [! a w& H8 K9 p% k6 F# g; q
现在我们来分析一下:假如我们是在模型空间画这个图,现在需要修改螺钉的公称长度,用什么方法呢?当然是“拉伸”(STRETCH)命令。当公称长度大于40的时候,我们会选中螺纹的全部拉伸它;当公称长度小于或等于40的时候,由于螺纹有效长度不固定,就得用两次拉伸命令,分别拉伸螺杆的右端(包括完整的倒角部分)和螺纹的左侧末端。
- M6 s' ~- u X- \8 U% s, }; G9 i# ~" a在动态块中也有类似的方法--“拉伸”动作。用“拉伸”动作分别拉伸螺杆的右端(包括完整的倒角部分)和螺纹的左侧末端,就可以实现我们的目的。) s! t' `: _$ Y! V1 t" U
先来设置对螺杆右端(包括完整的倒角部分)的拉伸。+ i9 E. q8 A) Y, z) N
动态块的机理是这样的:在使用时,由用户通过操作某个参数的夹点改变其参数值,再由该“参数”指挥一个或几个甚至是一系列的“动作”,如果说用户是总经理的话,“参数”扮演着部门经理的角色。所以,在设置“拉伸”动作之前,我们要先为“拉伸”动作指定一个领导者--“参数”。5 q4 Q, g+ L/ ]5 j% u
现在图面上还没有“参数”,我们就要从“块编写选项板”的“参数”选项卡(见图4)上挑选一个合适的参数并把它放到图面上。0 @2 U- S) u4 c1 ~7 U$ r& W
) f5 u J1 H6 R t+ o$ P* U
# N( M6 {9 x1 J4 e9 A, k
, ?6 d4 J n" j5 J% ~/ f8 E1 d/ n, [/ |6 W/ d
“参数”选项卡有10个参数,用哪一个呢?告诉大家,可以用来指挥“拉伸”动作的参数有4个,分别是“点”、“线性”、“极轴”和“XY”。这其中,“线性”是只有一个“距离”参量、只能沿固定方向改变的参数,而其它三种参数都是内部有两个参量、能朝四面八方改变的。在这里,螺杆长度只需要一个长度参量就能解决问题,所以我们选用“线性”参数。8 O3 t0 J! q. j8 H9 n9 v
在“块编写选项板”上点击“线性”参数,命令行提示“指定起点或 [名称(N)/标签(L)/链(C)/说明(D)/基点(B)/选项板(P)/值集(V)]”。先不管那些可选项(因为它们都可以根据需要在“特性”选项板上更改),把起点指定在坐标原点;再把端点指定在螺杆右端中间位置,如图5# E4 G' l- z6 g- I
8 J" ]" K, M; t: ?! N
+ h& Y! v. s: Y! Y# I
" a. D4 I/ [$ R! c x+ u9 I2 p7 E
$ P A# A! w! [; b% l在用参数指挥“拉伸”动作时,参数也可以不像上图那样与图元放在一起(在本教程的后面会出现这种情况)。但那样做不直观。: e% G U0 i, Y5 s
下面Ctrl+1打开“特性”选项板,选择已放好的“线性”参数,在“特性”选项板上修改它的属性。1、把“距离标签”改为“L10”,表示这是M10螺钉的螺杆长度线性参数;2、“夹点数”改为“1”,这是为了现在研究动态块,以后还要根据需要修改它。改好后取消选择,会看到参数变成图6的样子。
& C- `: p2 W9 q$ s3 @9 T- W
2 f: ?% t4 |9 |5 n5 l8 }# i7 T
! l; @: p2 ]3 P7 t( r# `5 m, W1 n
& j S: q R6 h% G3 D2 T k6 G; |0 k: t+ ~; s7 J* a
下面添加动作。双击“L10”参数,命令行提示“输入动作类型 [阵列(A)/移动(M)/缩放(S)/拉伸(T)]”,这些可选项都是可以用“线性”参数指挥的动作类型。选择“拉伸”动作,命令行提示“指定要与动作关联的参数点或输入 [起点(T)/第二点(S)] <起点>”。我们的目的是用参数第二个点的变化指挥“拉伸”动作,所以我们选择第二点。命令行提示“指定拉伸框架的第一个角点或 [圈交(CP)]”。这个拉伸框架与平时画图时使用“拉伸”(STRETCH)命令选择对象相似,被框架完全包围的图元对象将整体移动,里一半外一半的图元对象则是框架内的端点被移动、框架外的端点不动。不使用“圈交”选项,画出的框架是矩形的,使用“圈交”则是画出一个多边形框架。我们这里不必用圈交,直接画出矩形框架就可以,如图7
# k& E8 W3 L1 H9 D8 Q" o, C" H4 {$ _/ C* F9 B
4 @0 p% ^1 K8 n: H; Z G
& s# y$ q# b7 d0 ^. ?' H/ s" M9 c5 p _9 U8 M$ w
框架画完后,命令行接着提示“选择对象”。和“拉伸”(STRETCH)命令不同的是,指定参与动作的对象是在这一步单独进行的。被选中添加到对象集的对象参与动作,没有被选择的对象即使被框架包围也与动作无关。选择对象的结果见图8
5 i, u: M1 s3 H$ O+ E$ ^* z' [1 q. W) Q8 z! m5 G% r
& _- M% F8 g% C# _' ?' F2 S7 q
+ Q4 g4 o, H G$ |; p3 ?9 a" }! g
3 \. j) [" {7 B确定后命令行接着提示“指定动作位置或 [乘数(M)/偏移(O)]”。“动作位置”与所做的动作没有关系,具体放到哪里只需保持图面整洁就行。“乘数”是指拉伸量与参数的变化量之间的比例关系,默认是1,这里不必修改。“偏移”是指拉伸方向与参数之间的夹角,默认是0,也就是同方向,这里也不必修改。这些选项都可以在“特性”选项板上修改。后面我们会见到乘数不是1,偏移也不是0的情况。, f' u- u# ]) U2 l# t9 H. w
在“特性”选项板上把动作的名字改为“拉伸L10”,以与后面还要添加的大量其它动作相区别。添加好的动作见图98 h# D8 U3 t1 F; G) k" r2 ~" t
' m3 o: S, _$ p4 }) Q% a
2 O) {& ]( B+ b k! R7 ~9 |
0 k2 a7 r4 h w/ d& K7 w# E! B: k) [# N6 I) v/ U
现在可以暂时关闭块编辑器并保存,然后在模型空间插入这个块的参照,操作夹点改变螺杆的长度,享受一下自己的劳动成果,顺便检查一下是否有错误。% C d" k0 H- A& i+ X1 c4 U% H: t/ b
1 `9 \* y H7 D. J下面继续设置对螺纹左侧末端的拉伸。
5 Q( {) n* ?7 F( P在“块编写选项板”的“参数集”选项卡(见图10)上点击“线性拉伸”
' ?7 r1 G$ V# H+ s
j1 z# ?! D- Q9 d
; C L6 ~( N6 P" r8 G0 o. o) \9 @' a% a. Z5 P" i! m# Q D; y
6 U/ w% C8 U" ]8 O& l
像前面放置线性参数“L10”一样操作,结果见图11
R) X' B! f4 `/ S
9 D9 s$ c v. `$ O( a% C$ E
, g+ Y3 x6 I! G; [7 u# [9 U9 C. r: p9 T0 H1 O, H; b
1 J, ~8 F: ~' U# j5 s“参数集”是CAD提供的一些常用的参数和动作的组合,在这里使用“线性拉伸”参数集可以省去改写夹点数量和指定关联参数点的步骤,因为“线性拉伸”参数集中的线性参数默认是一个夹点、随线性参数一起放置的拉伸动作默认与参数的第二个点关联。
3 V) [ F: z- T1 B' { f- }把参数标签改为“Lg10”,把动作名改为“拉伸Lg10”,并用夹点编辑把动作“拉伸Lg10”拖放到合适的位置。见图12
& w+ b) |3 X% j" Q1 T& p/ m' S1 o$ F" t1 Q( ~* J
! G, u7 t0 c7 z! T! M) a" w. T# E+ n8 S5 C
我们注意到:“拉伸Lg10”的上面比“拉伸L10”多了一个惊叹号,这是因为它除了关联参数和关联点外还没有做其它必要的设置。下面设置动作“拉伸Lg10”的框架和对象集。! ~* T# U3 ]) z% o& {1 [! I; @( L6 ]
双击“拉伸Lg10”,命令行提示“指定拉伸框架的第一个角点或 [圈交(CP)]”。后面的步骤与“拉伸L10”的设置方法一样,设置好的“拉伸Lg10”见图130 t. F+ K6 C0 U/ ?% E& z) u
4 R* [1 O& B: ^+ i! n- |
, K: z; n# f- r- v! _5 A6 U+ T4 N
) a: Q! x, m, l t/ h
这里要特别指出的是,在动作“拉伸Lg10”的对象集中我们不能选择中心线和上下两条粗实线!这是“拉伸”动作与“拉伸”(STRETCH)命令最大的不同。在“拉伸”(STRETCH)命令中,如果一个图元对象所有的端点都未包含在选择范围里面,即使它被选择了,这个对象也不会动;而在“拉伸”动作中,如果一个图元对象完全在框架的外面,但它被添加进动作选择集了,那么这个对象也会被整体移动。
2 _# k& O' N+ d7 x( b* X) P/ o. {1 L设置动作和修改以前对动作的设置都可以用双击该动作的方法,对于拉伸动作,如果动作没有与参数关联,那么提示的第一个步骤将是选择参数和关联参数点;如果该动作已经与参数关联则直接开始设置框架;如果不想改变框架就“确定”跳过这一步,设置对象集:可以鼠标单击添加对象,也可以使用“删除”选项,鼠标单击从对象集中删除对象。
" p i5 T/ Y$ v6 l/ }8 w- M现在可以退出块编辑器试一下,我们已经可以随心所欲地拉伸螺纹的两端了。
, r3 E z+ u/ ^, T, p0 ?, ^2 j; k+ e+ @6 p2 G8 r W, x; U
但这并不是我们想要的结果。我们想拉伸出一个准确的长度,而不是随便一个什么长度。
f% z9 j2 J4 ~/ V G- F8 y4 G继续在块编辑器中编辑这个块。
& {( i) R& J; f* z' M+ a4 d" o# m# V4 R- ?
选择线性参数“L10”,在“特性”管理器中把它的“距离类型”改为“列表”,点击“距离值列表”右面的按钮(见图14)
{: P/ O. n9 v; L: L8 g4 K! B
4 v" F# E, Y% v+ k; t4 e F5 G1 H# L! y0 n! s/ F7 y- I: m
P8 [' t( O+ Q& A! L/ t N
/ Q# ?' w# A- N: C在弹出的“添加距离值”对话框中把表1的“公称长度L”的数值都添加进去,见图15+ Y' m5 U, @: u9 `7 c$ |; I
0 O( _) [! S1 P0 ^/ ~6 Y0 u! i0 q3 r( {1 W5 h! J* E+ G2 `
& s/ k! {- m k) ?9 i/ R. M
# R* T8 t. {2 ~) {) S再试一下动态块,长度L已经是按规定的数值拉伸了。" _1 O1 L+ k# e% w
我们完全可以把表1中Lg的长度也添加到线性参数“Lg10”的距离列表中,让它也按规定数值拉伸。但这仍然不是我们要的最终结果,我们想让两个参数同步变化。6 W! h# p' Z% Y$ e1 O% F7 m$ J
( G! Q' n, |5 n6 P+ ?- H- v/ C( E
控制几个参数同步变化的方法是使用“查寻”。
* D- J; @5 U- k# H; ?我们先把现有的两个线性参数的夹点数改为“0”--既然可以用其它方法改变参数,夹点就不需要了(其实距离列表也不需要了)。
5 ]0 M% J: a v, T在“参数集”选项卡上点击“查寻集”,放到图16的位置
) s% J& X6 Y/ y- u/ I) M
# ^, T$ R) U, s8 x- B) M
& J/ m( t$ | j( \1 C; ?, d
( H; k3 s! R% `9 i* v
, H6 l' V8 c3 k9 U$ U% d把“查寻”参数的标签和“查寻1”动作的名字都改为“查寻10”。双击查寻动作,弹出“特性查寻表”对话框。见图17
* R! J! s7 C) X, b# i
& z, Q; d, p( g
% \; B0 O: L, k9 G8 C
: d% ~2 {. }& S+ ]1 g* }7 u" W( N7 t, ]
单击“添加特性”按钮,弹出“添加参数特性”对话框,见图185 r) X3 o R) K4 l+ Q
; |" F# H- h+ w+ X2 _! l) {2 d4 v2 V7 N7 x
1 p3 }6 w: R; U$ [9 a8 x
* {; \) l; Y+ l“参数特性”列表支持多选,可以一次性把两个参数都添加进来。确定后回到“特性查寻表”对话框,输入表1数据,见图19: |# e! |6 }5 ?! e2 N5 I7 F& p4 a
9 ~% g- l. G! Y+ ~4 `: A
/ J( A" ~2 W0 N( p0 @& J7 i. }+ x0 `
3 t0 X: U7 H2 i4 v G8 |
左面两列分别是两个线性参数的值,右面一列是“查寻”参数将要生成的弹出菜单上的菜单项。$ r' W4 Z1 B/ z5 o" h1 [
再试一下这个块,已经可以用弹出菜单控制两个参数同步变化了。但美中不足的是,夹点不会随着螺钉的右端一起动,显得孤零零的不好看。& g" G9 }# i/ E7 G0 V
0 B# }; F9 U( {/ _5 D& k: Z
再次编辑这个块。双击拉伸动作“拉伸L10”编辑该动作,“确定”跳过框架这一步,单击查寻参数的文字部分--注意不是夹点--把它添加到对象集,见图
+ Q( V% \' t& Y w% {! {$ }' B
2 O% L6 p6 J+ d8 ^' Q* |- }' V. O' P; k) _& }! L0 M! D
20
, w: q! _% \4 q9 C1 J. S- @9 h x
这个只有M10一种螺纹的、图形被简化了的简单动态块就算完成了。! K, O2 M" ^, m- ~4 ?! @; N! T4 R
在教程(二)中我们继续完善它。8 x% f% |5 v0 A {1 G7 K- y/ i
* V# G; e" Y3 r6 t2 @' `[ 本帖最后由 007 于 2008-12-27 13:03 编辑 ] |