|
楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表- d4 a& M4 N1 a! a
请问斑竹:
) I( }0 m; F1 {) `# s0 o |那里有关于表达式(CAL)的资料可以供参考学习?
: n$ ^1 b* i8 }
! r% J- g" l' t* I V; m7 Y% D* G我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!); A# D4 A( B ~- x2 o
/ O, p" m# }' |/ Q8 _! _% v; ~. ]0 \在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。. I, }8 |2 k+ x8 @. A
4 y" h9 ^- a, X# a4 D
第一招:根据已知点计算点的距离。. o I! L% t) e1 [
要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:
2 s3 `( P% t O命令:& N) l F. J/ ~. g, x
circle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal
6 W7 y/ I9 ^/ W$ T0 r# A>>表达式:[10,20,0]+[30<60]( g! m! f' K4 t. i
(25 .0, 45. 9808,0)
. M- M& E }0 S, Z6 ^1 S指定圆的半径或[直径(D)】:'cal
$ V0 A+ |& I# t/ s% _% j6 u0 s. ]>>表达式:dist([20,20,0],[140,40,0])
) p+ ]& m+ Z7 q* @28. 2843
' |( W7 x, f; r上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。
3 @8 u$ M! y) @- `9 |
3 S5 m% }; n t; V8 F* x; D1 G第二招:获取拾取位置的偏移点。! @8 I9 v7 j1 s) M. Z
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:& P6 M B# k+ m& r) V# c8 s
命令:
( f1 H9 R; s$ t# B9 }3 K4 ]- icirck指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal
2 z# @9 h- h% o; k+ V5 y>>表达式圳r+『20,3 ol
' H; L, q7 B2 z5 ]>>输入点: 拾取已知点
0 \4 E6 e6 ~8 l1 ?(109 . 58 471 158 0.0)/ h5 p* v0 W" \# W
指定圆的半径或[直径(D)]<203 2338>:60; H* ?8 I3 Q4 }9 N: D% Q# A/ V
完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
$ A4 U K7 T$ E* b/ h8 _8 i- Q( D( E( h0 D* k3 V
第三招:获得两点的中点。2 S) k$ c5 g8 |* ^
要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:8 W6 b# g) z0 o, l! o! J) R
命令:_poInt
8 U+ Q3 x5 Z1 {6 \) G6 k1 Y当前点模式:PDMODE=0 PDSIzE=O O000
7 r( c! S# U3 |; R指定点:’cal# B( _4 _$ D9 v1 }* {7 J& s% _# ]
>>表达式:(cen+mid)/2% L7 {" i3 i, E( U
>>选择图元用于CEN捕捉:选择圆, J( U: ]+ c7 R7 |
>>选择图元用于MID捕捉:选择直线AB的中点P
+ g$ a3 {# A4 A9 v(754. 814 602. 811 0. 0)
7 k4 l+ W1 q. v其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。; o$ P+ H7 d. w) R
6 m4 b; k3 }% d4 `第四招:确定直线上的任意点! R) ?( J+ P3 x4 L- }% |8 \
要获得直线的四等分点,可以使用下面的操作:
9 R8 n1 e; T7 i( Z6 u7 D命令:
" e# k' f% ?6 M) @+ P& P4 @point& ~0 E; B! K4 L0 H
当前点模式:PDMODE=O PDSIZE=0 .00006 Z8 V5 @) n6 @5 A
指定点’cal
+ r. O; Z" H/ |' ?) V2 K>>表达式:plt(end,end,1/4)
2 [) q7 o4 _6 Z( A>>选择图元用于END捕捉:拾取直线的第一点
; H5 f8 N. F6 R4 _" j& }>>选择图元用于END捕捉:拾取直线的第二点
7 f9 i7 U3 ^! a6 u( H; C! q4 ~& i/ ~0 @(600.073 472.711 0.0)! R/ b3 U' `0 j1 P
上面的操作能够获得距直线第点长度为该直线总长
5 N$ e; S2 }" m4 Z1 j度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。: Q, m/ z" G8 m' C+ Q" {
要获得直线上距一点长度为20的点,可以使用下面的操作:& e4 E D! f3 H
命令: I; j+ _5 _0 v5 y+ D4 O
point
; k, L% p O' A0 Q; w5 e* M3 V当前点模式:PDMODE=O PDSIZE=0.0000
4 b+ r9 [- S: {, M指定点:'cal/ |; ?( l" w5 y' @3 X9 k( M
>>表达式:pld(end,end,20)1 \ d' _$ H7 {: |, x; |" ~
>>选择图元用于END捕捉:拾取直线的第‘点
9 a+ p" n! U$ }' z>>选择罔元用于END捕捉:拾取直线的第二点
0 ~) C4 b2 J. c! z. M+ o(524.438 426.591 0. 0)8 U; f% d, `; J- E
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。
/ i- ?) y& e" M6 U8 r. p8 E上面的表达式中两函数的含义为:
7 t- f j0 E; C1 f2 R R! v Fpld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
8 ~5 ]: p9 [- B8 _: Y参数dist定义该点到点p1的距离。
% v7 L* m3 ?# t* M5 Lplt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。, H# j3 J5 D: t1 v- i" i, h
8 ^* H* S# L2 A! N" H3 h8 h第五招:确定过一点直线的垂线
" T' T" G6 L. p4 I" N$ Y* |# M2 R要确定过某一条直线t”点的垂线,可以采用下面的操作:
9 Z9 F; ]# H9 _, F/ [7 p- |1 x4 N命令: LINE指定第一点:'cal
7 n: V* P/ `; H4 q) n* L" d* A7 q3 ^>>表达式:mid+10*nee! m% R2 N% N7 i3 X
>>选择图元用于MID捕捉:拾取已知的直线
$ K8 l- }5 X5 I; C3 x6 x4 i>>选择一个端点给NEE:拾取直线的第一个端点
1 ~0 |- I7 v- H" j& y>>选择下一个端点给NEE:拾取直线的第二个端点- h" [ x; C8 ~6 c4 B7 ?
(639.215 229.744 0.0)$ o x% S. m( S5 ~9 s* q7 `
指定下一点或[放弃(u)]:拾取直线的中点8 i. B1 a; j, R
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|