|
|

楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表
6 a' c& D/ v# }/ W3 L. s0 P请问斑竹:5 v0 R8 V- P; h( a1 y0 ~
那里有关于表达式(CAL)的资料可以供参考学习? 2 \! m F' c7 F7 j& q# m
% a; I0 r( I8 R! q
我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)" @; t3 [" ^4 d1 b4 C; B" d% E
( l" s+ o0 F5 |- {$ y( }在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。
% y6 O; F+ f2 R0 L2 a, q
4 B7 q6 q( [/ g D9 L" A9 z8 ~5 T第一招:根据已知点计算点的距离。
$ e, d% H% t, c) C要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:9 I0 I1 \ k# ^7 L( I
命令:' t! D' v# W( A3 y, L7 m
circle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal7 |8 Z6 b1 k8 |0 B4 H: p3 \9 W; P! F
>>表达式:[10,20,0]+[30<60]4 t% i! K0 `% z9 y/ h, D' i
(25 .0, 45. 9808,0)
+ t3 Z: y, h8 r& b指定圆的半径或[直径(D)】:'cal8 [& p3 l5 N0 Z1 g, H; X
>>表达式:dist([20,20,0],[140,40,0])
: H* ^, Q, v0 \# ?; }( d28. 2843' _+ O* `$ w7 Y; m) x
上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。) |4 O; X; m8 H+ L2 i
' b. j! G; Q" C+ M0 A第二招:获取拾取位置的偏移点。
4 h c4 u# i @9 w只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:
8 F" r9 p: c9 _/ G b/ z1 L' m命令:( Q- S! j6 W0 N8 Q4 W1 x
circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal+ ~# H0 c& ^% j2 ~5 f9 a0 H7 c* c j
>>表达式圳r+『20,3 ol
/ q2 x0 A1 @- o* b2 Q0 {: \. c/ Y>>输入点: 拾取已知点
" ?7 n" Q" {$ @3 H; e' w, _(109 . 58 471 158 0.0)
& `$ x3 r3 [+ D$ e) c9 K/ v指定圆的半径或[直径(D)]<203 2338>:60) O5 R. _2 z1 w e+ d; ?8 F/ R& {6 N
完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。8 }; y1 h, B6 d- S7 ~6 r& H3 J0 s& L
- G. y z9 ?3 \& t第三招:获得两点的中点。- S- p- A! m; y, N* ~: `/ s
要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
: S1 f3 @& Z* O3 n( l+ d命令:_poInt
# d+ a$ u% Z7 a+ a, y5 ~; P当前点模式:PDMODE=0 PDSIzE=O O000
* K* E6 Q& G! d2 x8 A指定点:’cal
" d( E8 W7 T z! p( P4 j>>表达式:(cen+mid)/2
, N9 _ m% c P5 l, g>>选择图元用于CEN捕捉:选择圆! _) q$ c) X7 E$ O0 A: o
>>选择图元用于MID捕捉:选择直线AB的中点P. h/ l& U# I: C' E9 A
(754. 814 602. 811 0. 0)
; j7 W* I; |0 H4 G; X2 f; E* [7 C2 D其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。/ Y( I/ U' V( V Q( j, J
7 k( Z$ |1 y6 W5 M第四招:确定直线上的任意点
+ E/ i( r5 L9 V) C# [ }* H要获得直线的四等分点,可以使用下面的操作:2 P) v; M1 \1 p0 Q7 f7 I
命令:, i' L2 T6 @& a3 ?% y
point. [2 u: O E& e6 _; i% P
当前点模式:PDMODE=O PDSIZE=0 .0000" U6 t! w0 l: x a- c$ I# B" F
指定点’cal1 f# m) j/ S3 E
>>表达式:plt(end,end,1/4)
3 ?1 J9 g) X+ n% {/ E; E5 {/ G0 z>>选择图元用于END捕捉:拾取直线的第一点. V+ R, r6 Y# W5 R
>>选择图元用于END捕捉:拾取直线的第二点. l4 @! R8 d& b; H
(600.073 472.711 0.0)
7 y; \! }1 B8 M# i* c上面的操作能够获得距直线第点长度为该直线总长; x6 t: F: A1 b3 q6 Z- h$ s5 `# _" B
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。
; R. b, I; H; P要获得直线上距一点长度为20的点,可以使用下面的操作:* ]; c+ J6 ~& R4 }
命令:4 c! K6 q2 x- E0 _: T
point) A9 A) L# z9 d) p: K' a
当前点模式:PDMODE=O PDSIZE=0.0000
6 ~- _# ^ B9 `4 t/ B% o6 k# B指定点:'cal& {% b$ _. r1 N0 l! E
>>表达式:pld(end,end,20)
* K" E8 J0 Y" b7 _* B>>选择图元用于END捕捉:拾取直线的第‘点
1 K* ?/ i, v+ u/ P( N>>选择罔元用于END捕捉:拾取直线的第二点' i5 T5 }5 [. g1 P
(524.438 426.591 0. 0)1 s: G8 Q& g2 i- H( [5 Y
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。% a" |( Q! w* l) J
上面的表达式中两函数的含义为:
( Y3 A; F$ G Jpld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
1 F5 J0 o4 k3 q) d参数dist定义该点到点p1的距离。
4 _6 w- Q% {2 Y" q) S4 z- |plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。4 K' q. X1 \9 H6 Q
; R- |/ b6 A: z3 c9 Y! [* U
第五招:确定过一点直线的垂线
$ i3 p {; O/ O; b* q/ }! @% \要确定过某一条直线t”点的垂线,可以采用下面的操作:/ ~6 v* \1 Z* @8 [/ [
命令: LINE指定第一点:'cal: A& G! e( m7 Q' i
>>表达式:mid+10*nee
( c5 n6 H1 k; `* j8 K, Y>>选择图元用于MID捕捉:拾取已知的直线+ a! U: G H1 ^: S5 R3 R3 ^8 D# E8 `
>>选择一个端点给NEE:拾取直线的第一个端点. ~* z! z) Y0 M
>>选择下一个端点给NEE:拾取直线的第二个端点
9 A& n4 }! j* k7 T0 F& R(639.215 229.744 0.0)
3 J! k6 p1 |1 h4 U指定下一点或[放弃(u)]:拾取直线的中点
3 O+ A9 F4 Z; ~0 n7 }其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|