|
楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表
! F8 I: V' N! }) U0 W" u% I. m请问斑竹:
' b7 c9 z# f9 [. ?% ?- Z: F那里有关于表达式(CAL)的资料可以供参考学习? 3 W: [. Q# w7 F6 e# g4 N
$ I7 q" Z0 G, v
我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)
4 Z8 W) P* Y% c7 S M; ?1 j( ^+ h4 e& D# o8 I
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。
' c3 H) e Y2 u, V5 a W! E3 ?* m( m% n% p2 z# e, q- }: R2 I- Z
第一招:根据已知点计算点的距离。7 L- F5 x' y8 g0 H9 |- T: k5 \! E
要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:) [5 Q- e9 L( }! l2 A+ b& T4 \
命令:
4 O7 t. b' s$ Y! T( @- h# q* {. Hcircle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal
9 i {7 o) o/ e7 G8 g9 W>>表达式:[10,20,0]+[30<60]# I2 p+ T/ u6 \2 a+ j4 C* g
(25 .0, 45. 9808,0)
# e2 m& n. F; ]) H; A, E指定圆的半径或[直径(D)】:'cal! s/ X5 z( h4 H% |: s# U3 W
>>表达式:dist([20,20,0],[140,40,0])
9 g5 M0 a. F) W( w: K28. 2843
* v, H$ k( n6 N' h; F上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。
. X0 g: Y p1 p: \, l u+ C. |1 d# Y: k6 [: y
第二招:获取拾取位置的偏移点。
* t, ], t7 k9 H$ p. J+ w只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:/ B+ z. J5 L4 O; w8 ]9 {5 U
命令:1 x0 ?2 |4 b. W" g
circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal
a L* c e# r# g9 C>>表达式圳r+『20,3 ol3 G) J+ L. U+ }* U$ J( H+ l
>>输入点: 拾取已知点
- N: ~7 z5 f( h/ O7 @) |: L; F(109 . 58 471 158 0.0)# Q; i) J. T' Y3 e
指定圆的半径或[直径(D)]<203 2338>:60
% I7 v# N, v+ x完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。- V+ n* C/ y/ R1 B7 g0 {0 a4 d
; C# p' S6 u/ y( ]+ ~+ w% T, e9 d第三招:获得两点的中点。
& O; R$ r+ K3 @3 @5 D要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
" T& D/ s( L2 M( W* f命令:_poInt
8 U- X- p) S O, H" C2 W, Z当前点模式:PDMODE=0 PDSIzE=O O0008 N3 {0 H- V8 b+ M8 d
指定点:’cal D) }# G* g8 N3 A: L6 M
>>表达式:(cen+mid)/2
- v- _6 i) x. Y! M- k. u7 d+ z/ G" |>>选择图元用于CEN捕捉:选择圆2 {7 U. e" U- L" ~9 V' {3 p- @
>>选择图元用于MID捕捉:选择直线AB的中点P
$ m3 i+ K% B9 |: }4 o(754. 814 602. 811 0. 0)4 }: x6 J, t: ~ C j
其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。
& C; ~2 G8 j( x2 y+ t7 o* U. h1 B" \+ D4 N# r
第四招:确定直线上的任意点
% r8 m- u1 L* g; H' A9 L要获得直线的四等分点,可以使用下面的操作:
8 \2 q6 L, O: H4 I5 C命令:( [& D0 k" W& m+ P! M
point) J4 J. y2 Z( ?1 {, @
当前点模式:PDMODE=O PDSIZE=0 .00000 \' ^' i6 U. G/ F) c9 K
指定点’cal
) n6 [7 t- e( o6 H>>表达式:plt(end,end,1/4); y7 s3 e" v0 {* g0 j" z1 j
>>选择图元用于END捕捉:拾取直线的第一点
! a: \: E) ~6 V>>选择图元用于END捕捉:拾取直线的第二点
$ H) \ ~) C! ^" m/ `(600.073 472.711 0.0)' I6 V, \% _7 |4 q& a! t6 h+ U
上面的操作能够获得距直线第点长度为该直线总长1 N7 ]$ l) B! f8 d c
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。
: p d! p) h8 d# }要获得直线上距一点长度为20的点,可以使用下面的操作:( O$ M8 r/ x! Q
命令:
- W; R0 y3 p( K, S9 Z) j% qpoint" o$ d+ k7 p5 `4 |/ A v; b4 h$ T. G
当前点模式:PDMODE=O PDSIZE=0.0000
2 D9 t; v9 E& x+ y* m指定点:'cal v! @$ Q# ?. E( G( ?. O, s
>>表达式:pld(end,end,20)
! i& Z+ _9 C4 ]" W6 o$ k7 S>>选择图元用于END捕捉:拾取直线的第‘点% V1 _+ U3 U% ~* A; ^# [$ Z
>>选择罔元用于END捕捉:拾取直线的第二点; _$ o9 v9 {& d; k7 i
(524.438 426.591 0. 0)
- i2 M g' a8 k E' ^# Z3 w# ]上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。" g) `" y q' W
上面的表达式中两函数的含义为:
' o; J9 |: ?. r; d Opld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
) t$ h- u; Z/ B5 H9 Q& A) Q- E参数dist定义该点到点p1的距离。. h3 @2 _) e" |; v
plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。) R; p; [0 }! p [0 p. g
# F! \4 w6 P# W. @第五招:确定过一点直线的垂线
2 k) |, W8 ]1 ^7 A+ O8 b, ^* R要确定过某一条直线t”点的垂线,可以采用下面的操作:' w; [& n% L- Z* E1 d
命令: LINE指定第一点:'cal
' i4 h2 a# y, k8 M- ?! |>>表达式:mid+10*nee
2 O. ^; m# L; b6 y u3 o>>选择图元用于MID捕捉:拾取已知的直线6 f j' B r( M4 W) a" v
>>选择一个端点给NEE:拾取直线的第一个端点7 J" [' `% D5 M: G, S
>>选择下一个端点给NEE:拾取直线的第二个端点1 s' u0 c8 t" G4 X) n( L6 W
(639.215 229.744 0.0)8 c7 X: c6 ]9 E% X
指定下一点或[放弃(u)]:拾取直线的中点
0 w$ V2 w! ]6 O/ C) p" l其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|