|
原帖由 psbs-shj 于 2008-3-25 15:40 发表 7 j9 |% o5 Z, Y$ P. R) Z, g6 _4 c
我学会了直线捕捉的表达式,输入的角度是已知的,但我现在要用角度捕捉来确定所画直线的角度,请各位老师指导指导呀,我看帮助没看明白
9 K( I" @: L6 L摘录一些文字,供参考,(先看一些文字,然后再看下一楼的例图):' @4 Y+ g. Z4 b6 E4 k& R
' u" Z4 A% k) z
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一
% R8 O' @& M- v. S& X6 c; S
9 m" y: Q- w+ j. H: G点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的
( @& @+ [7 Z" N/ F) D% N" r/ J$ s- ^7 F% p
辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过几个典型的实
3 O: R9 {- L, j" i$ y% h9 g) ?! I6 W2 d$ c3 d; d
例来说明几何计算器的基本应用。" L' ]" G; ~$ J
5 U/ K. T- j' b# M3 t
一:根据已知点计算点的距离。
! K9 j+ v) l+ a2 L要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,) {/ O9 t, N4 z1 u: i# j
! D |7 C! i% N* d0 o: _可以使用下面的方法绘制:( b$ S9 W" r0 S" W5 u7 m8 W
命令:" a7 A2 V7 f p' l- a& M
circle指定圆或[三点(3P)/两点(2P)/,相切、相切、半径(T)]:'cal) `+ J. Q3 D* {0 A) I; u* `; b" X
>>表达式:[10,20,0]+[30<60]/ I$ ]! ^6 L% c7 @. c% \
(25.0,45.9808,0)/ @( j q& C p
指定圆的半径或[直径(D)]:'cal
* G' t3 v+ |' H$ K5 y/ k>>表达式:dist([20,20,0],[140,40,0])
1 g- N3 d( b5 J' R28.28439 _ X7 S! Z4 V6 E
上而的例子中,输入“'Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。[x,y,z]用( F: k4 v9 l' z- Y" x: \/ j
1 r L1 ?5 `1 j
来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。
; @8 [. X) V) F/ N1 T, I9 [( k7 [! j1 a0 ]/ t5 F$ U
二:获取拾取位置的偏移点。
3 I- W6 x- l! i+ m% H5 a9 |只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起" ]" n& [' w. Q: a
) T6 j* _: f9 Y+ I$ Q6 S6 c" q+ \
来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心。创建一个圆.就可以按照下面的提示进; |6 }* l' R. E
$ V1 h- v( ?' ~$ H, @
行操作:
( P4 u& t( P) ]+ P* N o命令:( j' W6 v( o R! W3 a. V
circl指定圆的圆心或[三点(3P/两点(2P)/相切、相切、半径(T):]'cal
' X" u1 Z5 h! @8 x: E>>表达式:cur+[20,30]
# \! ~* L0 _, v0 F- m>>输入点:拾取已知点
: u( B3 q5 E+ U! _: i(109.58 471.58 0.0); p4 b7 J% O% [# A
指定圆的半径或[直径(D)]<203 2338>:60
# Z* o$ _( s6 H6 W完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。3 M; O; _! S' v" W* \; k
/ ?; J7 }: k/ @. U
三:获得两点的中点。2 H- w& q3 H" g2 S" x/ J+ Q
要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
$ J2 B6 `6 b! L) [( Z* r% p+ V7 @命令:_point
8 M4 H1 U6 P/ g; |* J$ n6 p当前点模式:PDMODE=0 PDSIzE=O O000
8 m* b. u2 t3 t5 K指定点:'cal
* G; p" U6 }2 Z( `# v, I" _>>表达式:(cen+mid)/2
- J+ U) ^, n% L2 |) u7 }>>选择图元用于CEN捕捉:选择圆$ b* E7 J/ d5 ?9 u9 w( F$ n( _
>>选择图元用于MID捕捉:选择直线AB的中点P
$ S; q+ f! k# E0 Z1 N. X* K2 \(754.814 602.811 0.0)
) Z# p4 B% L5 l" H1 q n其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获
2 q, y- Z, Q- N3 w# {
: e' j( n+ L" @' C7 N( C. b得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。
, O O* `! y1 N) K3 `& W, R1 V+ c0 ~7 R- A7 ~8 I9 n5 V" q. b
四:确定直线上的任意点# M7 |1 ^# n! g/ y1 b
要获得直线的四等分点,可以使用下面的操作:5 ~9 f, {, Y$ a' c& N+ M7 ?' I
命令:
, c c2 Q6 B0 P( j7 x8 Cpoint
0 v( K+ Y+ U9 W: A当前点模式:PDMODE=O PDSIZE=0 .0000
" E6 y2 _ T8 Y" v8 w2 `2 k指定点’cal( J& n6 V6 U) V2 T: i
>>表达式:plt(end,end,1/4)
7 E4 y7 x* S+ i4 V* x>>选择图元用于END捕捉:拾取直线的第一点# O* O+ A" n7 K1 ?/ L
>>选择图元用于END捕捉:拾取直线的第二点/ w4 G: u1 C$ w6 F
(600.073 472.711 0.0)3 w. w1 K6 z+ q- C
上面的操作能够获得距直线第点长度为该直线总长" u/ w+ u7 [# @; v D
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end,1/4)则能够获得距直线第一点长
; j- c( d* |) Z7 T/ e5 G, k2 ^. p
度为该直线总长度3/4的一点。) e4 _ M8 O6 Z- `; }% a
要获得直线上距一点长度为20的点,可以使用下面的操作:# _# r+ o- A- P
命令:2 B) c7 G% k: u0 J
point, X# t ^$ V) G; @
当前点模式:PDMODE=O PDSIZE=0.0000
0 f* ?: K8 j+ t8 n0 ~; j, o指定点:'cal1 O; {4 U& @" N0 o- g5 o
>>表达式:pld(end,end,20)
$ N3 l M2 x6 `* W1 O8 s>>选择图元用于END捕捉:拾取直线的第一点0 P& P4 Z3 N3 V v, V5 x4 C
>>选择罔元用于END捕捉:拾取直线的第二点4 V- d D$ [( ]( X' @4 H, e
(524.438 426.591 0.0)
+ y+ p* ~6 A& Y5 E上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造# q" ]* C9 y& h3 a: b" |8 z
8 ^! g% m+ L& ` B% ]
的虚拟直线。6 o$ U1 N3 p+ |3 ~: a
上面的表达式中两函数的含义为:* s8 M" E5 _/ T* z7 E3 d: a2 s" z! M
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
K, }0 ?( P0 }, w& Q! t# p参数dist定义该点到点p1的距离。
8 p5 o7 n9 K; P, W$ k" V7 d+ J4 ^& }plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。" s) _/ {6 m, s. w
) E7 x* z0 Y& v' t7 g五:确定过一点直线的垂线
: B: w6 x% P4 }; M# t, ?# P( t要确定过某一条直线中点的垂线,可以采用下面的操作:
; d/ p- T* H6 u9 q1 R9 V/ r4 c命令: LINE指定第一点:'cal
* D. H! ~0 H' Q0 Q+ P3 G$ H>>表达式:mid+10*nee
* X) u# o. }# t>>选择图元用于MID捕捉:拾取已知的直线4 j: a* k6 s4 @, k/ ]" r, t/ x4 s
>>选择一个端点给NEE:拾取直线的第一个端点
+ L$ b' T- k1 U1 s6 Y>>选择下一个端点给NEE:拾取直线的第二个端点. P$ r3 C T7 H- r/ ]/ \
(639.215 229.744 0.0)6 f; n+ w' v. Q2 a* s- D5 G+ `
指定下一点或[放弃(u)]:拾取直线的中点0 a8 H$ @' [' G1 y* y# h+ W1 ~
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1% D, |( h( [: t+ X1 K" G
?) P% D Q' }! W5 h,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指6 S' H" ?& [& h* s0 @
' k G; l1 K& q( _8 _# T3 k9 d向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|