|
|

楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表
- O# A; t8 [' k9 @( z: ]请问斑竹:# z+ h4 _$ L) g3 R; ^* ?9 I
那里有关于表达式(CAL)的资料可以供参考学习? 2 r. S4 [$ Y& B6 |2 Q2 a
1 Y2 R7 s6 k' C2 H& e4 i7 K; ?! O/ H. G
我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)
! q2 W' ?6 e0 F: t: N7 X
9 { n" T7 n6 L g( P7 B: M7 f在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。( Y6 T3 y/ |+ R! }/ L) ~
; H5 i8 ]4 T3 F第一招:根据已知点计算点的距离。7 v4 h7 g- t o
要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:
5 |; n) F! g; E命令: ~: v9 _1 L% V8 G: S. a) i
circle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal
8 y2 t% T9 F; [# k) Y6 X0 S1 F# ?* _>>表达式:[10,20,0]+[30<60]
( r2 K9 ^5 j) k y& E$ u' l(25 .0, 45. 9808,0)
' _4 U4 Y5 T' }7 h指定圆的半径或[直径(D)】:'cal# L' g6 H, T7 T
>>表达式:dist([20,20,0],[140,40,0])8 ]* [& w/ s' U# j2 @
28. 2843
$ c Q; c& v n% w上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。( [. _9 f) t. g! M. T
Y% N$ Z& G* c5 P5 a第二招:获取拾取位置的偏移点。
@6 p H7 h8 }; r& R* C只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:. t5 i0 v; U4 [/ o, `4 v
命令:
0 V% x/ D9 R/ ?) H4 p, z% C7 W+ ccirck指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal
2 @( M2 _: ?, n5 J>>表达式圳r+『20,3 ol
+ o' A2 v1 d) N' F0 N0 z>>输入点: 拾取已知点2 k" L; x1 U+ n
(109 . 58 471 158 0.0)' T% Y V, Q4 `, U; u$ Y
指定圆的半径或[直径(D)]<203 2338>:60
& A" H- E) c& a! z完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。$ \$ Q2 U5 ~: p3 P( j
o: l @' o- @
第三招:获得两点的中点。
) m8 }' D7 k& H( }- C% b/ C5 g要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:2 `( I- z* u/ R! q5 t. T
命令:_poInt
) b# Q5 Y. h5 ]& f3 J1 Q( L当前点模式:PDMODE=0 PDSIzE=O O000: Q% p" I9 q" Q: ]( g9 j
指定点:’cal
% s- E; v' P& f6 [% ^5 s2 t>>表达式:(cen+mid)/24 S) v" s+ ^7 n7 X" p
>>选择图元用于CEN捕捉:选择圆
/ b) X% ]9 v1 l; j' G2 P6 K>>选择图元用于MID捕捉:选择直线AB的中点P
8 X, }+ {6 _: m( w# P, u(754. 814 602. 811 0. 0)" q ]# R' ?! r, w4 |
其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。/ U% ?5 C, s/ w$ _
8 K7 i, W y0 |- t8 s, @第四招:确定直线上的任意点
: h% h; X" ~. T v2 h4 v1 X要获得直线的四等分点,可以使用下面的操作:
3 D P9 \7 O& Y! b* T$ h命令:- g2 ^+ V$ w6 O% K* u1 r
point7 K S& `2 }% p8 J8 G, u/ c1 q
当前点模式:PDMODE=O PDSIZE=0 .0000$ s# z- k; O5 p) R1 k; O
指定点’cal
7 f5 |4 ~% ]3 e# s>>表达式:plt(end,end,1/4)
, A. y. T# d. `$ }# s>>选择图元用于END捕捉:拾取直线的第一点
% H1 K# L" E9 t; x" @+ a: B( b>>选择图元用于END捕捉:拾取直线的第二点! t1 U' B5 O, ?! d2 n
(600.073 472.711 0.0)
3 X0 H6 Z1 F- J7 E3 s上面的操作能够获得距直线第点长度为该直线总长
5 n9 j" ^) f2 M) o# }度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。5 A! _; e. c. e& g
要获得直线上距一点长度为20的点,可以使用下面的操作:
8 y6 S2 h/ Y1 J. [命令:/ J, g; P0 x J4 U5 |
point/ [8 J( E& S- v
当前点模式:PDMODE=O PDSIZE=0.00002 H- r, X( v9 l; U+ j5 a+ D
指定点:'cal2 q- e# {$ ?$ p# t
>>表达式:pld(end,end,20)
) |7 E8 K+ t/ T! q( ?" {# N: r5 P0 D* k>>选择图元用于END捕捉:拾取直线的第‘点- e# K# q$ h+ u3 u
>>选择罔元用于END捕捉:拾取直线的第二点# [! p6 k# F3 |4 P. r$ \: T
(524.438 426.591 0. 0)7 T( B6 B6 X" ~8 |" A, G' x
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。
a: m) f1 H. V# d7 H上面的表达式中两函数的含义为:* N6 n* S( S- s
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。) [3 t( t; Y/ ?8 s6 t3 C1 Z$ F
参数dist定义该点到点p1的距离。; x! u8 V) m" G* w! l' E9 ]( o
plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。. ` k, _7 R6 w, |
6 A1 w: B% R9 U4 q) }( w
第五招:确定过一点直线的垂线. a3 M! T. h6 H3 w# U3 c5 t
要确定过某一条直线t”点的垂线,可以采用下面的操作:( a" m o/ D3 r- ~
命令: LINE指定第一点:'cal
m5 F1 V& j/ I" C8 k) Y9 V# n>>表达式:mid+10*nee6 V0 k2 N8 c7 h; \5 U: O
>>选择图元用于MID捕捉:拾取已知的直线
: j. ^' A' h7 M ~/ E>>选择一个端点给NEE:拾取直线的第一个端点
4 {8 P) I! _ |7 a>>选择下一个端点给NEE:拾取直线的第二个端点
5 t% ]+ n$ I( ?(639.215 229.744 0.0)7 q" I5 _/ l* x ]8 {8 l, `+ E
指定下一点或[放弃(u)]:拾取直线的中点+ t" ]+ Y* L% z" E
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|