|
原帖由 psbs-shj 于 2008-3-25 15:40 发表 
; o! y* _' Q: `+ \1 F. ?我学会了直线捕捉的表达式,输入的角度是已知的,但我现在要用角度捕捉来确定所画直线的角度,请各位老师指导指导呀,我看帮助没看明白 L5 _+ ~1 Q4 \9 h8 g
摘录一些文字,供参考,(先看一些文字,然后再看下一楼的例图):" K" z' W6 L1 F' Q. ~$ ~3 A
* Z; ~- Y: f, M/ E0 l1 Q3 M8 I! a
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一
0 B: p$ \ d( N2 J7 m4 }6 C
+ r r& X; ]/ D& |) U* b: s2 Q点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的7 C: `0 K4 F9 O% Z
/ a$ E7 u3 t9 f
辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过几个典型的实
c) |+ J* `: N2 _0 s; C* @. l3 _$ B$ g' _$ d3 E2 O7 O
例来说明几何计算器的基本应用。7 m" r7 x0 L. ?* I; @/ W" h* v9 n
7 f0 G0 [9 n0 H+ v
一:根据已知点计算点的距离。
0 g: p. Y8 ]& B, l8 h要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同, I S! Z/ ]" c$ W# G5 l. ]: L
1 i4 ?% a& q5 B! f, t, n& g可以使用下面的方法绘制:
9 m" s* V( P9 z- h, H+ H3 G" G: a# I) A命令:; Z- x s- N# l2 e
circle指定圆或[三点(3P)/两点(2P)/,相切、相切、半径(T)]:'cal: ~* \ R3 h! |. `, ]% J7 b: H ~
>>表达式:[10,20,0]+[30<60]2 ?- p5 `% \" F6 {4 O
(25.0,45.9808,0)
% U' t2 w8 G% D指定圆的半径或[直径(D)]:'cal- \* Y" l- }# ~2 V* |. x0 j
>>表达式:dist([20,20,0],[140,40,0])
. v7 P5 w' A' Z% l3 ?+ h28.28432 N& b1 j# i7 i \' R
上而的例子中,输入“'Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。[x,y,z]用
) G% z+ j2 y1 A- u- Y# i6 ]. F* J1 x: v% z+ O) O/ Q7 h& x
来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。: v* s" B) M. w0 ]7 ]
# N2 d2 `+ k/ ^, s* Q二:获取拾取位置的偏移点。; q+ d) @- V/ p' h1 Z) M, Z
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起1 o5 C$ T3 `; k
( T$ x' U6 Q% J( k& }来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心。创建一个圆.就可以按照下面的提示进: V8 G8 b d- F! d4 t$ _7 w
& c4 i6 h& j# T/ _3 x
行操作:$ {) {/ R! N+ n' U, U! U5 ?2 v2 L
命令:
% e8 w9 x- T/ `! D: q/ s7 J/ C# M" gcircl指定圆的圆心或[三点(3P/两点(2P)/相切、相切、半径(T):]'cal6 M, k6 s; |, c' \7 a' `0 k& }' H1 I
>>表达式:cur+[20,30]
0 q1 V/ m' d. e8 q0 M1 z. {$ @7 {6 v>>输入点:拾取已知点
4 V; z7 B" u/ `7 v0 G(109.58 471.58 0.0)
. Q2 F/ B; C. k3 O+ A1 I指定圆的半径或[直径(D)]<203 2338>:60: V" P- ?5 q5 y
完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。/ ~9 L( V, j5 D W' T: R7 s
9 @* w% _$ _5 L2 c3 U6 c/ ^; N5 \三:获得两点的中点。
& @; U' f4 n! v要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:! l' C- s7 ~! E P& h* H0 a! c" r% s
命令:_point9 i6 N9 O! y. F" I# I5 R
当前点模式:PDMODE=0 PDSIzE=O O000
+ }5 J4 ~/ j6 B" l/ _* N! v2 P指定点:'cal& J& E% R, O: H! y% m
>>表达式:(cen+mid)/28 n" ?9 }1 A4 N: `
>>选择图元用于CEN捕捉:选择圆
7 ^, o, _; w4 g, c+ |7 V0 V- F>>选择图元用于MID捕捉:选择直线AB的中点P
/ l7 \2 x0 H2 `. | e! T(754.814 602.811 0.0)
4 x5 y1 I4 ?" c( x+ D其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获
0 V/ Q j8 [1 X# D4 W
- k" w! M- ^( D9 b+ {得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。
9 b' o& v; j& u6 w7 J# I9 {1 O$ q1 Y$ J
四:确定直线上的任意点1 s2 e$ a, R( Y+ P
要获得直线的四等分点,可以使用下面的操作:6 \1 y1 I' V: Y9 h
命令:; P1 G. I! x# l" _
point$ I+ u3 s4 h4 ]3 C, d7 f
当前点模式:PDMODE=O PDSIZE=0 .0000
% o) I }" z! _指定点’cal& B6 j7 ?" V9 F9 Y
>>表达式:plt(end,end,1/4)
4 s' @) [7 Z; H>>选择图元用于END捕捉:拾取直线的第一点0 S9 A5 y( `# h5 |- `8 T+ Y) N0 t
>>选择图元用于END捕捉:拾取直线的第二点
- I( k- d; R6 L& K0 w- x/ ^" v; Z(600.073 472.711 0.0)
" n0 \3 d: f* H8 f9 F5 U) r上面的操作能够获得距直线第点长度为该直线总长
, A' j9 s0 r L$ K3 d) E, U- |度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end,1/4)则能够获得距直线第一点长* N C1 B) ?( a1 H; S, P4 ]
. V( i E" j" R! A2 [! K" v7 p度为该直线总长度3/4的一点。
7 N% v0 L1 B, d# [' W3 M要获得直线上距一点长度为20的点,可以使用下面的操作:" U6 v% c' \; u3 x; A8 k
命令:
# O8 m. t, A& b# |' Q; r- Gpoint; g6 G& ?7 l$ {' }) ?, Y
当前点模式:PDMODE=O PDSIZE=0.0000
+ L* o4 D& ^* o# \2 x2 i指定点:'cal
, v5 C9 j% }4 C! T2 v" G* z0 u, x>>表达式:pld(end,end,20)
$ g) a$ r3 t3 g. @>>选择图元用于END捕捉:拾取直线的第一点$ k6 Q( Z i5 W7 W
>>选择罔元用于END捕捉:拾取直线的第二点
& _) O8 I( |8 S3 a; [(524.438 426.591 0.0)
* m, w% k6 ^4 m4 W- x7 k7 k上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造
) u+ Z0 ~9 ~5 I0 Y2 i5 i" R; r7 q
. x* w( d4 Y8 ^/ j的虚拟直线。
) r- Q9 L B Q; o上面的表达式中两函数的含义为:
) J" v& F9 M$ Qpld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
. E" H4 r) ^. ]' ~参数dist定义该点到点p1的距离。" M: a$ @- L6 H3 m }+ V* k+ L
plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
; i+ R6 z: g5 }( M" W! y5 Y% g% `
五:确定过一点直线的垂线1 S! Y7 z( _( e
要确定过某一条直线中点的垂线,可以采用下面的操作:( b8 i( R' X, t2 A
命令: LINE指定第一点:'cal4 G6 _, m3 F2 j; |
>>表达式:mid+10*nee0 C/ g; j4 u% D) h0 n
>>选择图元用于MID捕捉:拾取已知的直线
1 s1 W# o2 b. E6 V: B7 J/ @ F+ R2 z" m>>选择一个端点给NEE:拾取直线的第一个端点% ^8 R6 v& B/ N# H
>>选择下一个端点给NEE:拾取直线的第二个端点
+ C2 ?8 l0 P, q: g8 t9 z0 _6 {" E$ m# |(639.215 229.744 0.0)
2 d7 T7 p$ G2 b& l0 ]* u指定下一点或[放弃(u)]:拾取直线的中点
, e# n: H, D' M) r8 y, O' { }其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1
: \/ F/ y& k' \5 t
6 U' T$ _3 A# G) m' r,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指
# G' }4 B |8 {5 v
3 ]% y2 _7 R( F" k5 Z; n% r! P6 n向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|