|

楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表
* Z1 U0 R! b7 x f. W9 n" W* { e请问斑竹:* G8 ]( O8 v- m2 h/ c
那里有关于表达式(CAL)的资料可以供参考学习? ~3 C. o5 ^( {6 ^
3 \! F5 A9 ^9 K% e& ~我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)* Q4 c0 q0 } u( F1 S
1 x5 V. j& K+ Y! j6 c
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。
. Q6 K% v& N0 j- Z: p1 T* L) ?7 G& n Z- N4 ]
第一招:根据已知点计算点的距离。, }3 G8 T: [% E
要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:5 J# A' ~8 n) [) @* A6 P. ?! u! V
命令:" u! k3 j9 Q6 L, X7 V: L
circle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal
" M6 A. }2 T X; o& i5 f2 P. z# n2 ?! Z>>表达式:[10,20,0]+[30<60]
4 `8 L9 j! a$ U% K1 C(25 .0, 45. 9808,0)
+ t0 G- o( Q9 R3 w8 z* p7 o! C4 [& j指定圆的半径或[直径(D)】:'cal
* {7 z. h$ x: o n# h>>表达式:dist([20,20,0],[140,40,0])7 w9 c9 A' y( a7 j; j0 y
28. 2843
' d: j- r: }; b) H( U上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。
. X) ]* b7 {: ^1 f- O
5 Z0 q5 g/ Y4 Z3 M第二招:获取拾取位置的偏移点。
+ t* W! e0 N3 V3 u, q; O" H6 Q只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:! `# I% ?6 C% o( R5 u. l; ~( B
命令:! y* |( M9 P5 K! ?' D
circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal
3 r: t4 H$ R/ W8 f8 O>>表达式圳r+『20,3 ol
5 q) ?. ~0 C7 g" m" e>>输入点: 拾取已知点5 l5 o1 N, _6 t, ^( s4 }9 \
(109 . 58 471 158 0.0)
1 r" c+ H" O5 `, C) Q9 a指定圆的半径或[直径(D)]<203 2338>:605 e i* i: S( T7 g" A7 N. {
完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。! ^! D! d) K- |0 i S6 S7 @ j
) |6 R; o$ d. O
第三招:获得两点的中点。- O+ p' l- n: i4 s- I: n
要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:- z6 F7 x$ B9 y' @/ Z0 B# j" K& y# L; S
命令:_poInt- j! U7 @3 T' K" F7 q) y
当前点模式:PDMODE=0 PDSIzE=O O000
* u3 D4 m% o! S5 ?/ F指定点:’cal9 a' ~" m9 a3 g7 K! ?1 S
>>表达式:(cen+mid)/2
x- l; L1 g7 E# ^4 F>>选择图元用于CEN捕捉:选择圆
) j( Y& V2 \) k9 ^& ~7 i; F>>选择图元用于MID捕捉:选择直线AB的中点P6 W" U. W, R1 G* c: C+ J/ j0 M
(754. 814 602. 811 0. 0)
- r0 x& H. v: v其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。
! ?. N) \! r+ q
{, `) n( G0 G! x7 z6 x+ e" n第四招:确定直线上的任意点/ k7 g4 b: [& x4 w$ h- z
要获得直线的四等分点,可以使用下面的操作:/ A1 Q {5 n0 ]
命令: y6 ^6 i7 M' R8 f b$ p. ]4 v
point
; k7 p" f4 S" P, s当前点模式:PDMODE=O PDSIZE=0 .0000
9 w# O. K; e$ E& ?: p7 m指定点’cal
8 u9 a+ x$ b) ^0 w& D9 t2 y>>表达式:plt(end,end,1/4)
) ~8 B+ E$ m$ ^* x! h0 L# r>>选择图元用于END捕捉:拾取直线的第一点
( f/ I8 W4 g8 s>>选择图元用于END捕捉:拾取直线的第二点
& |9 W( L! Y) d t(600.073 472.711 0.0)
3 p# {. A" u' A上面的操作能够获得距直线第点长度为该直线总长4 m+ Z7 }& |# A. ~$ _+ C- J7 m
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。3 P* x2 T6 J3 @! O
要获得直线上距一点长度为20的点,可以使用下面的操作:
! z- }' P) K# b& s/ T命令:
# Y2 o3 {* ] |. ~point+ Q+ F( V7 W4 G' v' y
当前点模式:PDMODE=O PDSIZE=0.0000
) E! N1 i D& Q \# g! E: I1 ?: W指定点:'cal
8 U4 F% g$ `- u2 b>>表达式:pld(end,end,20)6 w) E; S$ e( A/ O
>>选择图元用于END捕捉:拾取直线的第‘点+ ~1 s( Q9 s3 ~
>>选择罔元用于END捕捉:拾取直线的第二点
; d' g0 L6 k6 Z2 o9 P- F(524.438 426.591 0. 0)
4 {; P2 ~& S& B& E上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。
! k y# H9 {* y3 ^上面的表达式中两函数的含义为:
' ~& s6 x& s* G; a t. j H6 Zpld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
* K# |2 Y, Q1 j参数dist定义该点到点p1的距离。% H1 g- V" D$ t( @9 ? e
plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。/ l! @$ i" q7 L6 Y
0 C& r; \0 q) x" i4 b& j6 r! l第五招:确定过一点直线的垂线
. P( C# U# o- G, h, {( F, W3 n要确定过某一条直线t”点的垂线,可以采用下面的操作:1 l% l0 ~& J: Y
命令: LINE指定第一点:'cal
( _! E% H0 @5 @% {>>表达式:mid+10*nee
; o, Z* k% `& p& X9 w4 u- [>>选择图元用于MID捕捉:拾取已知的直线
8 @5 X- x' y! @* J" R: M) L) R>>选择一个端点给NEE:拾取直线的第一个端点
% Z3 w7 N: o$ U# P, g2 s* ~+ m6 ?>>选择下一个端点给NEE:拾取直线的第二个端点
+ U3 t: I9 h! V: F; ^(639.215 229.744 0.0)- [% X2 ?3 ? t. _
指定下一点或[放弃(u)]:拾取直线的中点
0 ^0 c* D# Y7 u' i其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|