|
原帖由 psbs-shj 于 2008-3-25 15:40 发表 
" e! x4 c7 x9 j% A$ `我学会了直线捕捉的表达式,输入的角度是已知的,但我现在要用角度捕捉来确定所画直线的角度,请各位老师指导指导呀,我看帮助没看明白 7 _5 u8 L, o9 y6 O
摘录一些文字,供参考,(先看一些文字,然后再看下一楼的例图):
0 \$ v' J$ J! o2 R/ R4 s+ z. }; v4 u* g1 b, o6 i1 h7 z
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一6 F$ I& q0 Q; C: U8 j l1 |) V7 l
! b" l4 w7 l P6 }% ^! X
点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的
; ]3 a- p) W" j- U+ y8 A( P! ?
: n4 K F1 G/ c9 `( u+ X, |辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过几个典型的实$ m9 B4 L3 J' w1 Y
, s# [4 E. V% h( N- Q" f' h
例来说明几何计算器的基本应用。" j4 ]- m4 a7 g+ i3 M! ~/ e; c; _
7 @/ k$ @6 N Q$ ]8 u, n0 {5 W4 Z8 i一:根据已知点计算点的距离。# d% d; {4 e+ ^/ H6 w& U
要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,
( S D8 W+ B' S
: W6 [0 d3 n* q. V( Q. k可以使用下面的方法绘制:) {1 ]' N; m- q0 M+ z
命令:( A7 P9 A: H" p2 i4 c
circle指定圆或[三点(3P)/两点(2P)/,相切、相切、半径(T)]:'cal
4 `: i5 ~0 }. E. U- c>>表达式:[10,20,0]+[30<60]
' c* P4 n, I- p/ \8 Y- S5 F6 R(25.0,45.9808,0)
2 y4 E* ` P2 ^* Z! f8 G6 q' R, K指定圆的半径或[直径(D)]:'cal. ^. d2 R5 }) O2 s! z: H/ S
>>表达式:dist([20,20,0],[140,40,0])
: i! W0 w; ]4 u4 M& w. k( }, C2 D8 y28.2843( q# B1 s/ j" V$ H. V- w
上而的例子中,输入“'Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。[x,y,z]用& s! A$ T$ F- d! \8 g4 K" X& v$ D
- r- {4 Z6 J# L来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。
, G7 K! Y! V7 S, V8 I: t7 C4 U2 f0 f7 `1 ]' W' u, `) }% S
二:获取拾取位置的偏移点。
" w( f. f! h4 h) d% z. O% F& L只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起
5 I% A" ?5 e: [2 B% \% {% m9 o1 |) s5 ]3 y9 w$ G$ w6 Y
来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心。创建一个圆.就可以按照下面的提示进
7 R5 [8 P9 ~* L& x) q6 L. s
; R: I+ \' _' m' v行操作: z; @% \% X- N4 { l
命令:
" F8 Y4 c) [2 J; Q( }5 Y# bcircl指定圆的圆心或[三点(3P/两点(2P)/相切、相切、半径(T):]'cal
/ y& ^7 J3 s5 t- H) j% W5 H>>表达式:cur+[20,30]
/ r- B3 i {* F% v/ \( w1 I>>输入点:拾取已知点
: E) q3 h" [; N; H- D( ^4 ~(109.58 471.58 0.0)
+ z& {9 g3 h; q3 ~指定圆的半径或[直径(D)]<203 2338>:60
! d/ Z% S9 T( E1 O完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
. T: g N& B8 n% z. b8 U
' d0 Y6 x& }- U4 ^三:获得两点的中点。
) y) g0 F6 [$ ~6 @要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作: T/ v( ~. ^3 t. [
命令:_point
& ^5 Z1 w6 P2 x1 |当前点模式:PDMODE=0 PDSIzE=O O000# D+ W% {6 K( `5 I
指定点:'cal* W3 |, N$ T! p: Y7 j& X8 \
>>表达式:(cen+mid)/2- \6 m' F( u/ K& [8 @/ h
>>选择图元用于CEN捕捉:选择圆
1 _- A- }% {# N1 P+ A2 O" N' ^>>选择图元用于MID捕捉:选择直线AB的中点P8 G8 t ]- p5 f, C; K. y q$ M
(754.814 602.811 0.0)8 N3 ^# U7 p2 f% q( _
其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获
" Z7 I$ k z6 r7 ]' m d, a( z0 i! j; `+ r" n
得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。
- z9 W) o' u* E1 `# r6 c8 M- p( }) I3 b- L& m% ^) Y. [1 E4 Z
四:确定直线上的任意点4 ]4 p* }9 K. @+ E( ^7 r
要获得直线的四等分点,可以使用下面的操作:+ d9 J' C' N; U% Q& D2 c$ u; r' q9 {
命令:
$ c( l- N( O: }point7 A2 @8 {6 u0 ?/ m/ a5 i/ C
当前点模式:PDMODE=O PDSIZE=0 .0000
n4 a, t% Y5 F. E指定点’cal+ K+ s; H$ f/ N7 j0 w: C) u* H
>>表达式:plt(end,end,1/4)% g" c& \% x0 e4 M! d) h* A$ F& h
>>选择图元用于END捕捉:拾取直线的第一点
: Z; W4 _! E+ t- z, L, \>>选择图元用于END捕捉:拾取直线的第二点0 r( P a1 r$ f Q9 p4 F7 d
(600.073 472.711 0.0)
; L& O; J- s) L6 O上面的操作能够获得距直线第点长度为该直线总长
* L0 b: H. D# ?$ a ~4 Y* m度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end,1/4)则能够获得距直线第一点长
8 ~# y' |% ?8 d' J5 A! F0 T! H, e8 p, n* ]9 ]7 {$ { p
度为该直线总长度3/4的一点。
; H& v; V$ e1 R" w要获得直线上距一点长度为20的点,可以使用下面的操作:
/ P* }: Z9 V! z6 D" B1 f9 }命令:, H6 N' k+ R; L# s
point
z+ l2 Z6 Z) A! z( }当前点模式:PDMODE=O PDSIZE=0.0000
; x2 X" Q- A2 D* Q指定点:'cal7 O1 P a9 I; b
>>表达式:pld(end,end,20)
) M7 X( [8 c. f5 I3 a! B. D2 Y8 d9 q>>选择图元用于END捕捉:拾取直线的第一点
& m$ k) B# N7 V0 y. @- \+ x9 d) x>>选择罔元用于END捕捉:拾取直线的第二点: E) k$ b3 l8 z5 \: l: h) s
(524.438 426.591 0.0)
4 y# j' r0 F- I0 I$ ?上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造
% N( E$ O U0 V# ?1 n( y& \8 M4 @' u6 U1 t
的虚拟直线。
% _2 W2 i: X/ R+ T上面的表达式中两函数的含义为:
2 P" S$ R8 A' Z* M7 x! Vpld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
4 s+ H% x# u9 E$ A参数dist定义该点到点p1的距离。
0 g5 o" c0 p* Splt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
' ?9 w c( K8 _% I3 ?1 [( T* N4 V- X; n) X/ D4 a6 M% q% I& m
五:确定过一点直线的垂线
3 l9 N$ [* ^, N+ [要确定过某一条直线中点的垂线,可以采用下面的操作:
- `. B6 b$ q4 |6 r1 K3 o0 Z命令: LINE指定第一点:'cal& F7 d# |1 s& e' ]5 N" X
>>表达式:mid+10*nee
) v8 Z/ A1 }8 R% a' Y>>选择图元用于MID捕捉:拾取已知的直线
2 e8 g# @4 x- ]- \* O>>选择一个端点给NEE:拾取直线的第一个端点
: |# D# u) }/ }$ |>>选择下一个端点给NEE:拾取直线的第二个端点
9 f/ x* @3 Q9 z, E# [% i(639.215 229.744 0.0)/ ~% c9 O/ D$ r6 b1 b; z' U3 `
指定下一点或[放弃(u)]:拾取直线的中点4 K& p# b/ D3 u
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1+ U5 B4 F7 U/ G4 a
. M/ ^" b0 o- M/ e; ]2 Y# m5 w" R2 Z
,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指
* Y: l% J* L+ ?0 x$ F9 l3 ?7 T
+ U1 ` t% d5 D向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|