|

楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表2 W9 D4 U" T3 A
请问斑竹:# T9 M4 A& a7 \/ `9 w1 k
那里有关于表达式(CAL)的资料可以供参考学习?
$ P- n5 U, ]/ {' n* s6 V; a V& _/ s6 G: J5 m3 N! u
我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!), s1 T8 n2 U8 Z- O
- p& j. [/ c, }8 m% x- A
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。
O- @- K* c/ P: N' I
3 A# Y' K' |* C, _6 x第一招:根据已知点计算点的距离。5 q: C+ g5 g% m0 V
要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:4 F% w# H+ a: K( s6 O
命令:- r& m9 Y* k6 ?* \% B1 P, e
circle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal0 T6 P( ~! c9 M c+ Z+ t( q6 m
>>表达式:[10,20,0]+[30<60]
, n& K. f3 e% g% W(25 .0, 45. 9808,0)
( _6 {8 I0 r1 u! F指定圆的半径或[直径(D)】:'cal
; W' ^/ k+ x' \3 Z; c>>表达式:dist([20,20,0],[140,40,0])
7 M- w1 w. d8 |5 k28. 2843
2 t+ ]* M; K4 @) S9 ]1 a上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。: j2 c5 {( e' b3 E9 S Y
( y/ S5 A# o; l; |
第二招:获取拾取位置的偏移点。9 }( a) k2 Q# g- V
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:7 j) X, d( ~0 K( ?1 t! Y) L
命令:' G: X( c# x9 n) k4 D- u9 j
circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal
( I; K6 j5 {: K>>表达式圳r+『20,3 ol# W+ e+ V1 L1 ^2 [! J% G
>>输入点: 拾取已知点
5 h8 b' k5 Q2 v6 T. i(109 . 58 471 158 0.0). k. N/ R4 x" j- U% V1 M* _ C" v
指定圆的半径或[直径(D)]<203 2338>:60
1 ~1 ]0 |: \" M4 ^- n! i完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
G% D/ q) W' ?% ~% A; a5 g$ A( V6 c9 ?" r
第三招:获得两点的中点。" |( \4 j6 v) e: r1 P d
要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:; b! ?( r* c8 k7 T* S1 x3 ]
命令:_poInt
4 j( p9 G% U p$ X7 ~1 `当前点模式:PDMODE=0 PDSIzE=O O0002 J2 T1 u! V: f7 ]) S3 c8 L: h
指定点:’cal+ X$ Y, ]% r! E# @0 F8 y0 j
>>表达式:(cen+mid)/2: D+ ~) Z' n6 t' @0 o8 H
>>选择图元用于CEN捕捉:选择圆
s) Z& |& g0 e; |" r>>选择图元用于MID捕捉:选择直线AB的中点P
4 D( v' v- E8 w2 d2 b( n( N8 a6 \(754. 814 602. 811 0. 0)5 n' {" q6 y( r% e7 ~$ i8 g' c
其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。
" @/ W2 P7 z X& `" S: u; U+ Z2 q7 k6 T9 n3 v+ S$ u/ k
第四招:确定直线上的任意点
) a3 k! E+ ^6 c8 P( s要获得直线的四等分点,可以使用下面的操作:; }3 e& z {" Y. C: p
命令:
3 J9 Y2 h+ @' K, r' Tpoint, k: @* O# `6 q# r/ d) l
当前点模式:PDMODE=O PDSIZE=0 .0000
$ k. N- }( X5 V8 l& q$ `; G5 N1 g指定点’cal
/ w9 h6 E1 }9 q4 g5 M+ g2 B7 `2 @) |>>表达式:plt(end,end,1/4)* B0 l% Y( Q2 ?! F1 g) C4 x* e
>>选择图元用于END捕捉:拾取直线的第一点
; ]7 j1 m# w9 { L, \>>选择图元用于END捕捉:拾取直线的第二点 g4 p5 x) H2 r" n" ~
(600.073 472.711 0.0)
" e8 ^) M5 O$ I/ j4 c, y- Q6 Z; j上面的操作能够获得距直线第点长度为该直线总长
( A$ R8 m1 ?) v x度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。
4 j* W5 _. X0 @) z- F要获得直线上距一点长度为20的点,可以使用下面的操作:
^' B+ _4 q" J; L) L8 K. i- W命令:
/ Y) C$ q' F1 K4 |$ }# p0 F& d+ M; Spoint
5 v" V9 J. ^7 a& ]( V2 y) C当前点模式:PDMODE=O PDSIZE=0.0000
9 l4 ] ]; g7 w: N0 ~. m ^/ W& M指定点:'cal
0 K+ ?" a [ f6 t. ]0 [% L* p>>表达式:pld(end,end,20)& t; f& H5 m7 {
>>选择图元用于END捕捉:拾取直线的第‘点" }1 {# Q% Z- V) H( |
>>选择罔元用于END捕捉:拾取直线的第二点" k0 m$ J2 J: o7 k2 P0 y
(524.438 426.591 0. 0)
T7 a) O n+ J8 k; f上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。8 O2 W1 z: ~' z* {1 O
上面的表达式中两函数的含义为:
1 Y0 G/ V" {5 C$ l* w" c, t) I$ upld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
3 s7 t: K/ C" I' A参数dist定义该点到点p1的距离。% ^+ P* p' U* X& A9 g. t
plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。( I4 |% }0 `) F& _3 R# b. J- B
' T9 N4 }3 w, C+ p第五招:确定过一点直线的垂线. P- Q$ r1 t- ^
要确定过某一条直线t”点的垂线,可以采用下面的操作:
! s7 s9 V, u2 ]+ F' W& ]; e s命令: LINE指定第一点:'cal
9 [0 j" H1 w; e/ H- F4 v+ O>>表达式:mid+10*nee7 W" m' a$ b8 n4 ?( ]- f; K
>>选择图元用于MID捕捉:拾取已知的直线
: O& I5 A3 f" H, T& J' w/ K% r>>选择一个端点给NEE:拾取直线的第一个端点
* y @6 G+ y, ?" ~5 C>>选择下一个端点给NEE:拾取直线的第二个端点5 y) ?: S3 [9 \" S. O" @; _
(639.215 229.744 0.0). h7 F0 _. s$ h. o
指定下一点或[放弃(u)]:拾取直线的中点; V$ u8 r/ u' K+ `
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|