|

楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表4 ?2 C0 t- `% s1 J6 Q; M
请问斑竹:$ X. k. r3 p% k1 y9 l5 [0 |
那里有关于表达式(CAL)的资料可以供参考学习? 1 t4 a& e5 S' Q/ q5 s; Q% e0 K
. f; _3 l9 e% c0 U0 k( e
我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)) p3 }/ o- V" ?4 e
. d6 \5 w. @& T- X8 {, ^4 E在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。
# ^; y3 ^) H9 e+ @3 J3 x% ?" s, G4 C. t2 V
第一招:根据已知点计算点的距离。
- M5 F R9 n; Z" D; A要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:1 Z, _: \5 @) u6 K
命令: j, ~- f+ [5 d7 U+ i+ T3 Q
circle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal
B4 ?, o/ A* h6 `* }>>表达式:[10,20,0]+[30<60]
0 |0 E7 t' |. r8 B; l- P(25 .0, 45. 9808,0)
- o' F( L) N- u+ e8 Z) g指定圆的半径或[直径(D)】:'cal! N9 R# U2 f% L- n( f V
>>表达式:dist([20,20,0],[140,40,0])
! C3 p+ n, U+ v4 O/ D) `. U28. 28431 M+ j/ i1 x& ?% [
上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。' k8 c6 G# r: s( T/ I* G* ?5 q
3 o+ f3 E1 I6 T# f* B7 _第二招:获取拾取位置的偏移点。/ g) Q; S" U' B: E e/ O
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:3 g7 Z7 J! y: W: o' r
命令:% y8 i: ^! t: {2 n0 V
circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal0 S( j4 n3 n- T. \/ ^. G/ s
>>表达式圳r+『20,3 ol& j8 t2 ]1 T8 e, T2 z4 N. A' F! h
>>输入点: 拾取已知点
4 a. }0 j1 z: m/ J8 m8 b. a(109 . 58 471 158 0.0)
& G' s3 @) a! Z& f; K. i% _指定圆的半径或[直径(D)]<203 2338>:60$ c' \- G" r/ t L/ z
完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。: l! P7 S% M/ W( _
1 w& }( X1 s) V7 L% |, h8 g" [
第三招:获得两点的中点。& ~1 M' E8 _& K( `
要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
5 Z$ Z7 k. ^/ l, k命令:_poInt
% _. b- }& G. R3 d( N( e' E当前点模式:PDMODE=0 PDSIzE=O O000' L+ i; r8 [) {
指定点:’cal5 y6 G5 Q3 R& [% z
>>表达式:(cen+mid)/2
5 O& v9 X! d) w5 N) E>>选择图元用于CEN捕捉:选择圆
, Q) M' A# U" o- @3 n6 M>>选择图元用于MID捕捉:选择直线AB的中点P* ^6 ^0 `2 b5 S/ @* T8 M
(754. 814 602. 811 0. 0)
5 e- R+ m1 o3 G- M- C1 _7 i其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。2 q: K V6 L' d- z& d$ s5 E
) p5 W: V: F. f8 P5 w! J第四招:确定直线上的任意点0 A# v4 ]- J5 V& G, u) g3 f
要获得直线的四等分点,可以使用下面的操作:
3 H2 z; C5 H. N& u命令:/ h$ d8 K' j, x! I$ x. {
point/ {# U6 ?9 n0 A: `" s; v- x
当前点模式:PDMODE=O PDSIZE=0 .0000% c H% s7 t' x2 q
指定点’cal7 @: I- E" ~! K H/ _
>>表达式:plt(end,end,1/4)
6 O: }& R% U6 M# d- P# Y>>选择图元用于END捕捉:拾取直线的第一点
; X$ k, N9 }4 F e5 S+ K6 @>>选择图元用于END捕捉:拾取直线的第二点5 n+ K8 [! ~) P5 w1 H
(600.073 472.711 0.0)) H6 D4 |* N- s! L
上面的操作能够获得距直线第点长度为该直线总长
, f/ B4 P, j1 g度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。6 ?; M6 D; Y- G: {
要获得直线上距一点长度为20的点,可以使用下面的操作:
Y9 W; o6 q0 X; Q命令:
6 B- a5 b( C: ?- c2 j/ @! ?point
F' w2 c3 _* m' @5 S8 Q/ M当前点模式:PDMODE=O PDSIZE=0.0000
# s5 H9 \: \ s& S% x指定点:'cal
, O4 }6 m! Z2 N0 X, F4 a>>表达式:pld(end,end,20)
5 H7 q E9 @4 J>>选择图元用于END捕捉:拾取直线的第‘点
9 I9 X) f& P- p, w9 H) Q4 L>>选择罔元用于END捕捉:拾取直线的第二点1 ^- w' }% y& b x0 T. ^/ V3 }: w
(524.438 426.591 0. 0)0 n: r$ F, L/ R) N2 S+ b j" t
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。
4 S' j( u, @; {" v) n上面的表达式中两函数的含义为:. [; L7 R; f+ P% V4 q
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
/ @( N& w( }0 g1 X j参数dist定义该点到点p1的距离。
7 m8 F& W/ y- c2 @plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。3 A( M# R3 v8 s
) k* u/ b) x& S! s+ ] s! u6 M
第五招:确定过一点直线的垂线
# a; G; Z' Y! ~) F要确定过某一条直线t”点的垂线,可以采用下面的操作:
/ R) h3 W: g7 Y- b$ {- b7 W" v. m& O' V命令: LINE指定第一点:'cal9 s X0 j/ s# D& N0 [" @( m+ u
>>表达式:mid+10*nee
6 O3 ~) a: U; h" p+ e7 A>>选择图元用于MID捕捉:拾取已知的直线( ~9 G. f8 |5 E
>>选择一个端点给NEE:拾取直线的第一个端点
8 T1 v7 o, }: Y8 T+ y>>选择下一个端点给NEE:拾取直线的第二个端点
4 z4 y) @' J k(639.215 229.744 0.0)7 X& u1 X! n8 w8 E
指定下一点或[放弃(u)]:拾取直线的中点: }/ o$ K- B0 y$ U' |6 R
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|