|
|

楼主 |
发表于 2006-10-26 23:46
|
显示全部楼层
CAD中CAL命令的用法
原帖由 chaifenggui 于 2006-10-26 04:02 发表
( n& e9 j+ @& h, w' e请问斑竹:
, s" x E4 L, t9 w$ w4 @8 [那里有关于表达式(CAL)的资料可以供参考学习?
+ }. Y9 z# H' @. [' D0 k; c5 A: R
我在网上掏来一篇,不知对你是否有用。(如有错漏之处,请指出,谢谢!)
2 K9 O* A" u2 z. ?; g1 E) W* h" @! ~. @
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过5个典型的实例来说明几何计算器的基本应用。
. t$ [. b% @. V7 v; O. p7 p$ ]! M8 k, }
第一招:根据已知点计算点的距离。
8 ^& b! _5 h, U1 {要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,可以使用下面的方法绘制:
* S5 y9 ~6 M0 j) a: C! M- N1 U命令:# {4 O( C6 [# E/ x' `! g; p
circle指定圆或[三点(3P)/两点(2 P)/,相切、相切、半径(T)]:'cal5 X( I {7 Q* [* ~- X7 e% \& W
>>表达式:[10,20,0]+[30<60]5 e$ I) s* P! g; e
(25 .0, 45. 9808,0)6 G. l0 `) M7 s t. m6 _3 z+ s% w
指定圆的半径或[直径(D)】:'cal
: ], s9 c3 @0 ]>>表达式:dist([20,20,0],[140,40,0])9 C" c; t3 p1 y
28. 2843
2 s2 T) @" h. X5 e- D* h上而的例子中,输入“’Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。【x,y,z】用来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。
+ D) g8 q2 m# g- {8 x. x: C3 D3 Z4 K, P' t2 {* j
第二招:获取拾取位置的偏移点。9 I0 ?1 c0 X, \; l
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心.创建一个圆.就可以按照下面的提示进行操作:% S$ \2 q+ S+ x# Z1 x( T
命令:3 Q) |( |* C- O: E; k2 Y# b
circk指定圆的圆心或[三点(3PJ/两点(2P)/相切、相切、半径(T):]'cal! p6 |* m2 k+ B+ b% v' Y
>>表达式圳r+『20,3 ol
6 t; y% |* G6 W; i3 z K% D j>>输入点: 拾取已知点/ |3 _7 f) J! p& M. u
(109 . 58 471 158 0.0)6 p4 F+ ?+ X9 i, d
指定圆的半径或[直径(D)]<203 2338>:60; v3 w4 Y" p! K2 `2 ~
完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。5 F; ~7 I" Y' |6 o& U8 f
5 M3 E: \$ [, |& G第三招:获得两点的中点。
2 D6 P2 W3 J. g: D3 X& ]要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:% v* R" C- l0 [
命令:_poInt
& H; W9 \4 {: { u. Q [/ s当前点模式:PDMODE=0 PDSIzE=O O000# y; C) U: Q8 Q8 Y- y; C b9 ^5 |
指定点:’cal% R# u1 g# c3 g
>>表达式:(cen+mid)/2# s/ ^2 B9 z* I! u
>>选择图元用于CEN捕捉:选择圆: M( q/ @3 U& x, ~; D% X
>>选择图元用于MID捕捉:选择直线AB的中点P* F, G: A$ x8 O5 \7 |- O
(754. 814 602. 811 0. 0)
2 |3 ~3 W" W3 f# G其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。3 a% P3 T) I% H! M [* o
" {; l6 j# W( M) ]% B! Y$ j2 _第四招:确定直线上的任意点! T9 j9 d5 z' T
要获得直线的四等分点,可以使用下面的操作:% S4 L0 B% U `" P" B/ V+ E$ Z% \
命令:
0 p1 J6 p6 a+ x# N. mpoint
# ]9 |6 r4 ~7 m当前点模式:PDMODE=O PDSIZE=0 .0000# C& |- I( h( y' j+ N& \4 l& G
指定点’cal
/ v' {6 Z m( N7 k. _+ _% v>>表达式:plt(end,end,1/4)
" k/ i6 \8 }4 ~>>选择图元用于END捕捉:拾取直线的第一点. T1 r* a2 [9 {3 Z2 I2 i
>>选择图元用于END捕捉:拾取直线的第二点
* F% a5 G7 T% m9 M3 K(600.073 472.711 0.0)
' {0 l$ z* q' w; F6 @ j上面的操作能够获得距直线第点长度为该直线总长5 {; d. h5 {4 i0 ]
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end.1/4)则能够获得距直线第一点长度为该直线总长度3/4的一点。; h# U4 d P. H; d
要获得直线上距一点长度为20的点,可以使用下面的操作:2 E* `0 c- @4 W5 D) A
命令:
. C; K1 U; B9 o7 D. G! u1 wpoint
4 i* w c. m+ A: h9 V3 J当前点模式:PDMODE=O PDSIZE=0.0000' I7 r- ?# v% p" P/ a: o
指定点:'cal
! T# _ `/ ?8 T>>表达式:pld(end,end,20)$ N6 \& M2 i! a( m
>>选择图元用于END捕捉:拾取直线的第‘点
; S9 e- g% d. ? ?3 j>>选择罔元用于END捕捉:拾取直线的第二点
. z, |# \6 O s J# O7 p# t(524.438 426.591 0. 0)
+ x4 @$ x' R4 \1 v4 U上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造的虚拟直线。
$ C6 O9 K( V& F% e& J& T上面的表达式中两函数的含义为:
& b5 ^8 D0 c* C) Kpld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
; J l3 e& \0 {) ]) J' x5 n参数dist定义该点到点p1的距离。
/ L; [3 v. O3 {/ f5 Tplt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
i* j9 m3 o5 `# p3 M( y( K: `! w b* O& _6 z9 i- ?) H
第五招:确定过一点直线的垂线 `2 F2 o) q8 A( |2 O: a& H4 J
要确定过某一条直线t”点的垂线,可以采用下面的操作:
6 U6 M" ?6 M9 Z* E1 M% b命令: LINE指定第一点:'cal4 V. _$ s' x# l9 \
>>表达式:mid+10*nee) B! z9 |& R$ [/ [/ E9 p5 F3 \
>>选择图元用于MID捕捉:拾取已知的直线5 ~% t+ y. ~) p/ v. o( Z! J* y
>>选择一个端点给NEE:拾取直线的第一个端点
4 V- b! K S% g4 L0 _8 x/ ^>>选择下一个端点给NEE:拾取直线的第二个端点
& O4 _' W) m2 S7 g(639.215 229.744 0.0)
. s5 M: X' ]+ N指定下一点或[放弃(u)]:拾取直线的中点
- `( k* h L8 h# z其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|