|
原帖由 psbs-shj 于 2008-3-25 15:40 发表 ![](https://www.askcad.com/bbs/images/common/back.gif)
9 Q" Z7 }- y* W: f我学会了直线捕捉的表达式,输入的角度是已知的,但我现在要用角度捕捉来确定所画直线的角度,请各位老师指导指导呀,我看帮助没看明白 " d3 c* K: S3 y
摘录一些文字,供参考,(先看一些文字,然后再看下一楼的例图):3 O" F% R$ ^) d
- f- P/ I. F- k
在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一5 S+ z( R: x+ T" [6 u
' a+ b" y" \$ l& l9 G点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的
* f1 n/ v0 q8 m9 ~$ E* i# [
" q0 d: b! t$ E3 r辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过几个典型的实3 ]+ F% x; P$ }( e4 j
: C7 c8 q4 E( M1 l% s# g例来说明几何计算器的基本应用。
) X/ ~, u& d1 p( C! t1 y7 J u2 `& L8 t: p1 f7 D# ^2 ~ R9 t
一:根据已知点计算点的距离。$ d1 F6 V' F& t4 k* T8 G+ B
要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,. Y/ j ^- J- q2 q* e
: d) j* N1 E% w7 u6 I( P
可以使用下面的方法绘制:6 s8 @: D0 P& U/ S8 O1 y
命令:* Q1 x( K7 @0 b7 X# R5 ]) O
circle指定圆或[三点(3P)/两点(2P)/,相切、相切、半径(T)]:'cal; j) ^; P' c( [3 L5 o
>>表达式:[10,20,0]+[30<60]
E* f* Q N, H: N) U(25.0,45.9808,0)
( w' G5 a5 q, q% ^1 ^4 z指定圆的半径或[直径(D)]:'cal
6 }6 B( `1 A+ f0 D, `. C* z1 F5 c>>表达式:dist([20,20,0],[140,40,0])
9 m6 @7 N1 R' @5 s: f! l28.2843
6 U7 {6 [& G: B8 r上而的例子中,输入“'Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。[x,y,z]用
, o/ u/ n; w' t: f3 c
0 j0 M; R Q/ S8 y$ [. T来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。9 D/ i, F$ @+ j/ B. h c2 n
* ~( f( m8 M2 }' x二:获取拾取位置的偏移点。3 a5 q* R( \; \% X# y
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起
7 X; j6 F* y I) F- e# q
' c9 |; J- q2 n/ p来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心。创建一个圆.就可以按照下面的提示进
3 o3 {6 l G4 L, n" I( x; D7 K( p
7 V3 B7 o( _: M, c行操作: g0 @9 C) {+ m/ ?: G' {
命令:
+ p5 D# G) Z+ c; z3 i/ g! ccircl指定圆的圆心或[三点(3P/两点(2P)/相切、相切、半径(T):]'cal
1 C1 h7 t/ b+ L" L: J>>表达式:cur+[20,30]8 b. |$ @8 e# ]8 D
>>输入点:拾取已知点' E6 \# h/ R2 ^+ O# U2 u
(109.58 471.58 0.0)
! R8 N; @, X6 f1 s- P7 J指定圆的半径或[直径(D)]<203 2338>:602 K4 u( j* n7 T$ P3 h- T/ }8 s8 K
完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。
7 O( J, I* m' k, z* }; H% y) Q1 }3 u5 D
三:获得两点的中点。
/ ]( U, B1 s1 Y要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:
/ X, p6 \% o3 z& L命令:_point
% O4 X3 {) Y- x% L# g; G当前点模式:PDMODE=0 PDSIzE=O O000
) S8 z6 o. W5 o2 V9 v- Q' V指定点:'cal
# Q! {$ F+ f8 M% U- e>>表达式:(cen+mid)/2" H3 O- K- g& J( C5 r
>>选择图元用于CEN捕捉:选择圆" Y/ x( D, ~% B7 n. ]" J, @+ c& q6 Z
>>选择图元用于MID捕捉:选择直线AB的中点P
% r/ t" h. i! e" P! e9 H(754.814 602.811 0.0); w1 z6 r" t9 p" }
其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获6 a) a9 ~0 R% F/ \. M, |! @0 N
/ ]2 `+ ^: U! H/ Q: \得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。
* A% I' q$ f% K3 v1 ~
' E8 N* w& \2 {+ O, V7 X, Z4 P四:确定直线上的任意点/ b [$ G- I! i( t
要获得直线的四等分点,可以使用下面的操作:
3 H# d' d; T/ X/ O$ X命令: l! _4 m. ], E6 D3 l' ~$ t
point
3 P' ?- z2 W6 b+ i2 }* T. [$ {当前点模式:PDMODE=O PDSIZE=0 .0000: F! z$ s2 W- f2 o. f( F$ v
指定点’cal& |, F$ S9 j6 F0 }
>>表达式:plt(end,end,1/4)% G: i. M7 M$ S8 _
>>选择图元用于END捕捉:拾取直线的第一点* Z7 h( s0 m# |' O. Z" v
>>选择图元用于END捕捉:拾取直线的第二点# r9 h$ J* p0 O3 s5 i8 G% V5 p# C
(600.073 472.711 0.0); `$ U! ?( E; E& U
上面的操作能够获得距直线第点长度为该直线总长" a: z, L+ Z) N/ u
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end,1/4)则能够获得距直线第一点长! k. C e7 K4 Z$ G% P2 p# c
$ O; F; M- G8 R% E5 D3 z# |+ l
度为该直线总长度3/4的一点。
$ _$ S% i& T5 u6 P. Y7 P) [4 G要获得直线上距一点长度为20的点,可以使用下面的操作:2 w, L# _+ l8 a. {
命令:5 |7 O; P+ l* l6 e |7 `
point
8 K+ D3 d4 h5 [' b当前点模式:PDMODE=O PDSIZE=0.00004 T1 X3 [! ~. J7 `
指定点:'cal
- K0 F9 W- a3 F+ `5 x9 k>>表达式:pld(end,end,20)
2 d# D% m X* A, {0 L. R, t: u; Z C>>选择图元用于END捕捉:拾取直线的第一点
1 Q/ w' ]' E( N- s! @>>选择罔元用于END捕捉:拾取直线的第二点
6 ?( e/ V% V, t! y(524.438 426.591 0.0)
4 t$ K$ f C* M: j% a+ M上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造7 j+ I" Q/ n5 d% b! d
; t5 ~ S1 e+ U; ~的虚拟直线。 z% j5 t' h: m6 O* r- o
上面的表达式中两函数的含义为:7 `7 W5 W1 e$ }
pld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。1 c) {' Y8 S8 g# v( @
参数dist定义该点到点p1的距离。
- V w r. @- Q( ~plt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
0 a9 [, {8 J5 t2 F& G* ]" Z: y6 v
7 \4 O4 f M! @% l3 M0 v五:确定过一点直线的垂线) y( I# g: O$ d: L- ^
要确定过某一条直线中点的垂线,可以采用下面的操作:# z1 T- v6 T1 Y3 u0 @8 F
命令: LINE指定第一点:'cal( B4 F) x' ?! z0 |7 j
>>表达式:mid+10*nee
% K4 f( \( G) L1 S- `6 K: K>>选择图元用于MID捕捉:拾取已知的直线- J: G, ~, D7 L8 ]! W8 {8 Q# Q
>>选择一个端点给NEE:拾取直线的第一个端点
* t* Z4 N! M- d% a0 k! _+ p, F' Q4 p>>选择下一个端点给NEE:拾取直线的第二个端点
2 v) [- S; U5 w$ O5 d4 M(639.215 229.744 0.0)$ h3 d& \0 p1 R: e5 s0 v# r
指定下一点或[放弃(u)]:拾取直线的中点4 l' o+ i5 }8 K) k+ \
其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1. [' J1 w1 R/ M. A1 |# ^1 y
& T, R/ K7 `# ~5 L S3 K& {7 F0 Y,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指
) J2 G# R& ]0 g0 m+ Q& k5 i( D* ]5 C4 v8 H' P* v/ E
向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|