愿意学习动态块制做的朋友,可以跟随本教程,通过制做一个内六角圆柱头螺钉块,初步掌握动态块的常用知识。4 u! G% P- i( i9 X
我们本着由易到难的原则,先从最简单的单个规格入手,逐步丰富、完善它。, z( ]' L `9 p
(一)
+ u: n1 Q3 S M% \+ D$ U这一步制做一个M10单一螺纹规格的简单内六角圆柱头螺钉,要求具有下图的功能
5 I# J& {# i1 Z
: M, y1 X1 X' P/ b$ F- l1 ^; A$ r" p4 I
# k" {" r' K7 \) P) v6 G
( q( ]. Q2 w7 L. x9 \0 \4 l图2和表1是GB/T70.1标准中M10规格的主要数据& D q! M$ f5 E3 h( O
( [: V3 l5 M5 O
' {0 V2 Z# h: x5 D* V9 z( F/ T+ W9 n/ I; i- ?. f* s
8 A I2 v, R! K% j1 i
* I, M; H2 r/ \! L( m$ t; e+ ]& \
& V$ u3 h5 I, G5 g+ L- ~8 e. b: B: G+ X4 y: `/ v
9 l$ q+ R, V5 {8 k
首先打开块编辑器,按下图示意画一个M10、L=60的螺钉(不要标注)。坐标原点就是块的基点。
; E' Q: }! V8 l5 h/ w0 A4 ~: q2 y0 {; ~. F' a: t6 D
" F0 h0 ]: T$ x8 | I
' r7 t' X2 T5 y
' R J3 N+ O: u" D0 h; D现在我们来分析一下:假如我们是在模型空间画这个图,现在需要修改螺钉的公称长度,用什么方法呢?当然是“拉伸”(STRETCH)命令。当公称长度大于40的时候,我们会选中螺纹的全部拉伸它;当公称长度小于或等于40的时候,由于螺纹有效长度不固定,就得用两次拉伸命令,分别拉伸螺杆的右端(包括完整的倒角部分)和螺纹的左侧末端。$ ]0 [, c! r* C- s5 E
在动态块中也有类似的方法--“拉伸”动作。用“拉伸”动作分别拉伸螺杆的右端(包括完整的倒角部分)和螺纹的左侧末端,就可以实现我们的目的。% @: B8 E: s; q
先来设置对螺杆右端(包括完整的倒角部分)的拉伸。2 i8 p/ ]7 {* s9 D4 e
动态块的机理是这样的:在使用时,由用户通过操作某个参数的夹点改变其参数值,再由该“参数”指挥一个或几个甚至是一系列的“动作”,如果说用户是总经理的话,“参数”扮演着部门经理的角色。所以,在设置“拉伸”动作之前,我们要先为“拉伸”动作指定一个领导者--“参数”。5 A( V2 |5 y4 [2 C
现在图面上还没有“参数”,我们就要从“块编写选项板”的“参数”选项卡(见图4)上挑选一个合适的参数并把它放到图面上。. A; D4 X7 b8 M
' d* o5 }% @8 p- }9 r+ Q. J+ x! t( m! Q) z( J0 C- `
* v! ^* F: z( u& G3 t
4 Y1 t: b# U$ e: d! |“参数”选项卡有10个参数,用哪一个呢?告诉大家,可以用来指挥“拉伸”动作的参数有4个,分别是“点”、“线性”、“极轴”和“XY”。这其中,“线性”是只有一个“距离”参量、只能沿固定方向改变的参数,而其它三种参数都是内部有两个参量、能朝四面八方改变的。在这里,螺杆长度只需要一个长度参量就能解决问题,所以我们选用“线性”参数。
' P% Q: I6 V- t- C3 F/ \在“块编写选项板”上点击“线性”参数,命令行提示“指定起点或 [名称(N)/标签(L)/链(C)/说明(D)/基点(B)/选项板(P)/值集(V)]”。先不管那些可选项(因为它们都可以根据需要在“特性”选项板上更改),把起点指定在坐标原点;再把端点指定在螺杆右端中间位置,如图5, A2 @/ |) I( |7 n
* ?% O1 y! _3 N, D" T$ w( B$ ~
* {4 `6 S7 T) \5 P4 d/ s0 ]
4 _: F& E. `7 M/ H# O" k/ t4 O; N+ N. M: A9 E0 T5 \
在用参数指挥“拉伸”动作时,参数也可以不像上图那样与图元放在一起(在本教程的后面会出现这种情况)。但那样做不直观。
: S9 \5 J8 h1 x) g: _ E. ?下面Ctrl+1打开“特性”选项板,选择已放好的“线性”参数,在“特性”选项板上修改它的属性。1、把“距离标签”改为“L10”,表示这是M10螺钉的螺杆长度线性参数;2、“夹点数”改为“1”,这是为了现在研究动态块,以后还要根据需要修改它。改好后取消选择,会看到参数变成图6的样子。
9 H) I8 k2 t: b& R: p9 o( @- I& J5 T- t
1 X0 w2 ]8 a/ W8 s+ g& _
8 B) D! _* n1 D, r% q7 k
) d5 a+ v g- v, i$ E下面添加动作。双击“L10”参数,命令行提示“输入动作类型 [阵列(A)/移动(M)/缩放(S)/拉伸(T)]”,这些可选项都是可以用“线性”参数指挥的动作类型。选择“拉伸”动作,命令行提示“指定要与动作关联的参数点或输入 [起点(T)/第二点(S)] <起点>”。我们的目的是用参数第二个点的变化指挥“拉伸”动作,所以我们选择第二点。命令行提示“指定拉伸框架的第一个角点或 [圈交(CP)]”。这个拉伸框架与平时画图时使用“拉伸”(STRETCH)命令选择对象相似,被框架完全包围的图元对象将整体移动,里一半外一半的图元对象则是框架内的端点被移动、框架外的端点不动。不使用“圈交”选项,画出的框架是矩形的,使用“圈交”则是画出一个多边形框架。我们这里不必用圈交,直接画出矩形框架就可以,如图7
; c B( P8 R7 o1 ^; R% n, W" T2 w( M
3 d- m, f: Q; S( Z
$ S' N1 a9 H5 o' V
$ F" U! O) Z d+ G3 w; V
框架画完后,命令行接着提示“选择对象”。和“拉伸”(STRETCH)命令不同的是,指定参与动作的对象是在这一步单独进行的。被选中添加到对象集的对象参与动作,没有被选择的对象即使被框架包围也与动作无关。选择对象的结果见图8
* z0 C6 ^% \' B5 K* f! @3 q1 F( C% a* m$ {) C
6 x2 A' O3 M* B9 W- A' S# N$ l6 t4 a- a, o; k" T- [9 p% t
" E# F! r% m: H9 n; m3 K" G
确定后命令行接着提示“指定动作位置或 [乘数(M)/偏移(O)]”。“动作位置”与所做的动作没有关系,具体放到哪里只需保持图面整洁就行。“乘数”是指拉伸量与参数的变化量之间的比例关系,默认是1,这里不必修改。“偏移”是指拉伸方向与参数之间的夹角,默认是0,也就是同方向,这里也不必修改。这些选项都可以在“特性”选项板上修改。后面我们会见到乘数不是1,偏移也不是0的情况。
$ H, v! H1 \2 ?9 S在“特性”选项板上把动作的名字改为“拉伸L10”,以与后面还要添加的大量其它动作相区别。添加好的动作见图9$ [: N7 C) J( n+ @# J J/ x
3 r& [; h$ [! W+ s# B( v
: @6 @8 O' J2 q' g0 R$ t7 M" l) ?2 y* {; A8 V, `, l, h9 @
6 O4 B7 M7 t) y现在可以暂时关闭块编辑器并保存,然后在模型空间插入这个块的参照,操作夹点改变螺杆的长度,享受一下自己的劳动成果,顺便检查一下是否有错误。) [% B; J1 ]/ b! H+ ]5 _9 c
4 N& u, `! v2 Z/ [- W8 t. B下面继续设置对螺纹左侧末端的拉伸。
1 R. Y0 j! A$ _在“块编写选项板”的“参数集”选项卡(见图10)上点击“线性拉伸”
, X* J+ C. V5 w* e' |7 q7 p% \, c ^
7 g. R' d2 r% j( B* C; h/ z- S# @# P$ Q4 z% P% p
4 O4 [7 q' E3 y. e6 T1 z) o1 d
9 }: Y5 f9 [5 n* t& w/ Q! m% y9 a0 l像前面放置线性参数“L10”一样操作,结果见图11$ d2 n! d4 O, A# M; V. d7 w
" t: F% H! C% v
@7 O1 P6 N0 }8 A- A( k& i, ^( c5 V7 z b. P A8 @
3 N: m. u: j& a( W( b5 a. e
“参数集”是CAD提供的一些常用的参数和动作的组合,在这里使用“线性拉伸”参数集可以省去改写夹点数量和指定关联参数点的步骤,因为“线性拉伸”参数集中的线性参数默认是一个夹点、随线性参数一起放置的拉伸动作默认与参数的第二个点关联。
$ y2 t" W4 h# b7 U& L' r [& l把参数标签改为“Lg10”,把动作名改为“拉伸Lg10”,并用夹点编辑把动作“拉伸Lg10”拖放到合适的位置。见图12
9 f- x. A0 c0 R% `) g9 {% K
8 p. z. g% W" k6 |; t0 {' v8 Z* G2 l& `! k$ p; M1 ?: O
2 o- c, p$ F" @+ P% f, Y. B9 q
我们注意到:“拉伸Lg10”的上面比“拉伸L10”多了一个惊叹号,这是因为它除了关联参数和关联点外还没有做其它必要的设置。下面设置动作“拉伸Lg10”的框架和对象集。
& t! k" h6 D o9 i, [- D$ Q' a双击“拉伸Lg10”,命令行提示“指定拉伸框架的第一个角点或 [圈交(CP)]”。后面的步骤与“拉伸L10”的设置方法一样,设置好的“拉伸Lg10”见图13
0 o* H& P0 r/ m, t. c% Q1 c% o& l
! H9 i, _) k3 i. e/ i: u* X8 Z8 L' y
0 m; e9 ]* K' X/ k9 z# ?2 Q0 I0 v$ b. B. y. S, J6 k
这里要特别指出的是,在动作“拉伸Lg10”的对象集中我们不能选择中心线和上下两条粗实线!这是“拉伸”动作与“拉伸”(STRETCH)命令最大的不同。在“拉伸”(STRETCH)命令中,如果一个图元对象所有的端点都未包含在选择范围里面,即使它被选择了,这个对象也不会动;而在“拉伸”动作中,如果一个图元对象完全在框架的外面,但它被添加进动作选择集了,那么这个对象也会被整体移动。# c. C) c! C; X& `) G' R; d% E/ H( N
设置动作和修改以前对动作的设置都可以用双击该动作的方法,对于拉伸动作,如果动作没有与参数关联,那么提示的第一个步骤将是选择参数和关联参数点;如果该动作已经与参数关联则直接开始设置框架;如果不想改变框架就“确定”跳过这一步,设置对象集:可以鼠标单击添加对象,也可以使用“删除”选项,鼠标单击从对象集中删除对象。* L S8 } L7 Y# t( ~
现在可以退出块编辑器试一下,我们已经可以随心所欲地拉伸螺纹的两端了。# t( Q' _( S3 s5 d1 v; C% K
& z5 W, W9 M+ d5 D& r+ W5 s
但这并不是我们想要的结果。我们想拉伸出一个准确的长度,而不是随便一个什么长度。
# y" @# G2 [ i J- m继续在块编辑器中编辑这个块。( W; U6 a4 n( x2 \4 I V( ^1 \3 A
3 u6 ^6 W$ J/ k& X
选择线性参数“L10”,在“特性”管理器中把它的“距离类型”改为“列表”,点击“距离值列表”右面的按钮(见图14)5 r) W* M2 M. G$ v( _0 M
8 x( J1 A9 u) _8 R6 m
- a" a( [$ k0 w
! W+ F w- {8 d2 B1 }
7 ~8 w) j3 q1 o' r1 r% s1 y在弹出的“添加距离值”对话框中把表1的“公称长度L”的数值都添加进去,见图158 I+ V& p/ g1 ]
7 ~3 C6 G1 n, G) c
' [3 c! I" s8 @8 c+ G0 ], q( ^6 H, p2 T# }& h8 f5 Z
" d3 a7 d! z! x# e% t再试一下动态块,长度L已经是按规定的数值拉伸了。
! |3 L! E, a5 F6 M, f8 Y6 X我们完全可以把表1中Lg的长度也添加到线性参数“Lg10”的距离列表中,让它也按规定数值拉伸。但这仍然不是我们要的最终结果,我们想让两个参数同步变化。" \' g) D- N) d4 z" G* {
. c: F. H+ c' r% m
控制几个参数同步变化的方法是使用“查寻”。
3 N Y# @' S; g; x. a% {2 }1 G我们先把现有的两个线性参数的夹点数改为“0”--既然可以用其它方法改变参数,夹点就不需要了(其实距离列表也不需要了)。, v1 z6 K" p- C
在“参数集”选项卡上点击“查寻集”,放到图16的位置/ s! f; ]/ m) l- s% [5 G
/ j+ E" b) U; N+ `4 @# _& K8 [" L; h" H
: ?# ~0 \) M$ N2 r: t# ]/ y1 [ ]' \" @
0 {. ?! `/ I- W9 |) [3 P& U) w把“查寻”参数的标签和“查寻1”动作的名字都改为“查寻10”。双击查寻动作,弹出“特性查寻表”对话框。见图17
9 h J0 [) s3 M% U( r3 a8 t
$ C0 u8 s+ F& }) G5 o! Q7 f$ c7 ^. v& ?7 k
z* @# V* a3 D! @* E2 O D4 |( X5 h" y
单击“添加特性”按钮,弹出“添加参数特性”对话框,见图188 L/ [3 t/ x4 Y `+ |' }7 S
0 A$ q. W6 w& Z- l3 j) j! X4 z6 F* X6 z
. q) z" u+ _, d) ]/ b/ u$ L" F! p
! F8 e/ W: h# q( l" w“参数特性”列表支持多选,可以一次性把两个参数都添加进来。确定后回到“特性查寻表”对话框,输入表1数据,见图19; m: o9 x" U! z1 y4 c8 G
3 o+ D$ }8 q0 D0 S
. \ ]# _* Y% E/ v: N( R
) {) W3 h" p2 }$ D
' L1 Y* O; N+ |2 ?- i/ B' u: b
左面两列分别是两个线性参数的值,右面一列是“查寻”参数将要生成的弹出菜单上的菜单项。
$ d8 v) I( Y6 Y% ?* w* j _再试一下这个块,已经可以用弹出菜单控制两个参数同步变化了。但美中不足的是,夹点不会随着螺钉的右端一起动,显得孤零零的不好看。$ i. ~0 a; @, C7 K P5 f4 s3 B6 N
% k9 m( B9 d4 [! |; b再次编辑这个块。双击拉伸动作“拉伸L10”编辑该动作,“确定”跳过框架这一步,单击查寻参数的文字部分--注意不是夹点--把它添加到对象集,见图
( S5 c# b: V$ L& m$ q/ H: f/ _5 r( Z9 J9 ~ y
, o1 r+ w% i# q$ b( n
20/ W1 ?) d3 p# J/ I
- V' r# S- V$ I
这个只有M10一种螺纹的、图形被简化了的简单动态块就算完成了。
3 z" H8 A2 K3 `% Y在教程(二)中我们继续完善它。5 k' i; N1 b5 G) _4 R( m$ O( W
$ N; h0 {" f* E* {$ S; |[ 本帖最后由 007 于 2008-12-27 13:03 编辑 ] |