|
原帖由 psbs-shj 于 2008-3-25 15:40 发表
4 f' W/ z H' d( s我学会了直线捕捉的表达式,输入的角度是已知的,但我现在要用角度捕捉来确定所画直线的角度,请各位老师指导指导呀,我看帮助没看明白 # g) C* ~# D: j1 L
摘录一些文字,供参考,(先看一些文字,然后再看下一楼的例图):9 ?: `% u# f5 \$ p0 z/ o
' X7 ]: M0 h5 A* [! w2 S1 b
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一
; ~9 c5 C& E2 O8 v
' k/ E: ]( i& L: X7 p点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的1 j/ v# N; H( s) d1 c1 t( b
( M( [" D% \6 I( ]7 P: C* y" h
辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过几个典型的实 t! {1 T D+ l& V# ?( w# r4 u
8 O" X2 M6 v% ?! P; a! f$ X: X1 o' k
例来说明几何计算器的基本应用。
3 T4 n) k& Y; V' |9 r/ P1 P2 {# H$ r; A9 i; `3 i
一:根据已知点计算点的距离。
& X, G9 G2 X- g要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,+ c; x) u5 V0 `' K
% T8 t/ b# R3 E+ E+ _3 H5 E可以使用下面的方法绘制:
: D# R" I! K8 O7 e3 B命令:
' Z, E8 ]0 p2 A# i0 R+ v; c1 kcircle指定圆或[三点(3P)/两点(2P)/,相切、相切、半径(T)]:'cal9 s/ D/ k) m$ S0 h# G0 R$ s
>>表达式:[10,20,0]+[30<60]
3 k: W% i. }5 S8 v* J, R(25.0,45.9808,0)
9 \* P! Z7 l) R2 m, u3 q7 j7 C指定圆的半径或[直径(D)]:'cal- y7 ]7 R' N( a8 }; Y5 l. p
>>表达式:dist([20,20,0],[140,40,0])
2 e1 ` B2 [# P0 e( N# V28.2843
. f5 b9 C5 O b. t7 a上而的例子中,输入“'Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。[x,y,z]用6 ]1 N/ N/ H2 G8 F
+ l P2 @3 A, z2 [
来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。
( [+ s- c V& M# b2 O- f9 w
: R1 m+ f0 R. G* S1 A9 B! w( L* a二:获取拾取位置的偏移点。& q/ k; i( }! A/ w: x- ^
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起$ y$ ?, x6 Y2 k# s
4 z6 c" i& J C7 _" C& X$ G5 M2 A来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心。创建一个圆.就可以按照下面的提示进
& I! K! c# @$ Q; C% Z$ m# |* v! Z$ M- |3 s6 y3 E
行操作:! v" {' v \6 ?
命令:
0 i. [5 T2 g0 F s* v5 v. Qcircl指定圆的圆心或[三点(3P/两点(2P)/相切、相切、半径(T):]'cal$ m- L" y* |5 l( B
>>表达式:cur+[20,30]
0 s- {& Y7 H2 z- s Q>>输入点:拾取已知点
9 z: m- q) O4 \" X. G4 v8 Z(109.58 471.58 0.0)# z2 `! w& E/ y* X7 b+ X
指定圆的半径或[直径(D)]<203 2338>:60
# h) d/ n. x& ~9 X3 O4 V完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。# ^. F. `3 j g0 B: s4 ?
$ S/ K# e. x0 g a/ u5 [8 ^
三:获得两点的中点。8 r( s. L: [8 j/ j9 f3 h# F
要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
: x3 ?( |; t, p/ a* ^! o9 _命令:_point/ @! s. N6 t, O$ m
当前点模式:PDMODE=0 PDSIzE=O O000: Z& K1 H# z6 `6 t8 _0 o/ G* c
指定点:'cal u9 b2 j- |, r3 }9 b0 {' j
>>表达式:(cen+mid)/2' M! t O5 I1 Z s
>>选择图元用于CEN捕捉:选择圆0 A- `5 o9 Z! s& F9 g+ }
>>选择图元用于MID捕捉:选择直线AB的中点P }+ d _4 i8 g5 ~+ `) @. y6 \
(754.814 602.811 0.0), r' H$ o1 b. K* Y. ]& e7 U& V
其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获
# d- k7 ]' Z1 f8 _& l6 }, e/ N) A m9 M6 F- p( D. E3 ^: ]
得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。. U6 f/ C r: N6 [& }
; D& x4 v1 D+ i$ d- O5 \. O四:确定直线上的任意点
1 q4 ~. m! I9 ]1 ]4 ?要获得直线的四等分点,可以使用下面的操作:0 ~- c( Y7 i0 W. Z% a
命令:( a( S& B0 H$ ^8 ~3 Z
point7 @6 Z& L/ A+ F( e, `3 Y- ^
当前点模式:PDMODE=O PDSIZE=0 .00004 Z4 ~# J) E" V; \) f. S. |% J- s
指定点’cal
" `& b2 M0 Y: Y* W0 R. N>>表达式:plt(end,end,1/4)
0 T8 U. B5 S" i! A. X( ?2 G s' p5 c>>选择图元用于END捕捉:拾取直线的第一点. k4 K0 w6 k+ L+ D0 V5 q
>>选择图元用于END捕捉:拾取直线的第二点
- h6 k! f1 `# @(600.073 472.711 0.0)
7 ] N2 w9 n5 m5 o上面的操作能够获得距直线第点长度为该直线总长; ^0 J6 g+ K# T# b0 n/ S
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end,1/4)则能够获得距直线第一点长
; c0 E; p8 X6 I, K( P9 N o, G" B: u) Y, U8 v, ^
度为该直线总长度3/4的一点。* R. m: w! Y2 l/ S1 n+ i
要获得直线上距一点长度为20的点,可以使用下面的操作:
0 B3 ?6 O' k' ^/ R$ ]) v' q2 D命令:7 Q; n2 T& U2 W4 I3 @$ W `9 l
point/ n5 O; ^) a2 O9 X
当前点模式:PDMODE=O PDSIZE=0.00006 c7 N, S/ W3 w Z+ E
指定点:'cal/ F9 l* |2 h5 W. h' h4 T7 W
>>表达式:pld(end,end,20)7 ^4 Q! y& n: [ g
>>选择图元用于END捕捉:拾取直线的第一点3 p' k F$ N% t$ m( Y
>>选择罔元用于END捕捉:拾取直线的第二点
8 h9 u; i r/ O. X. O(524.438 426.591 0.0)
8 n4 l; z$ H' ?* E. A' x上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造
$ R# |* H! V \5 W, K
4 D S$ i) F/ D/ d( J的虚拟直线。8 V$ q$ M7 s [
上面的表达式中两函数的含义为:+ x+ v8 U/ T" M0 ?# T. j9 r
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
( E: T. J+ N3 t: _' V" U+ B) e参数dist定义该点到点p1的距离。
. ^- L7 q" [# m% n; ]' W& W$ J, `plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
9 p, j; ] @+ w: ]4 |4 j9 |0 o$ `( v
五:确定过一点直线的垂线
6 I: N0 X, J& ^- d, y$ V要确定过某一条直线中点的垂线,可以采用下面的操作:
+ z" p+ N8 F2 ~7 V8 ]/ @: {命令: LINE指定第一点:'cal
+ _! f) [4 V1 Q- g. F>>表达式:mid+10*nee
; A$ W9 K" N4 h/ c6 K>>选择图元用于MID捕捉:拾取已知的直线
% k# A* B9 ~) ]>>选择一个端点给NEE:拾取直线的第一个端点& G* E$ K( [4 k7 s/ A
>>选择下一个端点给NEE:拾取直线的第二个端点
1 i3 v% B- S9 U! {. c ~0 ?(639.215 229.744 0.0)
5 n5 x" |! A9 \3 S! \8 j7 s, u3 ]指定下一点或[放弃(u)]:拾取直线的中点
4 a4 A2 m% ]% L9 O. A8 Z; l3 H其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p18 W G# B% G2 u' ?4 ]8 ?. S- K9 }
+ N H8 |2 t5 t" s7 @
,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指
q* u; G3 A- {; F1 R
4 `/ \$ @" h1 { R! Y( v; T向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|