|
楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表
- u( s) r: I- }. K7 v" K! m' q/ l请问斑竹:
9 ? x8 \' u6 ~4 ~+ W1 q那里有关于表达式(CAL)的资料可以供参考学习?
/ T) P, f. e" I1 R) W3 h4 v7 Q" C2 [9 t* p
我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)
! o0 v8 g/ ]& u/ g& Z
& ~3 Z7 @1 s( X+ B在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。4 w. a8 I! a$ U+ g
6 q! e1 y) u1 P# L9 R7 P第一招:根据已知点计算点的距离。
2 t0 x& C- n6 C要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:& t: } T% _7 |8 w& ?% e9 ~; ^$ ^
命令:9 o6 [* x( i; G4 Y" w+ M
circle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal
# I- S" Q7 y6 J>>表达式:[10,20,0]+[30<60]4 N7 D# M8 \9 [/ p0 S- T( d# i
(25 .0, 45. 9808,0)
7 ^$ ~: E0 K- S指定圆的半径或[直径(D)】:'cal
W- r8 p4 A5 y/ `>>表达式:dist([20,20,0],[140,40,0])
/ o# T; t) b5 g, P* O28. 28433 `+ Q9 x$ J! k& G' X
上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。# j* f. U- R: U
0 R+ K" I+ G' I7 R A! \. h第二招:获取拾取位置的偏移点。
( y& w, o- D- d2 S: \- ^8 Y/ @只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:
5 | Y/ x( F( H. H% L命令:$ F$ |) C2 }: \& L& J
circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal
0 r' H# b9 E8 e. A- }; c6 Y>>表达式圳r+『20,3 ol
. z1 j1 w9 ]1 _* [>>输入点: 拾取已知点
9 R+ J0 @. H' N z- y( `* X. ?(109 . 58 471 158 0.0)3 I! u" W8 {9 `( E+ U' k; d" w
指定圆的半径或[直径(D)]<203 2338>:60
! T( |9 {: } P. S' P7 L完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。) Q0 z7 r3 [/ e/ I4 v/ U$ x0 Z$ z
8 u* d7 J! n6 j9 m& t% {
第三招:获得两点的中点。
- M: s) f( P [- a5 ?6 B9 M- U: R% S要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
8 t$ s' T4 f! Y2 I. w* g& }命令:_poInt5 D9 B: g; n" N& U
当前点模式:PDMODE=0 PDSIzE=O O000
$ }( p' J9 r6 R, y指定点:’cal: g% L# E {' Z) X# Q- y
>>表达式:(cen+mid)/2% Y+ j1 e- l0 c$ o# B$ p
>>选择图元用于CEN捕捉:选择圆+ q* X4 J5 j- ]% w$ \$ E
>>选择图元用于MID捕捉:选择直线AB的中点P
+ b6 i& V# r% z' @9 [(754. 814 602. 811 0. 0)! s# _1 f: A1 C& p
其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。+ t, p" R/ a9 y; S0 ?+ J0 x& Y2 s
) M+ H; o: d% z
第四招:确定直线上的任意点
: H3 K& ]9 D! Q6 I要获得直线的四等分点,可以使用下面的操作:
^" _# P, |# [& B- C$ y' J q5 J命令:
6 B! q2 I; e! L- t: Jpoint
' a" R, P1 I" G" s$ E& A+ V: M0 x当前点模式:PDMODE=O PDSIZE=0 .00001 z2 Y5 L- M4 y3 G& B; j$ u* p
指定点’cal- m V/ c8 H* {: h) T' W
>>表达式:plt(end,end,1/4)
9 _0 L8 C" m$ F' g t>>选择图元用于END捕捉:拾取直线的第一点$ X) F% d# w% Y |6 E' {
>>选择图元用于END捕捉:拾取直线的第二点
# a4 {! r& b# C$ |(600.073 472.711 0.0)0 F' U& a6 N, i* ?1 P X4 H
上面的操作能够获得距直线第点长度为该直线总长3 y X0 t5 L0 d Q) d
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。
( d( n9 ^ {+ X1 X- [要获得直线上距一点长度为20的点,可以使用下面的操作:
- V# r, w! Q$ f# k% k命令:- d/ X+ k8 P+ a0 M) y. K: }
point+ r, D2 K& f% e& p/ m# x
当前点模式:PDMODE=O PDSIZE=0.00006 o* u8 K E% Y9 B6 g. ^
指定点:'cal
9 i- g9 M9 X9 b* n% H>>表达式:pld(end,end,20)
# x7 T3 w& e& V" Y3 e8 L>>选择图元用于END捕捉:拾取直线的第‘点
3 q8 o! I0 l5 A* Y1 b! c+ S>>选择罔元用于END捕捉:拾取直线的第二点
3 E) Y; S6 F7 {6 h u2 P9 }; U(524.438 426.591 0. 0): I# L$ C. `: s0 l+ ]( R1 O: M
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。
- @! i$ X" y g& h( A3 ^" ~上面的表达式中两函数的含义为:2 F2 b: Y; v) X: m" g' J3 m( L
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
& S0 J- V# ?6 B) m4 @# c/ \) Y参数dist定义该点到点p1的距离。
( Z2 H3 c9 e. B# L; f9 Wplt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
% g0 _, H4 V$ y, c6 C2 |( a! [; U/ l( r( T. z0 v
第五招:确定过一点直线的垂线
* i; @; K$ i* w. L要确定过某一条直线t”点的垂线,可以采用下面的操作:; ^' t/ a- e+ }0 f/ K* o
命令: LINE指定第一点:'cal8 ~* x" f1 X$ I
>>表达式:mid+10*nee- J# x- u% c I7 P
>>选择图元用于MID捕捉:拾取已知的直线/ L4 ]/ g- F! Q) Q
>>选择一个端点给NEE:拾取直线的第一个端点1 W# t! T' z' l8 O
>>选择下一个端点给NEE:拾取直线的第二个端点2 N, [+ T2 I. a9 w" ?( g' I# {5 {
(639.215 229.744 0.0)9 Y! n" a P6 \/ ]: S2 W# Z$ F
指定下一点或[放弃(u)]:拾取直线的中点1 F' E! h+ O1 p- j! R9 b
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|