|
原帖由 psbs-shj 于 2008-3-25 15:40 发表 ) m" J* C$ X3 H, m" q
我学会了直线捕捉的表达式,输入的角度是已知的,但我现在要用角度捕捉来确定所画直线的角度,请各位老师指导指导呀,我看帮助没看明白
: V1 y8 J2 ~5 |3 [# X/ a摘录一些文字,供参考,(先看一些文字,然后再看下一楼的例图):' @1 U1 K& |0 O, C; p+ G8 Z- ]6 V
# E; ]* m8 \! S+ m
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一) X4 c" G3 B) C3 Y, V# S
H a( n ^0 J$ k2 o点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的
& w; B* L9 Y/ J- B* U6 u
9 _: t4 B' @6 C4 R1 I4 y辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过几个典型的实; s: F5 f5 r( `" f
) `/ I1 ~/ h, X+ }& h
例来说明几何计算器的基本应用。
- j( n3 J& K; J9 @7 i( i4 r
% O: @) ] U% z0 ^2 Z一:根据已知点计算点的距离。: I @/ ? i; \
要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,5 i8 j) X* L' v: n! n0 o
8 A" e( I, Y) R5 Q3 r可以使用下面的方法绘制:
) O g! J2 q* g/ m3 K命令:6 ?$ G5 l* r9 e: k
circle指定圆或[三点(3P)/两点(2P)/,相切、相切、半径(T)]:'cal- Z/ C' C4 j+ J: B+ ?% `
>>表达式:[10,20,0]+[30<60]
# u* S5 N9 k! z+ d; z T x. G+ I5 G(25.0,45.9808,0)
- y0 {3 X* q8 \指定圆的半径或[直径(D)]:'cal" N" f% l, S1 P* i2 P/ x
>>表达式:dist([20,20,0],[140,40,0])
. Z# J; T8 ^9 i" _28.2843
+ p( w3 R+ l4 F* z! n ]上而的例子中,输入“'Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。[x,y,z]用% b/ J$ y5 h& ?- K. d
0 `$ e7 t u$ r, A! N: b
来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。% G1 ~9 ?: H: N5 \* @4 Y
* y( C d6 p, ]$ k- q% L+ h" E
二:获取拾取位置的偏移点。1 ]6 x' }' G; ]) b
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起
; e1 V; y+ e% Q! B; ^
. f; K* i) Q: e8 y/ }) g& _+ C来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心。创建一个圆.就可以按照下面的提示进
) u5 \0 I& w0 ~. Z' G2 M$ E6 X; \# ^+ O. G9 G" P
行操作:% e* r3 g, E' x( r( l! \8 S
命令:" S3 g/ e* H0 H( F4 L0 t/ t/ t9 q2 E
circl指定圆的圆心或[三点(3P/两点(2P)/相切、相切、半径(T):]'cal
1 D. U2 M! t r# P V( y>>表达式:cur+[20,30]: g' ~' `4 f1 [: i. T
>>输入点:拾取已知点( C: S* K6 Q* ?, d3 f
(109.58 471.58 0.0) m S: M7 K. E/ {9 Z, |9 t6 C
指定圆的半径或[直径(D)]<203 2338>:60- E5 Q. e- P0 X3 Q6 G1 {6 r
完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
$ X }. j# o9 R3 f. m. r8 n. R: P! \* s9 @" C' R) A
三:获得两点的中点。' {( N3 z' P. _8 M5 \
要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:' w# Y* }$ u& I2 d2 P6 r I
命令:_point' f/ w9 l* a5 y! f
当前点模式:PDMODE=0 PDSIzE=O O000
* e' X2 X7 Z j指定点:'cal
m* f; m) J- Z) z( f; F# C. M, ?1 A3 k>>表达式:(cen+mid)/23 T' g; u, e* H9 N& h
>>选择图元用于CEN捕捉:选择圆: u' x3 v" `1 U2 ~
>>选择图元用于MID捕捉:选择直线AB的中点P
) i: K2 b. g6 A& j(754.814 602.811 0.0)
- B3 y$ v! \1 r, n7 h, M7 l0 Y. f其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获/ X7 A: } R2 f
9 x9 f# N; |! `/ E
得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。# Q5 X" @, A" H- [2 N3 Z, w
; o, A, I, {* x0 G4 u, L
四:确定直线上的任意点
y f- k9 A2 c2 Y* P& L要获得直线的四等分点,可以使用下面的操作:9 {4 Q8 Z' P4 h h+ [: Q
命令:
- q! K/ K) a6 e, a5 ^; n6 mpoint: }! h0 r$ O g) _! S: [3 F
当前点模式:PDMODE=O PDSIZE=0 .0000
+ o6 L7 v/ c* G6 F* b; n指定点’cal
$ U5 r! ~: Y4 v>>表达式:plt(end,end,1/4)/ f7 [$ N0 x5 w8 J* N
>>选择图元用于END捕捉:拾取直线的第一点
3 O) \* K" s! W. W& z' G( S>>选择图元用于END捕捉:拾取直线的第二点& V, V$ H1 J+ ]3 d# o/ O
(600.073 472.711 0.0)# _$ \; c3 w+ G' S6 G
上面的操作能够获得距直线第点长度为该直线总长# l `0 P) c# i+ m, W+ _3 j
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end,1/4)则能够获得距直线第一点长
) n% d1 L- h; F) f: Y
" g- m$ ?6 N: I度为该直线总长度3/4的一点。
$ A& f6 t4 I5 n g! V; c要获得直线上距一点长度为20的点,可以使用下面的操作:2 W: p" v& s) x: X7 G
命令:
6 D1 v1 U. R( {4 Y6 F& E. q% |point
( A3 b2 Z9 z/ {( O当前点模式:PDMODE=O PDSIZE=0.0000
5 x1 L- c" u6 \0 a0 v5 Z, C指定点:'cal# Z2 c2 w$ q7 G8 e5 b+ F3 b% _
>>表达式:pld(end,end,20). v; e" G, ~. I/ s
>>选择图元用于END捕捉:拾取直线的第一点3 c/ ?9 d. r5 {9 i& t9 c9 B
>>选择罔元用于END捕捉:拾取直线的第二点
- Z6 `& z+ L2 f8 t4 P(524.438 426.591 0.0)
+ ]5 c. B5 P2 [: d1 ]8 E/ H8 k% Y% X上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造
. m0 ^% |6 O6 R) ^% _. m% J/ D* m
$ L( o% R: v* l4 \$ ^- S1 ~' G的虚拟直线。
, m: I' C% |0 g+ w, p上面的表达式中两函数的含义为:( I* ~8 s' G J) n7 O
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。! Y3 v# \8 V8 k
参数dist定义该点到点p1的距离。
8 o# T/ {( ]4 n2 Z* `$ [plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。% ^ O; g- g$ |
3 S6 P% t) D% ]1 x& X% c五:确定过一点直线的垂线
5 c% d1 [6 c/ ]) B. f2 M要确定过某一条直线中点的垂线,可以采用下面的操作:. A9 ?6 S7 w! K- r* b
命令: LINE指定第一点:'cal
, O! p, L! }6 E2 t>>表达式:mid+10*nee r+ H; o) O8 x5 ~
>>选择图元用于MID捕捉:拾取已知的直线0 q% H; `. ^, d2 Y* O$ z9 E+ P2 Z$ I
>>选择一个端点给NEE:拾取直线的第一个端点$ _4 R# [$ j' l2 L$ l4 O
>>选择下一个端点给NEE:拾取直线的第二个端点
; g1 M8 J9 E$ X% V8 g(639.215 229.744 0.0)% P" A1 Y7 d! m1 m+ S+ ]7 l* c! t
指定下一点或[放弃(u)]:拾取直线的中点1 d- U5 N6 c& ?) A( v% O
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1
3 ^4 {- ^1 E# J' F8 m: ?8 o
! J6 p& _8 S& C- U3 ]6 x, }& g5 y,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指
7 a6 P' L. [. k- z6 M/ U) j
% M; u$ l! ]$ n6 g5 |+ V* ^向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|