|

楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表
% K7 e0 F3 ?6 [ \+ }, b请问斑竹:
( c7 y# Y1 U. K1 ?那里有关于表达式(CAL)的资料可以供参考学习? 4 q' F- G: N* a: T8 V
. [/ e0 z/ d- }: d# @$ g# J5 g我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)! L" J6 \, j$ J4 j; H8 l
5 j+ @+ a9 C6 ^* e. M0 e8 X
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。
7 w6 B& T+ h* u# n5 C, K3 Y& O) Z
第一招:根据已知点计算点的距离。( ?. K% y$ Q# U1 L' g& G$ @
要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:
& D& t5 H+ k, Q4 m8 u命令:
/ E* a" x) B+ V) t+ wcircle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal( V/ }. ?' {7 s2 r
>>表达式:[10,20,0]+[30<60]
# w& C0 a, @: M7 k9 q* l) f(25 .0, 45. 9808,0)4 K! ]0 k$ C+ g/ `
指定圆的半径或[直径(D)】:'cal
. w( c5 S _% y# G) {) c>>表达式:dist([20,20,0],[140,40,0])+ X8 f( |% j; h; V9 c- A
28. 2843
- v( y8 l$ k( z5 x0 G上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。, A- G" A+ r) f) x% S# H s
: d6 y8 h9 K0 R# F
第二招:获取拾取位置的偏移点。4 d; x, r% n0 [" J# S( ~5 ?, X! `) O8 M
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:/ D' t0 q6 r% m% o7 ]) {
命令:
9 h) C1 n3 U/ w' ? d* t% rcirck指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal( y/ w4 V/ a- [/ }7 r2 J" i
>>表达式圳r+『20,3 ol
# q' y5 M) R: f* E, [>>输入点: 拾取已知点 r [5 ~$ Q( q- ~8 m4 g
(109 . 58 471 158 0.0)
6 n) S# N3 d: ]& a5 {/ Y指定圆的半径或[直径(D)]<203 2338>:60
; z9 e" e0 D' u' E$ y) H9 k! h) u5 o完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
2 v1 d" ]* p: J1 Z( [
* R+ u( R" n; a2 c第三招:获得两点的中点。! ]- x$ u4 [" H# s+ Z3 Q% o
要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
6 T2 ]- v9 A4 } ~# Z: Z命令:_poInt" @* Q) j: E; a% |: S
当前点模式:PDMODE=0 PDSIzE=O O0003 w/ N# {' V% Z2 s: }# I
指定点:’cal+ ^7 ^/ `* u; z) e
>>表达式:(cen+mid)/2, S# G7 W" k% ?4 o3 [
>>选择图元用于CEN捕捉:选择圆
3 w8 F) n2 [- ]* j% k# c' f3 j>>选择图元用于MID捕捉:选择直线AB的中点P- G/ u" K8 y i+ @: j5 U. K" w# ~
(754. 814 602. 811 0. 0)
+ Q+ P" l" x* j0 B. N其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。
1 ~( b( ~; h9 c1 {& ~2 @9 G$ m* _$ o! e7 p
第四招:确定直线上的任意点" p* N/ @& Q" a ]5 q
要获得直线的四等分点,可以使用下面的操作:/ j( } R# z7 k- ^
命令:
8 a0 l! b2 u+ d8 N1 |( S" u, i6 [point) ]* f% t* }4 E8 j$ L
当前点模式:PDMODE=O PDSIZE=0 .0000
6 U3 Z2 U9 E# I指定点’cal
' H% {% l9 F/ S9 s& T" [>>表达式:plt(end,end,1/4)
# W8 C( x* N" F>>选择图元用于END捕捉:拾取直线的第一点
5 M# ]* d5 }9 \>>选择图元用于END捕捉:拾取直线的第二点9 Z6 r, z g; F9 N, Z
(600.073 472.711 0.0)
0 T0 G4 p X! U! W8 M上面的操作能够获得距直线第点长度为该直线总长1 N1 D$ Y! A0 ^* q- X0 G; j
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。% a7 ?3 z# U; n/ N
要获得直线上距一点长度为20的点,可以使用下面的操作:
7 w% I9 N, e+ }- p2 x1 y命令:9 u& E0 `0 k7 S9 X1 }) P& g
point/ J, c: I+ `/ c0 L0 K' v; |. s
当前点模式:PDMODE=O PDSIZE=0.0000
$ N2 d8 A* [9 j" q. \: l; b指定点:'cal
# m6 W4 W7 b# C" L0 N>>表达式:pld(end,end,20)8 L3 ~/ _9 u. P3 L N
>>选择图元用于END捕捉:拾取直线的第‘点
F) l% |# z1 O b>>选择罔元用于END捕捉:拾取直线的第二点: X" M4 P. p$ G$ ^4 G8 d* A9 C
(524.438 426.591 0. 0)( p8 d6 B! q# V. V+ B' w5 z+ o7 f9 R) ?
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。0 B1 J4 b" j% q' v6 p8 y0 n# X! {
上面的表达式中两函数的含义为:* C3 k" x$ U: A* D8 y. k& d
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
7 D+ T$ y9 W, c/ W8 e, |: |0 z参数dist定义该点到点p1的距离。
- D* V: C0 U5 b3 ^- Lplt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
4 B& s9 ?- _" d! X/ |/ Z+ |+ g% J
6 p2 b" o7 Y. w, h1 e第五招:确定过一点直线的垂线
3 o+ P4 b$ R7 O& R/ J% Q( C) ~要确定过某一条直线t”点的垂线,可以采用下面的操作:8 J4 @- X" c. j {9 Q- J
命令: LINE指定第一点:'cal
3 P1 _, f$ U% v$ H1 h- D1 v>>表达式:mid+10*nee
, ?' O; q1 K$ \>>选择图元用于MID捕捉:拾取已知的直线 H7 v. x$ @- h2 ]# U) J* @/ e5 t
>>选择一个端点给NEE:拾取直线的第一个端点2 ]. ]6 c+ {1 N5 c8 I6 |
>>选择下一个端点给NEE:拾取直线的第二个端点8 r- S5 o5 ~2 M
(639.215 229.744 0.0). m# M# D. [. m, [5 V8 H
指定下一点或[放弃(u)]:拾取直线的中点
* E# F4 f+ D x3 \# f& ]- | w+ d其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|