|
|
原帖由 psbs-shj 于 2008-3-25 15:40 发表 
0 t8 ]+ `8 M$ ]3 Y我学会了直线捕捉的表达式,输入的角度是已知的,但我现在要用角度捕捉来确定所画直线的角度,请各位老师指导指导呀,我看帮助没看明白
) B d! n) B" Z. w5 v摘录一些文字,供参考,(先看一些文字,然后再看下一楼的例图):
; n% I& P1 U* o# {6 ]
- P/ Y6 ]5 q# ? v3 S2 h1 R在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一+ P9 S( `9 I5 ]9 c: N% g
+ O( W* A6 H$ S: I
点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的
( u" ` y3 J1 P) z* ?9 F
. O8 _; [' O- F( z( g3 r辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过几个典型的实
9 n6 y8 N; v- y7 i
u9 H& @* @7 n: T# c! ?例来说明几何计算器的基本应用。
0 C5 z7 X s$ W9 Q S: c4 ~3 M8 M- h$ w8 E$ Y- R0 b3 I3 |
一:根据已知点计算点的距离。& Z1 R4 u/ U' H9 {
要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,
. N8 a% d3 o. R y+ J$ F
6 E, e, Z/ T* ^! x可以使用下面的方法绘制: B4 p" c9 a% i
命令:8 w% H* ^6 \. G$ ?- _9 q" u$ Y
circle指定圆或[三点(3P)/两点(2P)/,相切、相切、半径(T)]:'cal. ~$ a' y% e9 g; K8 m4 L9 k" c* h
>>表达式:[10,20,0]+[30<60]
, v( x( q" e7 \, p6 }- m8 P' e4 p(25.0,45.9808,0)3 O$ e. h- E4 I6 R* j
指定圆的半径或[直径(D)]:'cal5 ?9 f9 ?0 K, d5 I3 k4 R$ V, g4 L5 n
>>表达式:dist([20,20,0],[140,40,0])9 Q3 ~ M+ G# f) s! W& v4 G
28.28431 ~1 S0 u8 [3 V# I ^# z s3 Z P
上而的例子中,输入“'Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。[x,y,z]用2 r0 |# l9 ^- Q, n* W5 u3 N
- C& t- D$ b( x- \' L来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。
n' C W4 U. c( K! G( }( c( P2 S b6 e6 W
二:获取拾取位置的偏移点。
2 E6 U' U; ]4 k- f! q: E只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起
( ]2 M0 ^' z0 A% g. a
( M& V. {% K2 E0 n来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心。创建一个圆.就可以按照下面的提示进
' H: d C% X, `8 U! l' C7 F4 Z3 v: ~% U5 b" J# q1 g
行操作:
% s: C8 I B+ b/ y. j命令:
, D6 K8 R8 f. G3 Z* Fcircl指定圆的圆心或[三点(3P/两点(2P)/相切、相切、半径(T):]'cal3 X! A9 n% S; P: w' M/ ]
>>表达式:cur+[20,30]
( c) O( l( e8 r' Z>>输入点:拾取已知点
5 g6 J2 ^; Y. o) x* G(109.58 471.58 0.0)
5 _" I" j7 w$ Q指定圆的半径或[直径(D)]<203 2338>:60( X; f- O* h8 S8 Z
完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
% r9 {) P: Z! u& ]: ?! q v9 z8 f( I; t# N' x- q; L
三:获得两点的中点。
+ V2 {6 l" Q% H- @4 s要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
0 i; J) g6 {3 J/ U0 n命令:_point
/ X. U- r) n o% c2 W当前点模式:PDMODE=0 PDSIzE=O O000
7 B# v2 N( n& P3 L5 J2 x指定点:'cal9 V( n% _& r7 x( R. ~2 K+ {+ G/ e
>>表达式:(cen+mid)/2; n/ b# U1 U; B3 L. z0 ]$ t2 o
>>选择图元用于CEN捕捉:选择圆5 g _, s. N7 G/ Y
>>选择图元用于MID捕捉:选择直线AB的中点P% U4 |" m9 h/ `/ `9 i% p9 F
(754.814 602.811 0.0)
0 j+ d2 G2 r) a7 V6 a其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获1 K) z' V! v" J: _9 D1 W" X5 \
* x* b$ d# R) Y$ O* `- G
得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。$ }. H/ A P# ~' V5 _
2 d" e* j, L) n, F0 f四:确定直线上的任意点( u* j9 S+ |( w, a& x
要获得直线的四等分点,可以使用下面的操作:
0 W( ~9 I$ a$ o: s0 A命令:
% _/ F- m2 I0 W6 `! xpoint
) f/ W1 n# `- i9 l0 g当前点模式:PDMODE=O PDSIZE=0 .0000: _7 m* c8 D6 K" n8 M: G
指定点’cal
9 B+ Q# F& Z8 M1 M) } w" q>>表达式:plt(end,end,1/4)- h+ d) V {6 }3 ?
>>选择图元用于END捕捉:拾取直线的第一点; P+ o, Q, F. |$ n7 J9 K( J E& E
>>选择图元用于END捕捉:拾取直线的第二点! \% [" j1 F: N) N% a, S
(600.073 472.711 0.0)
' l. O" V2 v1 F& N# p9 ]上面的操作能够获得距直线第点长度为该直线总长
8 W" q2 n7 n6 V度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end,1/4)则能够获得距直线第一点长
' I5 E: ^ o i' j- N) A/ _# |
. `) x/ L& X& E, b, }1 i; N度为该直线总长度3/4的一点。1 E' W) W$ I( R B% ~8 B6 }9 F8 O
要获得直线上距一点长度为20的点,可以使用下面的操作:. I, j$ P3 C/ ~5 u( C3 d
命令:
) B/ w5 g0 h0 i+ l0 }7 ypoint0 P! {: z6 R9 g5 D7 o- v/ b
当前点模式:PDMODE=O PDSIZE=0.0000
4 {$ n* q; X y# G指定点:'cal
% R6 Q& n! {* E+ a; [2 T! V* b7 X>>表达式:pld(end,end,20): w( W& a2 _) q0 P+ \
>>选择图元用于END捕捉:拾取直线的第一点
& O$ a; v$ Y. r, J, a' E. H>>选择罔元用于END捕捉:拾取直线的第二点
& |- \6 n* h8 f; D; }: A& M2 M; C(524.438 426.591 0.0)
% S) K. V: x i( N6 t上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造8 u- B( y% c" ~& H3 Q/ `; i. v g
4 B$ [% Y: z1 [6 z+ L: e# H z的虚拟直线。; z9 P5 K6 M* F7 a+ [ u7 u
上面的表达式中两函数的含义为:
5 _+ c6 y1 ~3 o: |pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
% B7 F: T4 |8 Y t% l5 q- j7 T S1 C参数dist定义该点到点p1的距离。
+ z( W- v* ~' x2 i# t d6 ^plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
/ p$ a) |7 `; R" h7 H) {
0 b8 f1 l4 Q$ x. l% f/ A+ I五:确定过一点直线的垂线* M( w2 Z* P/ ?
要确定过某一条直线中点的垂线,可以采用下面的操作:& C6 f) _; Y6 ?. {: V. F# T
命令: LINE指定第一点:'cal" z7 z ^3 a- p0 i8 |9 Y4 \
>>表达式:mid+10*nee( K* t4 B: V0 |3 v% y
>>选择图元用于MID捕捉:拾取已知的直线, U/ L7 k# s# k! Q7 ?( c, j
>>选择一个端点给NEE:拾取直线的第一个端点: U4 @2 O& k6 ?, N0 c. I; p, v
>>选择下一个端点给NEE:拾取直线的第二个端点6 U0 s* m, E0 B7 g
(639.215 229.744 0.0)
! y/ S& P9 m. `$ r- U$ T; A指定下一点或[放弃(u)]:拾取直线的中点
Q4 U- h" P' P0 u4 o9 N' T其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1
, m- }- L9 b9 P4 ] r/ }# ?! \; z* H9 d% s& z
,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指! `: \4 R6 u. @) [4 O
1 n& z; A" l9 W o+ V5 B
向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|