|

楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表1 m: H' [- p( F9 B1 M
请问斑竹:
- \- c- j3 J+ z7 m5 l2 {0 K那里有关于表达式(CAL)的资料可以供参考学习?
6 n7 I$ A! C, f' }1 ?& B- l) N) Y, ]
我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)
3 }' n# {% `! v6 e; ?$ [9 d3 @" H% ?
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。
: w; `' L+ K& q7 u. a! K2 X$ w! A6 I+ U1 y9 o2 O
第一招:根据已知点计算点的距离。7 x% w* z5 B; B
要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:4 Z8 _3 ]/ U5 x/ B% \: V
命令:) o$ @$ G$ ^* n( y
circle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal
& K2 A3 b- d7 K$ J5 F# }>>表达式:[10,20,0]+[30<60]
) c- D. Q3 J0 T+ p& A' K# u- s(25 .0, 45. 9808,0)
# ~5 ^( F( Q. v& ^/ t' Z5 o指定圆的半径或[直径(D)】:'cal3 z) G$ [% l' i8 p; @$ S
>>表达式:dist([20,20,0],[140,40,0])
- n7 \2 I4 o9 G. T% l, O# l8 F/ H( G28. 2843
0 x4 T2 Z1 _5 E+ T) `$ G6 n上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。
/ ~% E. G2 R/ `. O. e& R0 t
( J1 m2 n$ i5 V7 a第二招:获取拾取位置的偏移点。' s* V# ]* K6 R4 T6 ?4 _; Q
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:+ q* w% k, }4 D* [3 w
命令: Y" o3 r4 i U8 _% [$ p
circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal* i9 C: u& m0 e3 C: d
>>表达式圳r+『20,3 ol
+ v$ G( F" p9 r& L5 k& s2 n! @>>输入点: 拾取已知点
% a# P& ~" D1 h; J8 i: B(109 . 58 471 158 0.0)5 J' Q, A% E/ l4 z- }( B4 r1 i
指定圆的半径或[直径(D)]<203 2338>:60/ j5 r. e; \" P: ]4 N
完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
% j2 N! m5 }5 m/ D0 _9 D' r5 l$ H3 K L
第三招:获得两点的中点。
% S, x& z$ P$ e6 ]% v4 a) b要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:% r+ f5 G: u }3 m9 K
命令:_poInt. j5 m! M# v7 \2 ?$ M" G) d
当前点模式:PDMODE=0 PDSIzE=O O000
% p; N* L" [# v; \3 ?) O指定点:’cal8 C: s7 T+ G9 D/ S
>>表达式:(cen+mid)/2
0 l ]2 a' X2 f) b* |+ H$ H>>选择图元用于CEN捕捉:选择圆 f/ @- h! M( ]% d! L
>>选择图元用于MID捕捉:选择直线AB的中点P, e; ^; P! O8 z3 E6 z4 C* V
(754. 814 602. 811 0. 0)
1 O) A5 D1 O7 p) @& K7 @6 {4 }其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。
! P' d3 ^& w# e4 N+ y8 P
0 I# ^3 l" @ t9 H第四招:确定直线上的任意点
# C0 d7 w9 t8 L, |; `. S要获得直线的四等分点,可以使用下面的操作:
& d, q8 O# Y5 N" ~命令:( o0 ^4 C" J# z' k
point
/ x3 e& L9 m) X9 {当前点模式:PDMODE=O PDSIZE=0 .00000 `- U7 i- _9 y$ }+ X3 ^0 X
指定点’cal! e3 R! P4 K8 u1 f5 M! D6 W
>>表达式:plt(end,end,1/4)
m7 @1 w; ?9 Q( y6 _$ I9 ^>>选择图元用于END捕捉:拾取直线的第一点+ y; J7 j* S( x o! Y' t
>>选择图元用于END捕捉:拾取直线的第二点3 M% |2 q+ s5 G: }: L) Z- n# f
(600.073 472.711 0.0)
- s {: t; h# J上面的操作能够获得距直线第点长度为该直线总长7 @. _- ?0 P$ M$ s
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。
5 w! {9 t: C3 f要获得直线上距一点长度为20的点,可以使用下面的操作:
; j d) b' {( j2 U, l/ _命令:& T" T8 V' Q# {9 z. T; m; U
point4 H% G' r0 M, Z! K0 W; X6 k
当前点模式:PDMODE=O PDSIZE=0.0000/ g9 v: H4 k6 E
指定点:'cal1 y( s( I4 E/ u9 U
>>表达式:pld(end,end,20)6 s9 z; m5 W; k6 A. o! D7 ]6 p. }
>>选择图元用于END捕捉:拾取直线的第‘点
0 U1 c: D4 U. V4 m* e& ]- }>>选择罔元用于END捕捉:拾取直线的第二点$ c. L, ?: C8 K B# x$ y
(524.438 426.591 0. 0)& _, `3 a* T. h" @! C
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。
5 P# w& B& F! B5 d1 _$ x a+ M' G8 D上面的表达式中两函数的含义为:6 p0 }6 o7 m. W0 i
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
; f! h; X( H, ]+ N* _& _8 v" a参数dist定义该点到点p1的距离。
1 @% T4 u1 t, I2 iplt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
7 R/ j9 i, J8 j9 b6 Z. O0 Q. }3 [! p7 Z1 r2 O }9 `
第五招:确定过一点直线的垂线
$ i; V* g, x y2 ^0 R2 a+ u# ^要确定过某一条直线t”点的垂线,可以采用下面的操作:
d8 R, Q E2 ~. w2 N" b命令: LINE指定第一点:'cal
) o& c1 I1 [" O t8 B>>表达式:mid+10*nee
: e$ R% ^7 w4 q/ v+ c>>选择图元用于MID捕捉:拾取已知的直线; p. R, j3 D T$ R3 a2 z# E: d) ]
>>选择一个端点给NEE:拾取直线的第一个端点 ]1 Y4 P4 W: G
>>选择下一个端点给NEE:拾取直线的第二个端点# O8 A, u/ h) E6 s' k1 ^
(639.215 229.744 0.0)9 d$ I ?3 O6 t/ W: F+ u
指定下一点或[放弃(u)]:拾取直线的中点% I V% G0 i9 Q$ B" c% f }( X5 v
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|