|
楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表) D# D) }* @& m, K' M# Y' Q1 w
请问斑竹:
. g) s/ d: v4 @8 _5 p' n @, z那里有关于表达式(CAL)的资料可以供参考学习? ; L5 h8 E6 l/ C& ^
6 d( g# N9 q8 W( t: P- a. i) E
我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)
) ] h8 N1 {' i2 ]
/ D' N# N! ^: F/ P' ^1 z3 c: _' i在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。
, j* y r1 e6 c; c' H
, {) g$ o$ B) F! n' U8 n第一招:根据已知点计算点的距离。
6 T- ]( }0 ^* U4 U要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:
- |) F8 Z# v9 }7 c命令:+ F4 M3 b' M4 F9 l" b4 h- K
circle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal- \, e! C& O& x. S( K: O. P& w
>>表达式:[10,20,0]+[30<60]
' {+ J% {& z# q$ j- F! _8 g V/ a(25 .0, 45. 9808,0)$ k% Q$ {$ I& t2 V h( H
指定圆的半径或[直径(D)】:'cal
: N- X, k& b! D$ }5 L I>>表达式:dist([20,20,0],[140,40,0])
7 P) I9 Y7 p1 W; N5 ~0 k28. 2843! j* F( P r8 c Z9 K
上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。
3 m, |- B1 f! | ]6 Y, x0 O( L/ e; x: O c- P
第二招:获取拾取位置的偏移点。
/ D. D. l; H4 c, ^' J- t( h只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:
* f( X! w' ~- O4 D( U& K/ ]命令:1 T7 j+ }) L; Y& R
circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal8 s% F1 a; d0 W
>>表达式圳r+『20,3 ol
( ~0 o$ j7 k) f2 a* n0 M2 I>>输入点: 拾取已知点
/ c/ D/ Y v# `& O& }(109 . 58 471 158 0.0)& { R9 s/ A! m* u% D& V; a* v
指定圆的半径或[直径(D)]<203 2338>:60
4 n0 X! X8 u7 }完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
, ]- U& ~* G o0 O( |* ?
1 }; |. O$ r, @4 Q' e第三招:获得两点的中点。
* \4 g# z; j: K7 X9 H$ r要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
* U3 J7 x5 y5 I$ I/ R% x( \1 B命令:_poInt
3 h* @- W7 Y* h4 Q, J当前点模式:PDMODE=0 PDSIzE=O O000
; R7 l" q3 _0 \, C4 Z2 P指定点:’cal& `7 Z4 q+ H( V8 H6 ]
>>表达式:(cen+mid)/2
' C7 x3 o$ ]- z" _ a4 _/ T/ E>>选择图元用于CEN捕捉:选择圆
2 B' L. ~! O7 H5 ~ G8 b/ p>>选择图元用于MID捕捉:选择直线AB的中点P4 t7 W; m& T$ S4 W# m: j' G. T# ]+ d
(754. 814 602. 811 0. 0)5 k% q4 a1 N q1 e6 v" f" k
其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。
4 G/ K" |. M+ Z1 @1 h8 ~( G! N$ V) B+ Q1 i) ~2 k* b
第四招:确定直线上的任意点! z' z8 I; `: X, k4 P' B) a
要获得直线的四等分点,可以使用下面的操作:; y) c; }7 y% w9 P
命令:/ t, H, j; Y! l
point
& e! `2 g! d- W5 A* }5 l$ j当前点模式:PDMODE=O PDSIZE=0 .0000
/ L# T+ J$ v U0 A: J6 M指定点’cal
. z, E9 Z0 i2 v3 |1 y>>表达式:plt(end,end,1/4)1 I# s' u) E$ q' q
>>选择图元用于END捕捉:拾取直线的第一点
" F- s0 m! {) h8 D>>选择图元用于END捕捉:拾取直线的第二点& W8 E% E! Y/ {
(600.073 472.711 0.0)5 ?5 J: i, [. W" k0 Q
上面的操作能够获得距直线第点长度为该直线总长( l; K9 f V7 t
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。
6 w% a+ j) `8 M/ G要获得直线上距一点长度为20的点,可以使用下面的操作:. ~$ u+ i6 b) Q1 P! g
命令:
! E+ A- l/ j" k- B: Fpoint
! {. `& \& T4 n当前点模式:PDMODE=O PDSIZE=0.00000 I7 J1 \( O# A% k5 D i) O
指定点:'cal C8 H7 v7 O) s5 C) L8 q
>>表达式:pld(end,end,20)
) s3 ?. t/ c: s8 b+ Y5 D- b! \>>选择图元用于END捕捉:拾取直线的第‘点4 H4 A2 y$ o% M% P- K
>>选择罔元用于END捕捉:拾取直线的第二点# J" U/ |1 _$ u) y; q: t7 [
(524.438 426.591 0. 0)& K/ ~, E% e9 `0 w# _
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。
! q7 U+ l+ p$ D+ ]) P8 f7 i6 c9 {上面的表达式中两函数的含义为: K, A& Y# {" e# ^
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
8 S6 h& v, ?& ^) q _参数dist定义该点到点p1的距离。: o$ S# X7 k* u. i. ~
plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
' p# k" } V/ H% v0 ^3 K R* C3 R% \( K9 z# {: O0 |
第五招:确定过一点直线的垂线& _6 n/ R7 [* D" ?: |' q+ v6 n
要确定过某一条直线t”点的垂线,可以采用下面的操作:9 _ \+ R9 N* f5 I6 `( H
命令: LINE指定第一点:'cal
- p3 Z- m- v! R* m: R/ W% p>>表达式:mid+10*nee
+ B% C+ F. z" ~' y4 J0 f9 d>>选择图元用于MID捕捉:拾取已知的直线: ^2 b1 y4 L* o: r* [6 e' Z
>>选择一个端点给NEE:拾取直线的第一个端点, F/ I) ~2 t+ A* {' s1 E
>>选择下一个端点给NEE:拾取直线的第二个端点! w6 P3 I! W/ g# P% S1 t6 W
(639.215 229.744 0.0)
& b- I$ V" j5 X$ Z; A# C指定下一点或[放弃(u)]:拾取直线的中点. G# Y) p: U, A! u I$ l; t- o
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|