|
楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表- E" P+ Z% q9 P/ x& U- Z
请问斑竹:
" p" i' w0 t X: C F7 o$ _) k那里有关于表达式(CAL)的资料可以供参考学习?
8 ?9 f% k+ I( w# |
' S% L$ f1 H: H7 U& q) K% n: i) M我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)
6 o( c7 V% a# ^
1 P; n+ Z" b* p& \( c/ N* h在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。 [) }4 H; W. ]$ ]" G/ G! D
5 E4 q# V6 W( b2 G0 x第一招:根据已知点计算点的距离。
& G, k* J- a' L- K) D要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:1 |' A6 N0 d* d( V( t: D" i
命令:
8 ~/ ~2 N: Q) v. v. `6 Y* y6 Xcircle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal& f/ X& D* Q3 Z+ r5 z
>>表达式:[10,20,0]+[30<60]
2 S- n/ B+ e* B. } X! n(25 .0, 45. 9808,0)! t) r& \5 Y4 F6 @' C+ C& \
指定圆的半径或[直径(D)】:'cal
1 ^0 Z" g* ]' L" D T>>表达式:dist([20,20,0],[140,40,0]). W; ?9 |+ e( Q; \6 o+ U6 c
28. 2843
# r* o9 }/ \( w! H: B5 G上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。
( i( W: J5 K' Y8 |4 W; p/ I, M' ~( m
第二招:获取拾取位置的偏移点。5 Z! Q0 _2 v: K6 m' L
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:
; o& _( c2 F9 G4 {% b0 D6 m命令:& O$ g/ g" H7 X9 A4 u! `1 B
circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal
2 X8 @: l: y- x+ h>>表达式圳r+『20,3 ol
p# T1 ^# \5 f>>输入点: 拾取已知点4 w% S% p. p2 b* j$ T% v
(109 . 58 471 158 0.0). _" c8 j7 P& @& `7 X5 e! E
指定圆的半径或[直径(D)]<203 2338>:60
: ^8 U7 x* `/ K$ m/ a( D完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。' t' B: t" h' |/ T, q& x8 z* F
+ S2 t1 G' X; t: f. i3 P1 b第三招:获得两点的中点。
7 K5 E* c0 N+ W% H8 m7 H0 e要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:- a* e2 M, n( ^7 W/ n
命令:_poInt$ M+ P- J" W; Z- V
当前点模式:PDMODE=0 PDSIzE=O O000# z6 a5 b' ^ K5 c
指定点:’cal
% {( h: Q. D8 M4 O$ X. B- s>>表达式:(cen+mid)/2
7 Y. l1 p% B7 r1 }2 q* E: S>>选择图元用于CEN捕捉:选择圆0 b1 ~4 \4 N+ q, o S5 g1 W
>>选择图元用于MID捕捉:选择直线AB的中点P) U' q3 }8 r( l2 b! n7 C( P
(754. 814 602. 811 0. 0)
1 @8 w# k9 M2 L5 r* v. ]+ A其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。: D8 l" }7 ^( i5 O) Q7 L
/ d5 k/ ~7 p8 U! }- y第四招:确定直线上的任意点3 g: b! R; P: D$ y" I
要获得直线的四等分点,可以使用下面的操作:
3 X7 l& ^/ J3 P9 V2 X命令:
7 B( P: U8 X" }- d O* f; gpoint
' r/ V6 x0 {6 m4 c! c当前点模式:PDMODE=O PDSIZE=0 .0000# z7 I3 c5 W$ a8 `- ^) E
指定点’cal0 w* e& H7 E& ]% @; C4 T- ?7 S
>>表达式:plt(end,end,1/4)
' i2 f1 R2 I) {+ _ }# ~4 ], U>>选择图元用于END捕捉:拾取直线的第一点# Z7 ?: M+ S' G" S
>>选择图元用于END捕捉:拾取直线的第二点3 T2 t; [4 V1 n1 h& J6 s+ g; B
(600.073 472.711 0.0); E7 k' }$ v4 U" `3 U- X+ Z e
上面的操作能够获得距直线第点长度为该直线总长$ q" q" I2 Z$ h9 N* ~) r% ]: i
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。
7 D* g9 y( r5 @# z4 b2 t2 h7 J要获得直线上距一点长度为20的点,可以使用下面的操作:2 u* I1 r, R% o
命令:
% u x6 C6 Q4 m& {point: j/ y: }' n' {) h/ O
当前点模式:PDMODE=O PDSIZE=0.0000
$ U X& Y; c/ N( O5 Z指定点:'cal
4 T7 ]; w4 R5 w E' E* B6 z>>表达式:pld(end,end,20)- G3 V& r1 X% k1 d0 E" Y4 J
>>选择图元用于END捕捉:拾取直线的第‘点
" {2 F: i T1 a# j) p, J>>选择罔元用于END捕捉:拾取直线的第二点, U/ C2 R9 v9 _
(524.438 426.591 0. 0)4 v @- t) y8 x0 K1 Q/ p
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。; F* u2 [, ^& i" R: N
上面的表达式中两函数的含义为:
3 o+ \0 a% w4 Cpld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
. c8 |- I. v9 D% O. B参数dist定义该点到点p1的距离。2 w: ~! e8 V' U; M& r
plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
' c( g) u7 I0 O" Z' K$ c/ ^* }! x; q& h w; v+ `) K& o# }( s" M9 G* D
第五招:确定过一点直线的垂线! }0 y% I7 b1 L( t0 H
要确定过某一条直线t”点的垂线,可以采用下面的操作:
4 B- r/ r |+ k4 i命令: LINE指定第一点:'cal
2 p5 \( l5 K6 V X7 |% d>>表达式:mid+10*nee8 L* ]% |- @. W# p! c
>>选择图元用于MID捕捉:拾取已知的直线+ V* A, i) T" I h
>>选择一个端点给NEE:拾取直线的第一个端点+ g0 ?0 ^* J, [4 C N4 ~( `
>>选择下一个端点给NEE:拾取直线的第二个端点
) c9 `/ [) f% y; ~& B0 U(639.215 229.744 0.0)
) I; F. ~' c& m指定下一点或[放弃(u)]:拾取直线的中点
2 B# z6 b0 I; D# k% B5 e其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|