愿意学习动态块制做的朋友,可以跟随本教程,通过制做一个内六角圆柱头螺钉块,初步掌握动态块的常用知识。6 `# g9 @. A- p4 q* p" M9 F
我们本着由易到难的原则,先从最简单的单个规格入手,逐步丰富、完善它。4 L8 I; }( X1 F5 y* T
(一)
+ Y1 ?3 t6 r+ W6 W3 v0 h这一步制做一个M10单一螺纹规格的简单内六角圆柱头螺钉,要求具有下图的功能
! D4 F- H! M9 r1 b& p! m+ \' s5 u3 e. c+ ^2 q
, {5 O9 s$ l) v5 B' ?& R* H# u$ y4 t1 @( T3 W6 f( }0 h7 u
& X$ ?, e- U7 ?* h) S& m图2和表1是GB/T70.1标准中M10规格的主要数据0 {, z b" I* S/ J
& f; S) ~, S' P" i7 ]2 O
4 {7 o+ c) L8 W+ {1 r% g, b' Q. V/ T2 E' y
! L* ~ S7 q& y! Q3 S* E
$ e+ {# @# w$ J [
2 W; g4 C% ]9 Z, N# ~ Z
^: R: C" k9 S4 ]0 a+ |! e6 l0 w
& {" z. J9 Y4 b6 A9 C j$ c; v首先打开块编辑器,按下图示意画一个M10、L=60的螺钉(不要标注)。坐标原点就是块的基点。
0 C7 l3 o9 ~: Z% e3 G
8 s9 |" ]9 @& _& ~1 q2 a4 A; x; L9 c& W% a. R0 m- {
. n8 l/ \7 o3 S. t, K9 t7 j% C8 G7 x8 q
现在我们来分析一下:假如我们是在模型空间画这个图,现在需要修改螺钉的公称长度,用什么方法呢?当然是“拉伸”(STRETCH)命令。当公称长度大于40的时候,我们会选中螺纹的全部拉伸它;当公称长度小于或等于40的时候,由于螺纹有效长度不固定,就得用两次拉伸命令,分别拉伸螺杆的右端(包括完整的倒角部分)和螺纹的左侧末端。
6 n: a* R, W; H1 T) O7 u* R在动态块中也有类似的方法--“拉伸”动作。用“拉伸”动作分别拉伸螺杆的右端(包括完整的倒角部分)和螺纹的左侧末端,就可以实现我们的目的。+ A7 E( C' h5 J) j3 j
先来设置对螺杆右端(包括完整的倒角部分)的拉伸。% K. }% m* m. ~+ f. F: z
动态块的机理是这样的:在使用时,由用户通过操作某个参数的夹点改变其参数值,再由该“参数”指挥一个或几个甚至是一系列的“动作”,如果说用户是总经理的话,“参数”扮演着部门经理的角色。所以,在设置“拉伸”动作之前,我们要先为“拉伸”动作指定一个领导者--“参数”。& n' @7 f! @& c0 m3 T5 \) P
现在图面上还没有“参数”,我们就要从“块编写选项板”的“参数”选项卡(见图4)上挑选一个合适的参数并把它放到图面上。
/ a' @7 \2 a: d; V( L
: V; g5 D8 d% `$ u8 |. k4 ]* b6 H+ ~; u$ Z# ~0 J& d
, ?' X% ]& e5 h2 y
+ y0 L. w! E& E% T+ k3 m3 X+ ~
“参数”选项卡有10个参数,用哪一个呢?告诉大家,可以用来指挥“拉伸”动作的参数有4个,分别是“点”、“线性”、“极轴”和“XY”。这其中,“线性”是只有一个“距离”参量、只能沿固定方向改变的参数,而其它三种参数都是内部有两个参量、能朝四面八方改变的。在这里,螺杆长度只需要一个长度参量就能解决问题,所以我们选用“线性”参数。$ Y( ?: B" q5 M1 E R% C
在“块编写选项板”上点击“线性”参数,命令行提示“指定起点或 [名称(N)/标签(L)/链(C)/说明(D)/基点(B)/选项板(P)/值集(V)]”。先不管那些可选项(因为它们都可以根据需要在“特性”选项板上更改),把起点指定在坐标原点;再把端点指定在螺杆右端中间位置,如图5
& M- d1 m" F8 P8 n" R" b. K
1 a: P9 T) H9 G2 Y8 W2 g" p
# d- Q6 V$ s7 W' n6 I- e2 \: ]/ Z9 D- p. p6 [5 h& n
: o) n9 X2 T8 t5 ~( N% y; J" |
在用参数指挥“拉伸”动作时,参数也可以不像上图那样与图元放在一起(在本教程的后面会出现这种情况)。但那样做不直观。
- J0 s6 B8 C: S/ w; p& B, @下面Ctrl+1打开“特性”选项板,选择已放好的“线性”参数,在“特性”选项板上修改它的属性。1、把“距离标签”改为“L10”,表示这是M10螺钉的螺杆长度线性参数;2、“夹点数”改为“1”,这是为了现在研究动态块,以后还要根据需要修改它。改好后取消选择,会看到参数变成图6的样子。
A' Q" Z {' o/ q$ y
1 v( L1 x- L7 @3 V6 P
4 B( H) d6 {6 W b: t; j: W( l1 ]
: @1 @) I& Q/ ?& l下面添加动作。双击“L10”参数,命令行提示“输入动作类型 [阵列(A)/移动(M)/缩放(S)/拉伸(T)]”,这些可选项都是可以用“线性”参数指挥的动作类型。选择“拉伸”动作,命令行提示“指定要与动作关联的参数点或输入 [起点(T)/第二点(S)] <起点>”。我们的目的是用参数第二个点的变化指挥“拉伸”动作,所以我们选择第二点。命令行提示“指定拉伸框架的第一个角点或 [圈交(CP)]”。这个拉伸框架与平时画图时使用“拉伸”(STRETCH)命令选择对象相似,被框架完全包围的图元对象将整体移动,里一半外一半的图元对象则是框架内的端点被移动、框架外的端点不动。不使用“圈交”选项,画出的框架是矩形的,使用“圈交”则是画出一个多边形框架。我们这里不必用圈交,直接画出矩形框架就可以,如图7
# D7 U1 ~& F) n( C O+ G
1 x; y3 f# x* j/ ^, Q) l" h
& G, A. z2 f1 c) {; L+ U/ f6 z( `$ m% |+ P9 n: y1 B7 y
* i6 c" k8 H/ d" U" v
框架画完后,命令行接着提示“选择对象”。和“拉伸”(STRETCH)命令不同的是,指定参与动作的对象是在这一步单独进行的。被选中添加到对象集的对象参与动作,没有被选择的对象即使被框架包围也与动作无关。选择对象的结果见图8& O5 j, m7 Z1 y
6 j+ Q; R% Q, n$ L9 _9 m3 d6 ^& h$ _8 [7 y
r `6 o5 _$ b' r7 q/ `3 |, w1 m$ ^6 @& [+ x& h& c g
确定后命令行接着提示“指定动作位置或 [乘数(M)/偏移(O)]”。“动作位置”与所做的动作没有关系,具体放到哪里只需保持图面整洁就行。“乘数”是指拉伸量与参数的变化量之间的比例关系,默认是1,这里不必修改。“偏移”是指拉伸方向与参数之间的夹角,默认是0,也就是同方向,这里也不必修改。这些选项都可以在“特性”选项板上修改。后面我们会见到乘数不是1,偏移也不是0的情况。
3 m O. |3 r/ S# C+ P [! p, a在“特性”选项板上把动作的名字改为“拉伸L10”,以与后面还要添加的大量其它动作相区别。添加好的动作见图9
3 ?; w. i& M0 b" R# \' e9 f5 W/ R9 s
& Q% G. ]1 m, P! l8 Y
+ D6 H: i4 u5 W
" \3 ?1 [4 \5 a% q1 q; R! l. q! P% U现在可以暂时关闭块编辑器并保存,然后在模型空间插入这个块的参照,操作夹点改变螺杆的长度,享受一下自己的劳动成果,顺便检查一下是否有错误。3 V3 R6 x; O& |# ]
9 S2 D J+ u- m3 q, H下面继续设置对螺纹左侧末端的拉伸。
* ^' C- R0 e# f$ F在“块编写选项板”的“参数集”选项卡(见图10)上点击“线性拉伸”( \ h' ^% w% J c9 q* \. j' q' L) j
( w" a; k7 P) v! b
) c: d, h4 d" R* O& T" @
* c4 l. U- w K
/ C0 \7 d' A+ O7 b7 Q z2 O) J像前面放置线性参数“L10”一样操作,结果见图11
" B* V* I2 v5 ]6 G9 M6 j0 _& ]7 a
5 z- m" D- X& O8 r2 t" e/ l$ K6 i* m! d
! _; K1 P1 K) z6 }* x$ C; N+ G! y* U$ f( V ?5 Z
“参数集”是CAD提供的一些常用的参数和动作的组合,在这里使用“线性拉伸”参数集可以省去改写夹点数量和指定关联参数点的步骤,因为“线性拉伸”参数集中的线性参数默认是一个夹点、随线性参数一起放置的拉伸动作默认与参数的第二个点关联。
7 ~" t$ Q6 O# x9 |$ m6 X把参数标签改为“Lg10”,把动作名改为“拉伸Lg10”,并用夹点编辑把动作“拉伸Lg10”拖放到合适的位置。见图12
! | G/ T& L" C4 K( o/ d% }0 D- Y5 i7 Y# R" s, @: n
5 d$ D8 a. ], K9 v( b2 t! ?8 Y/ h1 A( g+ P8 e
我们注意到:“拉伸Lg10”的上面比“拉伸L10”多了一个惊叹号,这是因为它除了关联参数和关联点外还没有做其它必要的设置。下面设置动作“拉伸Lg10”的框架和对象集。
* E8 _! A' z) x# R. H. P# \双击“拉伸Lg10”,命令行提示“指定拉伸框架的第一个角点或 [圈交(CP)]”。后面的步骤与“拉伸L10”的设置方法一样,设置好的“拉伸Lg10”见图13
4 P- J, h6 N' p. ?. [+ `: S. a
4 `& U: D4 t0 w1 M2 o
6 E, A ]6 ^9 Y: o4 A8 s
" }3 u4 _4 P+ W6 \, o7 j
% e8 y" r# S/ A5 _; b$ F4 e这里要特别指出的是,在动作“拉伸Lg10”的对象集中我们不能选择中心线和上下两条粗实线!这是“拉伸”动作与“拉伸”(STRETCH)命令最大的不同。在“拉伸”(STRETCH)命令中,如果一个图元对象所有的端点都未包含在选择范围里面,即使它被选择了,这个对象也不会动;而在“拉伸”动作中,如果一个图元对象完全在框架的外面,但它被添加进动作选择集了,那么这个对象也会被整体移动。1 v* ^! l) K" [5 u3 I
设置动作和修改以前对动作的设置都可以用双击该动作的方法,对于拉伸动作,如果动作没有与参数关联,那么提示的第一个步骤将是选择参数和关联参数点;如果该动作已经与参数关联则直接开始设置框架;如果不想改变框架就“确定”跳过这一步,设置对象集:可以鼠标单击添加对象,也可以使用“删除”选项,鼠标单击从对象集中删除对象。
2 Z: [" h, s) _' A现在可以退出块编辑器试一下,我们已经可以随心所欲地拉伸螺纹的两端了。7 i+ G) e# O3 c, ^9 t _$ R/ Q
+ g- R% v! d7 p# `1 C但这并不是我们想要的结果。我们想拉伸出一个准确的长度,而不是随便一个什么长度。
1 Q* |- j- Q1 R3 t3 a# B继续在块编辑器中编辑这个块。1 W& k# d1 l0 G
8 `' i8 z* s7 |5 W) ]3 c
选择线性参数“L10”,在“特性”管理器中把它的“距离类型”改为“列表”,点击“距离值列表”右面的按钮(见图14)
3 N) h- I) ^% C* r! s1 }- N
) H5 F1 s3 n; C3 \' v% W+ b, W( K5 _# y# s, Y2 l
4 X# X6 T+ ?5 v, M8 L4 @
6 Y4 A) A# d I# T t# m在弹出的“添加距离值”对话框中把表1的“公称长度L”的数值都添加进去,见图15) N: o7 G \4 M) k' B) M
4 p; p; s8 @2 F1 x2 X" u8 \
* R K" `" X6 [( u% K5 g2 Z; t
8 @$ g9 u7 F' r- a: v' l8 Z& P. ]9 s, [1 ~4 ^/ G" I: E# J
再试一下动态块,长度L已经是按规定的数值拉伸了。
0 r& [9 u5 L) _" R! u4 l& s! t4 {我们完全可以把表1中Lg的长度也添加到线性参数“Lg10”的距离列表中,让它也按规定数值拉伸。但这仍然不是我们要的最终结果,我们想让两个参数同步变化。0 c# v* A5 d6 U
8 A Z1 `' D5 h, s
控制几个参数同步变化的方法是使用“查寻”。
/ ]' Y* r! q$ [9 V我们先把现有的两个线性参数的夹点数改为“0”--既然可以用其它方法改变参数,夹点就不需要了(其实距离列表也不需要了)。& \2 A1 R+ M8 n
在“参数集”选项卡上点击“查寻集”,放到图16的位置
9 L" z% e- B6 _6 a: Q: J0 b7 q$ Z( U8 R
1 R* R6 J; B( t/ v. J8 x8 Y
8 Q% p8 x8 |6 T! K
6 l/ R9 u; l& O, O; X# f6 M把“查寻”参数的标签和“查寻1”动作的名字都改为“查寻10”。双击查寻动作,弹出“特性查寻表”对话框。见图178 |* d9 ?' E# K6 I" T
+ g; T' y/ J6 F9 _+ k
! R( m4 s1 y2 v( K( a# ~2 U2 G# v% c% m8 `
& C# p$ z* r/ z
单击“添加特性”按钮,弹出“添加参数特性”对话框,见图18; j3 U; Q) |- L2 S) ]4 k& u$ I
& F+ t( K) J. {2 N* g7 [5 y
+ i" }: j `! G0 [8 a: v0 [6 ~
- w% n' x- o0 A, [" B
2 r% A% a& `5 ]' z8 e# g% C“参数特性”列表支持多选,可以一次性把两个参数都添加进来。确定后回到“特性查寻表”对话框,输入表1数据,见图193 Q4 y1 D8 b& P- e
+ a% [2 ]& a- ^9 |# p
5 S" B {8 T( H/ l( j& a; N; q! \* i! A( G# f8 d
9 P3 Z- e' @! q$ S5 u# k( i左面两列分别是两个线性参数的值,右面一列是“查寻”参数将要生成的弹出菜单上的菜单项。
+ G, V8 z+ E5 Z2 P. S4 k再试一下这个块,已经可以用弹出菜单控制两个参数同步变化了。但美中不足的是,夹点不会随着螺钉的右端一起动,显得孤零零的不好看。; ^7 Y3 p8 d" C7 ^' U4 e
- {3 q$ R0 b4 H2 @6 j
再次编辑这个块。双击拉伸动作“拉伸L10”编辑该动作,“确定”跳过框架这一步,单击查寻参数的文字部分--注意不是夹点--把它添加到对象集,见图( {1 U; N: g$ x1 b8 ~5 M
- s ~* X+ Q* I
! x& z/ z. G4 i$ F, o$ E: _, Q2 [
20
' N. t) k# Z) A
0 v ~1 p% j4 O3 @" O% i& N这个只有M10一种螺纹的、图形被简化了的简单动态块就算完成了。
! A3 u; A1 [/ X8 D g在教程(二)中我们继续完善它。
7 r# ^0 s5 {4 `6 x* _, ?) t3 s/ A" U. C: @$ R- b- G
[ 本帖最后由 007 于 2008-12-27 13:03 编辑 ] |