|
|

楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表; U* Q, U% A, A% P# C3 V
请问斑竹:
7 z8 d8 P) ] ?那里有关于表达式(CAL)的资料可以供参考学习?
! I9 I' R& A& M' q9 l
( J" @/ Q0 h9 [* w5 y我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)
0 r7 g& \" x5 O, L! q+ G/ G! N2 u9 @& P
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。
4 r* w3 U1 U6 X0 p3 g3 W! K- u; ]. Q2 R+ T$ a u1 p
第一招:根据已知点计算点的距离。
; j }* f- [5 ^& V要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:& I/ Q5 O$ }+ x- u% \
命令:
5 C% R3 r8 @, t% z5 L) k# u Ncircle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal
4 N8 ]6 V. t- d& E. F4 v3 d, x>>表达式:[10,20,0]+[30<60]
: O) h" Q1 {6 ^% g0 V1 C(25 .0, 45. 9808,0)
6 @" R* |& V: D) V- F" y指定圆的半径或[直径(D)】:'cal* D: e/ K1 ~! ~4 E' x) b% v. n3 G: n
>>表达式:dist([20,20,0],[140,40,0])& u$ @1 ~' [9 A6 q; F. f0 k* d
28. 2843; I4 d8 J9 a4 j w2 ^
上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。
5 p" X# j: p( m5 ^, [ ?
$ x7 l9 ~! | N3 v! ]- |第二招:获取拾取位置的偏移点。
& I" }, Z g6 U4 f只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:
- a% _" G$ e$ f% P5 L命令:" P8 \+ ^! D3 U* D( Z" ?% \
circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal5 @8 e/ Q! \3 X' U/ i; }
>>表达式圳r+『20,3 ol
. U- n/ f4 X: p4 p" ]' J1 G+ p>>输入点: 拾取已知点1 d9 c' y$ u5 ]8 s+ B s y, M& _
(109 . 58 471 158 0.0)
+ c7 }: X, t* c$ R- f9 O. E }指定圆的半径或[直径(D)]<203 2338>:60
* {% y5 k5 h7 O7 Y完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
3 \% O# b# `' e \- w2 C/ d# y& [/ L* K# r) l$ R" T4 ]
第三招:获得两点的中点。
* O, c, h. E- R$ w* ^2 y要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:6 C) w U/ K/ ^$ K0 e3 Y
命令:_poInt' c3 }, F4 ?( M) C5 a! c
当前点模式:PDMODE=0 PDSIzE=O O000, Q. A6 s4 L, h$ B$ D# n4 {
指定点:’cal7 U, Z {/ ^ p2 m+ P6 i7 g; `
>>表达式:(cen+mid)/21 S8 s! I9 f. e$ ?# M) w6 ?
>>选择图元用于CEN捕捉:选择圆
8 z- o8 W8 e |1 g7 j>>选择图元用于MID捕捉:选择直线AB的中点P/ }5 o. W& ^3 u% i9 x) _$ ~3 r9 d/ {
(754. 814 602. 811 0. 0) }+ M3 z1 v# C' t& z9 S( H) P6 g: S
其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。$ t+ Z$ i& k& o' B% R8 X
* f) U' m8 D; h7 ~" Z: o
第四招:确定直线上的任意点9 Y8 [* z: L( Q2 ?- b# o) g% |
要获得直线的四等分点,可以使用下面的操作:
+ S9 V' _& \0 W. w* ]命令:
/ W- L8 O4 t! X* `point
% J/ |' l- o+ O1 E2 z3 q8 g$ z当前点模式:PDMODE=O PDSIZE=0 .0000/ {" ~/ A( T j8 ^
指定点’cal9 F: D$ O$ U2 i( w/ U; V
>>表达式:plt(end,end,1/4)
- v5 J( A! p- l5 o* y, Q>>选择图元用于END捕捉:拾取直线的第一点
- O* X5 b7 a$ {' m+ o: U( `) t>>选择图元用于END捕捉:拾取直线的第二点
9 a- w" `+ T. x. c6 x* |9 n# R(600.073 472.711 0.0)
. \9 f, ?' s5 u, b上面的操作能够获得距直线第点长度为该直线总长6 g( m; {$ N! n# C4 f; i7 h
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。4 h% ]2 u6 S G' U" ], I/ g+ G
要获得直线上距一点长度为20的点,可以使用下面的操作:. F0 \0 L& M' U! Z9 y; U2 z( f2 }) Z
命令:
* z' @+ c% i/ F+ w. G# Apoint! i& K- p) W% b3 O+ x1 z2 H
当前点模式:PDMODE=O PDSIZE=0.0000
9 V1 e& X- ^6 ^ d指定点:'cal$ I1 c- N) a/ R9 M6 Q8 V
>>表达式:pld(end,end,20)' y9 b8 M4 E# X# o, c
>>选择图元用于END捕捉:拾取直线的第‘点. P7 j3 g6 A% X0 M( o. x0 R
>>选择罔元用于END捕捉:拾取直线的第二点
, {, N# ^/ V* b: N3 o& ~& ?/ |(524.438 426.591 0. 0)8 K. w5 E% v5 J( `( u% e
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。
+ k7 f5 {. Z' m& Q上面的表达式中两函数的含义为:$ c2 L) d# V* R1 Z
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
v# Q/ C* x( e9 H# R参数dist定义该点到点p1的距离。
; W6 @/ U1 Q! r! s6 }plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。- d1 O0 j3 h0 y8 D8 n5 ~
+ ]0 C4 x/ Y5 t4 M& {! H$ H. Z$ p第五招:确定过一点直线的垂线( T" j6 G2 a9 ]1 I
要确定过某一条直线t”点的垂线,可以采用下面的操作:
) K( B% _& k$ k* j% F' \7 z8 t命令: LINE指定第一点:'cal; @0 H; L, t) P' m$ V
>>表达式:mid+10*nee3 E/ j7 `4 A+ ?+ Y, m
>>选择图元用于MID捕捉:拾取已知的直线
7 _& O6 D% f' `% J>>选择一个端点给NEE:拾取直线的第一个端点
( _7 C C& r2 C( G>>选择下一个端点给NEE:拾取直线的第二个端点5 {* M8 ]: x, B/ l0 |9 S+ N1 h
(639.215 229.744 0.0)
/ X5 g# g4 O# t2 h0 F* v指定下一点或[放弃(u)]:拾取直线的中点
6 V7 F) f' M) J& W5 N( Y3 q其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|