|
原帖由 psbs-shj 于 2008-3-25 15:40 发表 + Z. D- g: `' R* y' ^0 E
我学会了直线捕捉的表达式,输入的角度是已知的,但我现在要用角度捕捉来确定所画直线的角度,请各位老师指导指导呀,我看帮助没看明白
. f- s5 f+ o# A5 j% e$ f8 }摘录一些文字,供参考,(先看一些文字,然后再看下一楼的例图):
0 o" `; l# z7 L* s' H* |; G
) Q- Y2 D* u$ l, L3 ]: A5 D+ A在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一
9 I, j$ A7 ^. S7 ^8 Q c a" X( E) T: x3 h$ {
点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的
0 p5 P2 G) _& j0 q- u- W' c! Y2 p
, C% u k4 G$ S' v6 s1 x辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过几个典型的实1 g" D b* ^) K5 d3 G, V+ q$ ` V3 ^: C
1 o; H3 e" T4 }- [. T例来说明几何计算器的基本应用。
; e( d7 _; |/ A1 B- _6 j v Z! Q$ V
/ z9 b4 k/ e O4 E/ h5 k一:根据已知点计算点的距离。
2 X) i, w) Z/ c0 h2 ?- u B要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,
k2 k, p6 z+ c9 p3 ^
0 \' X; `+ N' E* A0 u可以使用下面的方法绘制:
; y, M5 U/ ?/ b; Q' w& @命令:: Q5 a' C( k; R Q
circle指定圆或[三点(3P)/两点(2P)/,相切、相切、半径(T)]:'cal4 U$ i ^( e! Y% P' `
>>表达式:[10,20,0]+[30<60]* a z6 v9 }/ N0 h- _6 c8 u' X7 _
(25.0,45.9808,0)
( R& r8 w o f# g指定圆的半径或[直径(D)]:'cal" H' N3 e5 C8 \# C
>>表达式:dist([20,20,0],[140,40,0])8 T5 r( z1 d" E I: i$ M* X z. \
28.2843
' w/ s( v" e6 h7 j& K8 [上而的例子中,输入“'Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。[x,y,z]用% ^; m1 g6 `; e; j" l8 I+ w
5 K$ N( K" w3 ]/ L! i
来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。- d5 p5 W, k9 m0 \0 J5 Z4 ^6 x
7 J- t; w! Q `8 N, I) l二:获取拾取位置的偏移点。
- j {. {3 `% m只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起! W( v- z( }- |9 \! _0 q# ?0 I
/ @, m- h F7 p/ U5 ~! E& o% |来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心。创建一个圆.就可以按照下面的提示进
1 [0 j/ n1 b: Y7 ~6 ?6 W4 I0 T7 T; q* w! Q7 Z- K/ U
行操作:5 `) K) |5 m0 t6 I
命令:
) N0 V" B1 X7 Y3 Mcircl指定圆的圆心或[三点(3P/两点(2P)/相切、相切、半径(T):]'cal. h( z I' ~$ C1 V, Z' H4 K
>>表达式:cur+[20,30]9 C) n" j6 E9 o7 O% s" ]( x7 ]
>>输入点:拾取已知点
! O9 D4 O8 f* _+ |/ M(109.58 471.58 0.0), y b) h% n" H- r% d' g# @
指定圆的半径或[直径(D)]<203 2338>:60
+ Q4 D. L+ b+ ^3 ]+ O完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
1 P! w. i+ i% k3 q1 w4 Y. P4 y% k7 C" n5 ^* W) k: P; v. i0 d# E
三:获得两点的中点。
! C" d/ G- E3 A4 o- r4 }( R: G$ i要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
0 h$ }4 c' M5 W& V6 `; l2 D, o' U3 I命令:_point
! T. G! S1 z, G9 ?5 d, F" V0 B当前点模式:PDMODE=0 PDSIzE=O O000
# U. v8 V# a! P4 J9 i' R. w指定点:'cal# f$ H9 H( a) v* C- E7 t! f7 m2 V
>>表达式:(cen+mid)/2" U5 i5 \- ^5 f* B
>>选择图元用于CEN捕捉:选择圆
; H% q( z1 Z5 z2 k' U( s; ^+ I1 T>>选择图元用于MID捕捉:选择直线AB的中点P
2 E# S4 G6 n6 x( `" H# J! P) E) s(754.814 602.811 0.0)
2 a) r# E7 L/ j其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获$ f5 s3 {0 l0 f( R
: z% m2 m! U! i3 h
得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。, s3 n7 c( k1 G
, W+ w1 I7 a# O+ l/ @四:确定直线上的任意点
4 ^" j/ u2 V, ^4 y要获得直线的四等分点,可以使用下面的操作:" a. @, t& T; R$ R
命令:
, }4 L6 \6 J: \0 P; Rpoint; k# Z+ y' E/ {3 L6 N2 k" ^
当前点模式:PDMODE=O PDSIZE=0 .0000
' P) K8 @$ ]: |5 ]9 v( m; g* x" {指定点’cal. L9 I5 x2 `: {4 Q( J
>>表达式:plt(end,end,1/4)+ n+ k( U, T0 c
>>选择图元用于END捕捉:拾取直线的第一点 \9 n4 q; ?2 j$ r3 W7 k- x
>>选择图元用于END捕捉:拾取直线的第二点& ^: U; c: O# P9 M2 G; r
(600.073 472.711 0.0)
7 C: k/ \- ~9 z5 h$ ~8 h上面的操作能够获得距直线第点长度为该直线总长
0 F& k# x1 A$ J! x4 @0 m! m度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end,1/4)则能够获得距直线第一点长# \3 C+ L* e7 y; d9 n) v2 J" x
+ x2 T# ^- j5 Y: f0 I+ M度为该直线总长度3/4的一点。
) H5 b |0 v" i* }4 b; b要获得直线上距一点长度为20的点,可以使用下面的操作:
( F& \ E1 E* j* V [命令:
& [) f9 Q3 z B3 Wpoint& s3 [8 V: F/ |1 W6 X% j
当前点模式:PDMODE=O PDSIZE=0.0000
# o+ H) K2 P- [: Q# {指定点:'cal
. r. L0 O: Z8 C! n+ x, B>>表达式:pld(end,end,20)! F: E1 Y% @2 t2 h8 {* g V" h
>>选择图元用于END捕捉:拾取直线的第一点
$ y( x$ ~5 E+ P+ @5 S$ H+ P>>选择罔元用于END捕捉:拾取直线的第二点- @' V8 \" V& F' w
(524.438 426.591 0.0)3 v* L5 i* ~' J7 v3 m
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造( i0 I9 d V6 W
1 Q3 n( C1 q/ p3 T) }6 L0 ~2 k
的虚拟直线。$ y0 v: p" E/ y3 j
上面的表达式中两函数的含义为:
' l6 s0 Q0 |9 F4 [pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。
8 R: W. T8 i, s, H- q K& M参数dist定义该点到点p1的距离。: d' E: y- r! G( S3 `2 {
plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
* n- J& T z+ j& N2 l2 M0 z! U
) e7 e5 a1 }# _& `, E6 i* h五:确定过一点直线的垂线4 B3 Q2 J/ _. y
要确定过某一条直线中点的垂线,可以采用下面的操作:- z2 e' u \% t" _, z
命令: LINE指定第一点:'cal
! j+ Z A b5 l2 r6 L>>表达式:mid+10*nee
% C) N( s* M5 a2 C& j+ W; ?>>选择图元用于MID捕捉:拾取已知的直线9 l- }5 |5 q: v
>>选择一个端点给NEE:拾取直线的第一个端点
. v0 f) b0 n5 E! m$ m>>选择下一个端点给NEE:拾取直线的第二个端点! Q9 ^' e8 q( v0 |, E
(639.215 229.744 0.0)
# X# Q$ U! g+ g指定下一点或[放弃(u)]:拾取直线的中点
: D5 j1 i# {5 E% l I其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p11 I6 x" U( @' l! a- ~, T) K
- h6 j: M3 Y. v,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指
. `( p3 `& V7 i5 F9 H' F/ y: Q# n2 L$ B. N3 `* n N7 K. Y
向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|