|
|

楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表
" c% ?0 q$ |1 P i+ m) p9 p( U8 S请问斑竹:+ f8 B& O% X( h5 A( L6 I2 o0 b
那里有关于表达式(CAL)的资料可以供参考学习?
- i8 s; S% V H3 H; k" l# ~: X: C% Z( t) u+ Y) b
我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)7 X' i! U, o& x) n- U& l
9 a8 G$ C3 s8 H7 X在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。& `. |: T( n9 a" y+ g
% w/ z% t$ a6 B; f; @+ C
第一招:根据已知点计算点的距离。
0 q3 y( l& U* e- M3 M* V要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:+ s4 n5 Z7 M9 N
命令:
4 Z( i) Y, s! b2 ` mcircle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal5 w8 [) `1 P3 R$ t5 H; i
>>表达式:[10,20,0]+[30<60]
# ? C/ u. ~8 x(25 .0, 45. 9808,0)0 D+ o" R0 [1 [$ V# _5 A) ~5 \0 |
指定圆的半径或[直径(D)】:'cal5 @9 z! b" f E
>>表达式:dist([20,20,0],[140,40,0])) A2 t- Q5 C$ h3 O8 o4 P. p
28. 28439 H: U/ v: `6 [$ V( n5 ]3 w2 ~
上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。/ Z9 e2 D& M0 i" ?
G+ q1 ?8 z" H7 y! D- V) c第二招:获取拾取位置的偏移点。7 G e' `/ m7 C9 x O
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:
6 E. E) e# L# `6 I命令:
7 P+ s2 }0 k3 ~& n3 t& C4 O7 _circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal
: m2 l& l$ C, `- g>>表达式圳r+『20,3 ol
, u" u, z3 @+ m7 w2 Q: {+ l>>输入点: 拾取已知点
" \+ f1 a" g0 n5 Q(109 . 58 471 158 0.0)
# J8 `8 }- K, y. h% T2 w1 e0 V指定圆的半径或[直径(D)]<203 2338>:60- }* t/ }' p% a
完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。4 e& X3 p( p0 G$ _" m2 z
: U9 ] C1 d d第三招:获得两点的中点。
5 T5 Q2 Y h w0 f要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:" M" R! ], B+ g; K# C5 T
命令:_poInt8 O7 s. r8 s% |; T% \% u2 H+ \7 U
当前点模式:PDMODE=0 PDSIzE=O O0001 |: i2 @5 a# c1 ~
指定点:’cal
E. j5 n: y9 Y" d/ H>>表达式:(cen+mid)/27 ` D* \) e% c8 U
>>选择图元用于CEN捕捉:选择圆$ c! }' n$ G' G
>>选择图元用于MID捕捉:选择直线AB的中点P6 ^7 o }) N5 X! I& e
(754. 814 602. 811 0. 0)( k: n4 [3 C9 D \
其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。. P+ A3 K& V5 j3 C! { V
1 }# h! F+ U5 r- W第四招:确定直线上的任意点8 S! z: ~. ~- M" H! D
要获得直线的四等分点,可以使用下面的操作:
3 e' b7 F& |) C! w命令:' p1 T8 v2 G% k% e. U
point
0 a z% ]0 B7 V当前点模式:PDMODE=O PDSIZE=0 .0000
5 l0 ?) q+ I4 P" H+ ` {( {指定点’cal
8 |3 F8 O+ V1 \) ]>>表达式:plt(end,end,1/4)
" O& F# _; X, s9 q7 P9 ^, s>>选择图元用于END捕捉:拾取直线的第一点
' m* k' O. A% U7 Z1 K>>选择图元用于END捕捉:拾取直线的第二点" e+ w$ s/ _# N& [7 k
(600.073 472.711 0.0)% @/ d% {4 w0 z3 E# f8 K9 T
上面的操作能够获得距直线第点长度为该直线总长( x7 X, ]& B; @
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。
! E7 s& n8 A% \! q' k$ {要获得直线上距一点长度为20的点,可以使用下面的操作:
4 e, \! i3 w3 t9 V5 V9 q命令:2 {$ n# m3 m# e# y B
point: _# a& g! ]+ ^! u, W+ Z% j
当前点模式:PDMODE=O PDSIZE=0.0000
( A' T8 J: M5 p S1 E& T指定点:'cal
; b9 G5 |) g% S2 Y, w, C/ n9 o; f>>表达式:pld(end,end,20)7 n# H$ u* V: l+ i( x2 j7 Z
>>选择图元用于END捕捉:拾取直线的第‘点: M% e; Q; s3 {( Q
>>选择罔元用于END捕捉:拾取直线的第二点0 p) V7 [& @- n- L' e
(524.438 426.591 0. 0): p: ?& T& y2 s, Z0 q' M3 P' h
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。
3 c9 [0 a$ H7 n9 Z9 ^0 [! S9 N上面的表达式中两函数的含义为:
0 {2 m- @2 u" W7 n, }3 @( jpld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
+ h- z: ~- A- g8 r- k2 j \参数dist定义该点到点p1的距离。
6 G2 s* T6 A% z) R, G1 c; q, dplt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
' [( C- y1 O! n; q- l# l1 T; Y$ F' m3 W9 J
第五招:确定过一点直线的垂线7 x$ G7 G1 L) |& E; ]* Y! `
要确定过某一条直线t”点的垂线,可以采用下面的操作:3 h: e0 {5 W! G1 i, S
命令: LINE指定第一点:'cal
) ~; \) t0 O5 t x: y>>表达式:mid+10*nee
, o# b8 b. m. Q( z {+ q; H/ ?>>选择图元用于MID捕捉:拾取已知的直线* X5 e0 ]' S& k5 m5 |: I
>>选择一个端点给NEE:拾取直线的第一个端点- v. `( j9 g: n1 @+ E. B9 [
>>选择下一个端点给NEE:拾取直线的第二个端点
& ]/ R. N, t0 F: ~3 L(639.215 229.744 0.0)
" l! w" k8 p# c' ^& k: b7 c指定下一点或[放弃(u)]:拾取直线的中点
% E4 Z2 N) r/ M6 O1 k其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|