|
|
原帖由 psbs-shj 于 2008-3-25 15:40 发表 
6 h, B$ s/ w* P# E我学会了直线捕捉的表达式,输入的角度是已知的,但我现在要用角度捕捉来确定所画直线的角度,请各位老师指导指导呀,我看帮助没看明白
1 B& \" c5 a# K6 r1 n2 k摘录一些文字,供参考,(先看一些文字,然后再看下一楼的例图):; \* d. S; c3 T: h3 t* G" q
0 H( E7 a& z* H" ^在AutocAD中,CAL命令可以作为透明命令使用,并目将计算的结果直接作为命令的参数使用。更重要的一' {& b: ~4 P8 r
" {- `, E6 X; v% K6 D# _
点是,几何图形计算器提供了一些用于几何运算的函数,并且可以相对象捕捉结合使用,大大加强了它的
4 U, Q- n; s$ g4 _- q4 d
" |8 [' r# k3 Z( Y辅助绘图功能。掌握它的使用可以大大提升我们在AutoCAD中的工作效率。下面我们就通过几个典型的实' T: ^9 @! G( D3 Y3 O9 ?( q
" q& z/ C/ ]# R( _* @7 S例来说明几何计算器的基本应用。
' q! L* k( z5 a, E- F7 C( f( y1 S) B" v' j& M% V* G
一:根据已知点计算点的距离。
2 ^$ p) C4 w( I0 |4 L) h! {# S要绘制一个圆,圆心相对于点(10,20,0)坐标是(30<60),半径与点(20,20,O)到点(40,40,O)的距离相同,# A0 n9 Y. A' _8 _1 t+ A
" ^# l6 j' h! t
可以使用下面的方法绘制:
* T/ R1 m) H' x4 @/ j# c5 q命令:
4 a! ], G I, f7 ?" x) ]$ J' C2 S( }circle指定圆或[三点(3P)/两点(2P)/,相切、相切、半径(T)]:'cal
7 b9 {7 g$ L9 M& |( z. ^/ g>>表达式:[10,20,0]+[30<60]+ q+ z' K7 H8 R9 f4 R. x9 w
(25.0,45.9808,0)( K8 R: \3 B! H$ O
指定圆的半径或[直径(D)]:'cal
; y: E @. T+ T$ h* h3 c% P>>表达式:dist([20,20,0],[140,40,0])+ @( j' Q1 Y$ ?% M G2 z2 B l
28.2843( S0 H) r' G" n# I
上而的例子中,输入“'Cal”来透明地执行cal命令,并将表达式的值作为参数提供给命令。[x,y,z]用3 S) f6 \8 a5 m& w9 B: ^
! q; ]& D) q% O/ O8 q. P4 D来表示一个点,dist(pt1,pt2)用来计算两个点之间的距离。. `2 c8 J5 o, L) o6 i' E
" N- M3 _3 @: ^, ^0 c2 c二:获取拾取位置的偏移点。! H! I3 x4 g3 s$ C3 T$ I4 P
只有和对象捕捉相结合,才能体现出几何计算器的强大功能,因此后面的几个实例均要和对象捕捉结合起
( i- s8 G7 z7 O
: _9 C1 r: B6 f* K来完成某项任务。如果需要将拾取点右下侧的某个位置作为圆心。创建一个圆.就可以按照下面的提示进
. K: b0 `7 K7 {( ^4 U* f' q. B( ?
+ T9 Q; _; H) l+ L9 A2 G" ~- Q行操作:, I, k6 P, \5 ^, _2 \7 L
命令:
1 |6 w8 S, K: j+ n: B( {% Hcircl指定圆的圆心或[三点(3P/两点(2P)/相切、相切、半径(T):]'cal7 a' }& u5 U8 Q+ a
>>表达式:cur+[20,30]
! W( [; v2 w3 ?8 A>>输入点:拾取已知点( I: m0 {0 C- H* R; t
(109.58 471.58 0.0). A" f. R! y t6 S% b
指定圆的半径或[直径(D)]<203 2338>:60
7 f. ^" Z$ X' q0 R完成操作后,所得圆的圆心相对于拾取点的位置是(20+30)。- i& H/ l4 z/ K; g' i
4 h# C( u8 c% X+ |, B! c/ l三:获得两点的中点。! ?4 J7 {% T8 f9 _9 e5 L
要获得直线AB的中点P与圆心O之间连线的中点,就可以执行下而的操作:7 h) F9 X) j# P# k' X3 J
命令:_point2 d0 p+ R5 z. G2 G
当前点模式:PDMODE=0 PDSIzE=O O000
2 c* C: \) ]. d2 F0 X9 C i0 B$ W指定点:'cal
^% Y3 b" K" T. h, i4 |>>表达式:(cen+mid)/2 M$ E% p# J A: @
>>选择图元用于CEN捕捉:选择圆
( m- \, ^. \* d* I5 X* r7 n1 c3 `$ S>>选择图元用于MID捕捉:选择直线AB的中点P& r" M" a$ b+ }" V0 a) H
(754.814 602.811 0.0)
/ z3 [1 p- L. t3 l, d, r" D其他的捕捉模式如end、int和tan等均可以在CAL函数的表达式中使用,这样就能使用各种实体特征点来获6 p ?( G0 O% j; ^ t
5 ^) r$ [% e) D: w1 r* C* @得目标点。如果不使用几何计算,就必须创建辅助线来解决这个问题。+ \; @' } j f( H
& E4 l/ b# r3 x' H
四:确定直线上的任意点4 C6 r& o/ J: _. M7 ]
要获得直线的四等分点,可以使用下面的操作:
, K: `* l' U {' V- K$ Y$ n2 I命令:
' V6 \ j1 S/ X: a1 ?: Jpoint
/ S, k2 |; e( a. E1 J% W当前点模式:PDMODE=O PDSIZE=0 .0000
0 _8 k; b: F0 Z0 P$ p- Q) R0 g7 x指定点’cal( h3 B, b4 [- k- x# E p
>>表达式:plt(end,end,1/4)
) d1 m# B: h( g) H' n/ K. Y>>选择图元用于END捕捉:拾取直线的第一点! v/ n, ~7 V/ L4 [* V( m+ [
>>选择图元用于END捕捉:拾取直线的第二点6 K+ V! m, T. w( O
(600.073 472.711 0.0)
6 z6 S! t6 I3 F上面的操作能够获得距直线第点长度为该直线总长3 N3 [6 P) t6 i* F0 q
度1/4的一点,如果用表达式“plt(end,end,3/4)”代替“plt(end,end,1/4)则能够获得距直线第一点长% |# G# M# S' [2 M$ o
# X; R/ | ^6 T2 \6 ]( p- [- b
度为该直线总长度3/4的一点。: ~6 w1 C) r9 I0 B
要获得直线上距一点长度为20的点,可以使用下面的操作:- R/ _5 l- N" r% a5 ?( |, k E/ c/ l$ |
命令:
4 Y; S7 m7 c& e2 kpoint2 R( J) S3 E( ]" \8 ?* I5 ?
当前点模式:PDMODE=O PDSIZE=0.0000) P! b, F( Y0 U. j. q
指定点:'cal
8 A4 E. P) S( M4 X! Y>>表达式:pld(end,end,20)
! |/ D' y; Y. W>>选择图元用于END捕捉:拾取直线的第一点
0 h! t# Q3 T3 W* i" ?5 d1 t9 M>>选择罔元用于END捕捉:拾取直线的第二点
8 r9 a. ~2 k! @ x4 ]" `3 R(524.438 426.591 0.0)" p! ?# @2 N" O7 @+ E# g: l: C
上面的操作.无论直线是否存在,都可以执行。这里所说的直线,仅代表AutocAD根据拾取的两点所构造
7 E% K n3 E$ C& o
- X" ~5 j- u# R3 c的虚拟直线。# v1 Q H" I _
上面的表达式中两函数的含义为:
, m) L$ W" E6 Kpld(p1,p2,dist):计算通过点pl和p2的直线上的一个点。$ ?9 s2 D- D# Q. F# @9 J
参数dist定义该点到点p1的距离。
/ _- u0 g, S8 B, m+ fplt(p1,p2,t):计算通过点p1和p2的直线上的一个点。参数t定义该点在直线上的以参数表示的位置。
! p$ q4 d8 s+ z5 K" `
* c0 t/ y$ [# V2 X# n6 Z五:确定过一点直线的垂线- c# n* M% @# G+ m. t* ]8 ~3 @+ O
要确定过某一条直线中点的垂线,可以采用下面的操作:- ~6 @! a H( |8 t/ f, v
命令: LINE指定第一点:'cal# ^: Q b8 f. U8 R4 F- {) L1 } J
>>表达式:mid+10*nee( ~' L5 U. R2 e* o; `! k& \
>>选择图元用于MID捕捉:拾取已知的直线) m3 A A+ W6 t; _' Y
>>选择一个端点给NEE:拾取直线的第一个端点! w- J0 z$ \* @- y' g
>>选择下一个端点给NEE:拾取直线的第二个端点4 S4 ~9 L. C- v6 E. B6 V$ l- `4 f
(639.215 229.744 0.0). ~% |5 [ _) c) P
指定下一点或[放弃(u)]:拾取直线的中点
1 ~7 k) U% [4 Y6 L, s8 ]& w& w其中,nee函数是nor(end,end)的缩写,用于确定XY平面内的单位矢量,与两个端点连线垂直。nor(p1; O9 Q9 I$ r! a- f+ g- k
! z' d5 N' `- ~+ F5 B1 @
,p2)函数用来确定直线P1、p2(由点p1、p2所确定的直线)的二维单位法向矢量,该直线的方向为从p1指% ]" f+ a- D4 ^* ~# D
) o9 J* Y' Y" f& f& t7 {: _7 w
向p2。得出的法向矢量的方向为指向原直线(p1、p2)的左边。 |
|