|
原帖由 psbs-shj 于 2008-3-25 15:40 发表 
8 `- k- l5 k/ T我学会了直线捕捉的表达式,输入的角度是已知的,但我现在要用角度捕捉来确定所画直线的角度,请各位老师指导指导呀,我看帮助没看明白
' _* m- f7 L# B7 Y. f/ z摘录一些文字,供参考,(先看一些文字,然后再看下一楼的例图):
, E k9 r$ p. T6 x- M- E9 q
/ W+ N+ y. S- Z% Q# i+ @在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一6 m7 P2 B, \$ Q8 ]
9 X2 [% f; ^$ M4 I( w5 M# O5 w
点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的: a/ C n+ H+ Z9 f \( x$ ~2 U
* j/ T7 w" L7 ? M0 b! T1 `4 p
辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过几个典型的实0 D8 z1 T1 z8 J F+ n; J9 j% b
0 b. q, ?9 q2 t4 ]例来说明几何计算器的基本应用。
4 \' C; M5 L7 l' A) d" z' V3 X2 t- [' `% g% S9 B& D) m2 y# f
一:根据已知点计算点的距离。
2 s9 i! U* H3 q要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,
q1 ^4 j4 l+ s+ ^
8 u# X7 o* ]/ c3 A% q; ]1 ^可以使用下面的方法绘制:+ b4 l7 t8 k* n3 }8 n1 W
命令:! \9 o: a0 e* U9 A* u+ M l
circle指定圆或[三点(3P)/两点(2P)/,相切、相切、半径(T)]:'cal
1 `& c8 y& h- N* w6 f>>表达式:[10,20,0]+[30<60]3 n5 K3 W- J/ h- }9 A
(25.0,45.9808,0)
l1 l' h* U2 J5 j) m& @1 `# Y) V9 G指定圆的半径或[直径(D)]:'cal( d& z! D0 s8 \0 e7 T5 p
>>表达式:dist([20,20,0],[140,40,0])4 ^' X; T5 K" D% N; ^
28.2843
) o9 W+ ]% c& p9 R) U+ q% I上而的例子中,输入“'Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。[x,y,z]用9 o) ?2 E' {2 P
1 B! J/ c2 f) [- R
来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。/ H; Q0 q' b& ^3 A! r" V
; J- V( {) }6 _1 h1 |7 I3 l
二:获取拾取位置的偏移点。2 h7 r4 ~" b5 b5 O
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起
8 u7 }* s4 p% V8 Z, @2 V+ F- q/ y' l4 h
来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心。创建一个圆.就可以按照下面的提示进
8 n( P. G- M4 A4 x1 m) r' o+ V9 Y) g$ ~' ~0 H
行操作:
0 O% \, N2 i7 u; K- M命令:* w- i( B! p0 k, ?9 l
circl指定圆的圆心或[三点(3P/两点(2P)/相切、相切、半径(T):]'cal U, n- \+ N6 P3 F- u
>>表达式:cur+[20,30]! A( \" m/ E) w# P# z9 J$ a
>>输入点:拾取已知点
' w+ I' O& Y0 t- {(109.58 471.58 0.0)+ O7 s( m" |0 U- p7 Q0 E
指定圆的半径或[直径(D)]<203 2338>:60
5 g8 r! y) H0 m( w& p7 ?完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。/ H {. s. ^+ h2 F
X3 Z0 n$ n$ g4 t. ^7 o9 ~' V/ h三:获得两点的中点。6 v7 g+ n$ j% m6 x2 X
要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
! Z4 Q0 y5 `9 @! w* h命令:_point
% L' `3 h& _+ [% i当前点模式:PDMODE=0 PDSIzE=O O000
& Y8 _0 p9 ~$ P2 I- j' {指定点:'cal/ m7 z+ E. D+ q7 t* p
>>表达式:(cen+mid)/2# z6 @+ h5 l! h# b
>>选择图元用于CEN捕捉:选择圆' S' o: V! K$ L8 P# K/ z) o
>>选择图元用于MID捕捉:选择直线AB的中点P
' v. z0 v; m& l, L(754.814 602.811 0.0)3 @1 i5 X; ^' W3 \* V
其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获
+ P5 \ o+ [9 w/ a A7 T2 [
9 U5 A* T5 p" W% \& ]+ K9 a( n1 [得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。, l9 h% ^* G d/ O0 E
; p- W w1 ^7 i! H" x, Y, l5 W四:确定直线上的任意点 |# k- b% P2 }
要获得直线的四等分点,可以使用下面的操作:1 B" S" B) Y9 r! _* i
命令:
2 t; }6 C7 K5 t* J7 u2 jpoint& a& I$ J$ ]+ D! h8 j' c5 b& l
当前点模式:PDMODE=O PDSIZE=0 .0000
7 B5 K U* Z2 z+ t8 @指定点’cal. ?0 Q2 \* F0 v
>>表达式:plt(end,end,1/4)
' X6 J$ q8 E, i+ Z>>选择图元用于END捕捉:拾取直线的第一点
$ i7 l! ^6 q; c$ s* w% l R; [>>选择图元用于END捕捉:拾取直线的第二点
2 ]. @) o5 L9 m& j, `" f(600.073 472.711 0.0): b( X/ w1 P/ C" m0 I
上面的操作能够获得距直线第点长度为该直线总长
( Q6 A$ Y8 f/ ^0 _8 Y" D% s度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end,1/4)则能够获得距直线第一点长2 }5 @( j1 K# A4 N
( t. S) T9 o2 z L
度为该直线总长度3/4的一点。
" }1 T. X0 V3 c5 |/ F要获得直线上距一点长度为20的点,可以使用下面的操作:8 \* S1 G5 _% x" t# t" \% ^6 D
命令:
; R/ N- a6 k/ T) k! p1 }4 n- epoint
( H- G( P1 _1 O当前点模式:PDMODE=O PDSIZE=0.0000
: s9 k& I& _; @% g指定点:'cal
]' N$ ]1 @8 q$ T- G>>表达式:pld(end,end,20)
. `9 [% l. d9 V. G>>选择图元用于END捕捉:拾取直线的第一点( j+ M- B, r- c* D7 V& G
>>选择罔元用于END捕捉:拾取直线的第二点
- S/ S7 Z4 @0 n: Y(524.438 426.591 0.0)/ ^% l' q' U8 W& ?( U) Q
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造- d; V. Y% r. D6 R
6 S: g, T% S0 X的虚拟直线。
$ A* t, N( A+ C7 g, j- U' Q( s- x上面的表达式中两函数的含义为:( U ]2 |5 s& c( ^. }5 r9 p: T
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
2 B9 V( Q1 [: E! V参数dist定义该点到点p1的距离。3 u& w Z9 p# Q$ q0 e
plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
7 _1 C8 o' P8 x
/ _, [& }( Q! X9 H9 n* D' h& N五:确定过一点直线的垂线
/ B6 g, e6 l( ~要确定过某一条直线中点的垂线,可以采用下面的操作:. E- d$ ]+ r; [9 N7 j" y* d% `) h" L) O
命令: LINE指定第一点:'cal
$ ~: a( g! H: c( N7 w$ z! ^+ H>>表达式:mid+10*nee( e" D6 }, R9 R& q6 J2 S
>>选择图元用于MID捕捉:拾取已知的直线
1 P/ E0 M V. y1 L4 `8 s. v. g/ D>>选择一个端点给NEE:拾取直线的第一个端点* H. Z) F1 @& e7 l E' k% r
>>选择下一个端点给NEE:拾取直线的第二个端点! K5 i: R: ?3 W( Y# G
(639.215 229.744 0.0)
" ^0 A3 v! ?# e# e6 A指定下一点或[放弃(u)]:拾取直线的中点% ~$ v+ D7 m: s4 ^/ T2 X- b T+ B
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p18 |: ^5 m3 b4 X# s) E9 r' }3 {
; ~2 S; O8 \% u
,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指7 G; f* y/ K9 A8 W: ~4 W- D% c
! U+ y4 d# n; s: c- q向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|