|
|
原帖由 psbs-shj 于 2008-3-25 15:40 发表 
3 p' h" ^+ s) C) } P我学会了直线捕捉的表达式,输入的角度是已知的,但我现在要用角度捕捉来确定所画直线的角度,请各位老师指导指导呀,我看帮助没看明白 5 f+ }4 n) m7 x+ G9 X, l5 q/ c' z
摘录一些文字,供参考,(先看一些文字,然后再看下一楼的例图):
! L& H- t+ l2 Z( a7 D
9 e" p; C) u3 `在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一& C1 B+ v% _/ _- G
( n$ k( O6 ]- ?2 y ~0 {点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的
/ }, S# r e) w% n5 a2 J( k! B5 V+ c7 ?+ ?7 Q
辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过几个典型的实 |; d8 r0 C* S( G' T$ R
" x; w) \5 a- g8 z: a- a8 @
例来说明几何计算器的基本应用。# S. }% j) U$ `2 J* K5 g2 a# Z6 C2 {4 ?
3 V4 m* h( Z$ D" y# N, ?. z% ^
一:根据已知点计算点的距离。7 m6 v8 l* i! H# }- ]# s
要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,; Z# C: @: C. p, e/ i
( G* X3 ` L! I9 d- M可以使用下面的方法绘制:
. s+ s3 j$ I7 a命令:$ Z2 R" D7 N2 q' @
circle指定圆或[三点(3P)/两点(2P)/,相切、相切、半径(T)]:'cal* h9 Q+ l! n! x
>>表达式:[10,20,0]+[30<60]5 S l' Q9 c7 u7 }' r
(25.0,45.9808,0)3 P) N4 |6 O2 s
指定圆的半径或[直径(D)]:'cal
- V% @0 D3 h% m2 g, P& ]- V% K>>表达式:dist([20,20,0],[140,40,0])
) J' Z* N+ J+ a/ B, m. s28.28436 {, Z- \9 }5 c1 x
上而的例子中,输入“'Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。[x,y,z]用0 i% u5 I; [. V) [
! l* Q! h8 l: x8 ^! O& I来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。. M) n5 b! d/ {# c( T$ J+ s+ b
% x# _' l0 X* |8 N二:获取拾取位置的偏移点。
3 q$ m3 g1 w) E4 q: \- I只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起& l3 p8 K) \$ k8 X
+ ~4 s) b2 T5 t
来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心。创建一个圆.就可以按照下面的提示进
K0 ]0 t& J4 Y3 H0 e* M8 ^! O3 y% S/ `; ]' i; ~- ~0 B6 A* E
行操作: D1 |0 S+ c/ B1 D5 g) t( n0 h
命令:
9 C3 B. }# o, Icircl指定圆的圆心或[三点(3P/两点(2P)/相切、相切、半径(T):]'cal
f- ]" ]# g Y; l* s/ M1 V. {>>表达式:cur+[20,30]( d3 ^1 u8 c: k0 k) D) B5 K+ P
>>输入点:拾取已知点
8 b t& Z: @- K5 O' C: Z7 W. g(109.58 471.58 0.0)* Q$ X4 H. C- k2 |$ [6 ]
指定圆的半径或[直径(D)]<203 2338>:60
; f; @2 ^9 `1 ~% p完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
O& ~6 S; O5 F* m' o8 X8 R2 V9 `
三:获得两点的中点。
* T1 v3 k# Z! s8 v0 q- z要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:' A; P) C" c# @* S7 b4 p4 Y3 @
命令:_point
: y: E+ |) e3 X7 b当前点模式:PDMODE=0 PDSIzE=O O000( o; k3 y+ w$ g/ g5 N: n
指定点:'cal3 r! e# w/ c/ j1 J. f. N6 F
>>表达式:(cen+mid)/23 V2 k: O- i, w
>>选择图元用于CEN捕捉:选择圆& y4 k9 y' D* N7 k
>>选择图元用于MID捕捉:选择直线AB的中点P! Y* w/ @( l. ]! k
(754.814 602.811 0.0)7 }2 h6 Q( u- M8 Y1 g. |
其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获
' j! B0 V: \8 C& z1 Q; [; B: A* e; t
得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。
7 X8 l3 C/ L6 s2 ^ U; D' t6 o5 V. |- C2 E' G
四:确定直线上的任意点
6 P3 {3 \9 j1 X; O, a" s9 W, K! A要获得直线的四等分点,可以使用下面的操作:0 h [3 U& `' O# f
命令:
+ X& M/ Z( A6 ?% X+ Hpoint' ~/ ~, B) F6 t, R: C% k* D% i, g8 _
当前点模式:PDMODE=O PDSIZE=0 .0000& T) a3 ]: [: Q8 x( p: d' J. k
指定点’cal. O b2 [& u8 y5 e0 D
>>表达式:plt(end,end,1/4)
$ G) ` |6 H* b% k* ^>>选择图元用于END捕捉:拾取直线的第一点
' K6 @ K' f' s2 f>>选择图元用于END捕捉:拾取直线的第二点) k4 P- H" [8 C1 S2 t- I, ]: X5 G
(600.073 472.711 0.0)
. |+ ]# n0 l7 ?$ }上面的操作能够获得距直线第点长度为该直线总长7 V2 ]+ Y$ x: ?- ]2 h
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end,1/4)则能够获得距直线第一点长
& p. v* ~3 y2 N0 p- O$ e: B* o/ l* W
度为该直线总长度3/4的一点。
1 b( Y9 f- G Q. w* n# z6 u; O1 t要获得直线上距一点长度为20的点,可以使用下面的操作:- O: X3 k/ s2 D% H
命令:" w9 H2 f. I8 z" q
point
$ g6 i( _9 W. I0 w( r- H V9 a _7 V当前点模式:PDMODE=O PDSIZE=0.0000) f( n2 ]9 X9 N0 {
指定点:'cal
% C0 X, t4 y) z0 J" W- ?>>表达式:pld(end,end,20)( s7 }8 k0 C! w* b( ~
>>选择图元用于END捕捉:拾取直线的第一点, b `2 X$ Y8 |" x/ y8 {
>>选择罔元用于END捕捉:拾取直线的第二点
, H& G. x0 F; \0 I; {4 h(524.438 426.591 0.0)
- |* O8 ^$ ?0 K# x上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造
) }* B6 n! \% k% P% ]" b) |& a) I) n& O: U& o% c! M
的虚拟直线。; H) o& b- I9 m# ^+ Z2 l8 S
上面的表达式中两函数的含义为:" s) G. s. e6 R6 w+ b& h. ~9 h
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。4 A& J( f) t! v
参数dist定义该点到点p1的距离。
. E4 p, b" z h% a* P p, Mplt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
) U& S! G$ `* M. Z* U O) x6 k2 G& a- O6 t
五:确定过一点直线的垂线$ p+ k& k4 A; [, w- `
要确定过某一条直线中点的垂线,可以采用下面的操作:5 w0 l, P5 r3 c `, @ e* R5 W! U
命令: LINE指定第一点:'cal
. u/ y9 J, Y% F>>表达式:mid+10*nee
, E/ e8 v% u* @9 C% {+ h# f/ S* e>>选择图元用于MID捕捉:拾取已知的直线- }8 ^; Q3 i& u7 @
>>选择一个端点给NEE:拾取直线的第一个端点
% Y1 }( f$ Q5 H: M>>选择下一个端点给NEE:拾取直线的第二个端点
5 M& p6 B& p! l B+ k) u(639.215 229.744 0.0)! Z: D- ?+ M' I3 _% x
指定下一点或[放弃(u)]:拾取直线的中点
6 Q" q3 v6 k" s; n7 U其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1
! ~; i; X: U3 t' t! r
& M* v K2 j, U; l2 e,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指% f8 }5 I# l% I# ~+ I
, |& w+ I5 m z$ c4 f) `向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|