|
楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表. [1 `0 J% G: ?0 U; g9 L; q
请问斑竹:
8 a" _# H% O7 B+ R! ^那里有关于表达式(CAL)的资料可以供参考学习? ( R: g! v( z" U. w3 e5 E# p
% r% i2 T" _0 a7 N# q- `
我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)( [2 m, s0 h7 g7 k# W* g4 \
% b" N; N8 M8 Y+ S/ K p6 T
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。
* \" `$ t- C r0 Q4 N1 [7 `
: n! _3 ~; `# H8 M( i1 ^/ g第一招:根据已知点计算点的距离。
# R5 {6 U6 C3 @要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:1 C4 t. V, u' a- L: r1 O
命令:9 j! D! B1 p0 Z
circle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal6 F' F8 Z {5 }) f. j( ]* C. J% u
>>表达式:[10,20,0]+[30<60]; W/ o0 e5 ?, w' j' s+ e9 e. ^ c
(25 .0, 45. 9808,0)
1 V7 ^+ \& w" m% m% d6 M指定圆的半径或[直径(D)】:'cal
5 i- Z( X$ G! }6 _; _>>表达式:dist([20,20,0],[140,40,0])6 B+ g* w% Z3 U
28. 2843$ L# ]! L+ A( q$ P! U2 q
上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。" W7 O. k* V7 ]: y: `' t# g
" A$ R% c* p$ ]4 `, C
第二招:获取拾取位置的偏移点。
$ z8 { R1 c) Z$ ?# S) Z只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:
& Z2 k! V0 Q, B! g命令:% V4 m) Q) [$ O$ r7 P
circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal( `; k9 C; x8 h+ K8 v3 ]
>>表达式圳r+『20,3 ol
$ ]4 P8 S8 [4 J; O, n>>输入点: 拾取已知点
- l; G& {2 S1 w2 P. u/ g8 C(109 . 58 471 158 0.0)
6 p; X4 Y) Z4 n$ W8 D% `, ?指定圆的半径或[直径(D)]<203 2338>:60* N8 p# p8 w: C/ F$ T
完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
' F, I6 G! w2 K6 L. B8 I
8 y9 D/ V' G; a) y, e第三招:获得两点的中点。" S& P8 y# f) U3 ~! c
要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
' ]8 ~5 L6 H$ y8 f# q1 J8 G命令:_poInt5 O! X+ R2 e5 T5 N% P L z. a
当前点模式:PDMODE=0 PDSIzE=O O000
; x* G E( K1 K, `+ I指定点:’cal5 _' ], ]# t5 u7 p0 ^* ]
>>表达式:(cen+mid)/2/ }0 N( i0 z1 g! U( G
>>选择图元用于CEN捕捉:选择圆
, z6 n0 Z4 G. y; F! x- o% Y2 H7 a# b- |>>选择图元用于MID捕捉:选择直线AB的中点P& Z- o$ x% V. E2 B! m; @9 u% k
(754. 814 602. 811 0. 0)
) l; N8 U! I3 D& e4 a. \: B其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。
, G5 e5 X3 r: g4 y6 p K8 M( P% V' w) B; P, b
第四招:确定直线上的任意点
) D) Y; S6 B k3 \# t! U' M; g- t$ d要获得直线的四等分点,可以使用下面的操作:+ ]/ _* ^* Z1 @- I) A
命令:
- y/ o- |0 E- s9 Cpoint1 G- q$ |. E# Y) @( Z/ x* A
当前点模式:PDMODE=O PDSIZE=0 .0000
! R d0 m7 V- e# d- R- Z; ]指定点’cal
4 ?+ q; N" Q: _>>表达式:plt(end,end,1/4)
3 D' r2 J5 r. I4 j9 e( v>>选择图元用于END捕捉:拾取直线的第一点
, {+ g! B, B( w7 h7 L" d$ V v. k>>选择图元用于END捕捉:拾取直线的第二点
9 q0 Z) P4 E% L8 p(600.073 472.711 0.0)
; T a7 R/ }: o: x7 x& `; u+ K上面的操作能够获得距直线第点长度为该直线总长6 b+ g; H, P3 t: ]+ f# V
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。$ z& y, t ^: V5 X
要获得直线上距一点长度为20的点,可以使用下面的操作:
+ U1 @" G0 v( `0 m0 z6 i命令:
! z1 U0 @( [2 {4 B6 q. _8 Upoint5 ]0 w# B9 C# U& P) i
当前点模式:PDMODE=O PDSIZE=0.0000
" V% O. c" t/ j1 c指定点:'cal
) k# E; f0 K9 R, n1 B7 C$ Y! X>>表达式:pld(end,end,20)
% }& {3 y/ r* ^>>选择图元用于END捕捉:拾取直线的第‘点9 P) k- N- B8 G6 }
>>选择罔元用于END捕捉:拾取直线的第二点
% @2 |: P0 F# x- ?% m @; @# R(524.438 426.591 0. 0), v' E9 J4 i) e
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。
* T$ j; \0 F6 h5 K0 t4 B) t上面的表达式中两函数的含义为:6 M# a' K- H- O
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
0 O, `6 W, |, B9 Q6 R, e6 ~0 A参数dist定义该点到点p1的距离。& ~# }( \- @/ U* |* a' `) {
plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。" e5 W8 b. X$ v3 n. ~; c
3 S- b' p k8 p2 n7 y" @. _( u" Q% T
第五招:确定过一点直线的垂线" U7 s; c) Z, u1 F# G% t
要确定过某一条直线t”点的垂线,可以采用下面的操作:
( k6 I& i' }9 B0 G& g- J命令: LINE指定第一点:'cal
+ L; {) d, A' I; a0 I( }>>表达式:mid+10*nee
$ s$ ~2 Y# r, x( F) |" W& m, b>>选择图元用于MID捕捉:拾取已知的直线5 x4 Q0 x# g' R* n+ d8 N/ Q, p
>>选择一个端点给NEE:拾取直线的第一个端点$ q$ {1 T) _8 ^, q+ _* m' D8 i
>>选择下一个端点给NEE:拾取直线的第二个端点) `9 l5 T0 Z0 g( U4 M# U
(639.215 229.744 0.0)
% v) [! ^9 S" Q" J. S/ j" I+ d& U指定下一点或[放弃(u)]:拾取直线的中点& w' {1 N8 \3 ^7 M# E+ {6 T7 u+ m
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|