|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
应用AutoCAD几何计算器实现快速定位 ' l; {% b9 a( F! s2 P
8 i! u; I* b' U几何计算器是AutoCAD R12提供的一个十分有用的工具。和普通的计算器一样,几何计算器可以完成+、-、*和/的运算以及三角函数的运算。这使得用户在使用AutoCAD绘图过程中,可以在不中断命令的情况下用计算机进行算术运算,AutoCAD则将运算的结果直接作为命令的参数使用。但重要的是,和一般的计算器不同,AutoCAD几何计算器可以作几何运算。它可以作坐标点和坐标点之间的加减运算,可以使用AutoCAD的OSNAP模式捕捉屏幕上的坐标点参与运算,还可以自动计算几何坐标点。如计算两条相交直线的交点,计算直线上的等分点等。此外,AutoCAD几何计算器还具有计算矢量和法线的功能。当然,AutoCAD几何计算器还有其它的功能,这里就不一一罗列。* g/ W) ` I( x* z* `
在使用AutoCAD绘图中,常常需要确定一些无法直接给出坐标的点。例如,任意两点间的中点;和任意方向直线相切的圆的圆心;以及直线上任意等分点等。这就是我们通常所说的CAD绘图的定位问题。实际上,在许多计算机绘图场合,定位是否方便和精确往往直接影响作图的效率和速度。因此,应该充分利用AutoCAD几何计算器的几何运算功能,来实现AutoCAD绘图中的快速定位。1 F' g. j4 E% g$ ~* Z
在命令提示Command:下键入CAL或激活下拉式菜单的辅助菜单项拾取其中几何计算菜单项都可启动AutoCAD几何计算器。CAL命令也是一个透明命令,可以在其它的命令下随时启动几何计算器。此外,还可以在AutoLISP程序中使用CAL命令。
1 l8 ^0 |/ n. X; M0 B+ g; ^* U/ a 下面是利用AutoCAD几何计算器的几何运算功能实现在AutoCAD绘图中经常遇到的几个快速定位的实例。
j/ U& u# E( M# B0 k" t: A3 {7 [ 1.在两实体间确定中点
O/ B2 ^- S+ E 这里不需先在两个实体之间画一条辅助线再用OSNAP的MID模式得到中点。例如,要从一个圆心和一直线的端点之间的中心为起点画一直线。操作过程如下:' S, p7 u. r# g1 a* H
Command: line
& ]* I; L2 \. S! y/ |$ w) P' { From point: 'cal (启动几何计算器)$ [; G2 D. W! B- y3 t ?+ q
>> Expression: (cen+end)/2 (输入表达式,这里计算器把OSNAP的cen和end模式当作点坐标的临时存储单元)
9 R! L8 N0 L" X+ y+ y3 j8 A/ ]' } >> Select entity for CEN snap 用光标捕捉圆心), e8 A8 R4 s1 @) G n0 m
>> Select entity for END snap:(用光标捕捉直线的端点)
8 D+ j* Y8 p4 k To point:
3 |( U: [4 h; s+ `8 H+ ?! f 其它的目标捕捉模式如int、ins 、tan等等均可在几何计算表达式中使用。如果用表达式(cur+cur)/2代替表达式(cen+end)/2,则可以在计算机要求输入点时,再设定OSNAP方式来捕捉所需的点。
! f6 `2 T8 p! H8 e5 ~* \1 ] 2.确定一条直线上的任意等分点和与直线端点定长的点. g7 R7 h& r9 }" V/ j B( V8 ]
使用几何计算器提供的plt和pld函数可以完成这个操作。假设屏幕上有一端点为A和B的直线,要在直线上获得分直线段AB为1比2的点。仍以画直线为例,操作过程如下:+ z8 z7 P) Q0 U4 t6 C* }, z7 Q9 h
Command: line
% t& m4 U; j. A3 e% _/ W" F; ^ ` N; h From point: 'cal$ S* ?- |+ w+ H) d8 h5 a
>> Expression: plt(end,end,1/3)
7 L! g* }: S2 H- ^ >> Select entity for END snap:(用光标捕捉端点A)/ t4 u2 n5 K- c1 A
>> Select entity for END snap:(用光标捕捉端点B后即得到距A点为1/3线段长的点)* h6 R4 C- r, _; S) o
To point:
* u- m1 I% S+ T |) a. ~% I: z 如果要得到直线上距端点A为5的点,使用函数pld(end,end,5)代替上面操作过程中的plt(end,end,1/3)即可。
: E! l( Q7 t5 l+ [7 { 3.用相对坐标来确定点
- [( a2 Y/ ~- T6 x( \. T3 k$ Z 在绘图中,经常要相对一条线画出另一条线,下面就是操作过程:
: y K, d6 n% d+ Y5 a Command: line
& C' N9 ~- i9 ]2 C8 i; P& g; |3 a From point: 'cal4 V% g# ~8 f- \- Z! V. [
>> Expression: end+[2,3](作点和点的相加运算); f$ W' l0 n1 m7 v: I
>> Select entity for END snap:(捕捉一基准直线的端点后即可获得距端点相对位移(2,3)的点)4 W* K* e+ o! E8 U8 E' D3 _* h
To point:
1 B) o8 l0 w1 l- t 这个功能和AutoCAD R13中提供的From目标捕捉模式相似。3 J1 s8 L! h# K& r7 F5 D
4.作和一斜线相切的圆以及过圆上一点作圆的切线, ^5 [& _0 O2 B, k
利用AutoCAD正交模式可容易地画出和垂直线或水平线相切的圆。画一个和斜线相切的圆则需要准确地确定圆心。操作过程如下:
+ Q9 [$ N% M, p7 Q Command: circle
F# Z/ U4 Y" \ [$ z 3P/2P/TTR/<Center point>: 'cal
, S {/ q- Y0 s5 w# a* {4 O& A >> Expression: cur+3*nee(cur表示用光标在屏幕上拾取一个点,nee函数用来计算两端点矢量的法线,3是圆的半径)/ U+ P5 |3 X# V- f" ^+ ?
>> Enter a point:nea(用光标在直线上捕捉一个点作为圆和直线的切点)! c1 l5 ?- O) S4 x' i
to >> Select one endpoint for NEE:(用光标捕捉直线的一个端点)! s( j8 K2 G( Z9 k
>> Select another endpoint for NEE:(用光标捕捉直线上的另一个端点)" Q: P: ]9 X6 O1 f* P
Diameter/<Radius> <1.6745>: 3(给出圆的半径后即可画出这个圆)
4 l- h5 M. I1 }4 |; p 改变光标捕捉直线两个端点的顺序可在直线的另一侧画圆。* D7 z2 d7 T" {0 I1 ~' Y
假设过圆和一直线的交点作圆的切线的操作过程如下:6 e& O' z$ e, ?1 \
Command: line
" b; a b/ k7 ] From point: int(捕捉交点)
+ Z: d7 W! A; {" J8 s/ G of
7 g+ K5 X% K# ?0 i8 C v4 _- H To point: 'cal
( f) K/ G. }& f- m, x: a; _ >> Expression: int+3*nor(cen,int)8 z- F+ e+ q$ \2 \" ~0 P+ w, p# g% u
>> Select entity for INT snap:(用光标捕捉交点)& Q, P0 ~6 I0 {) V2 k. ^
>> Select entity for CEN snap:(用光标捕捉圆心)' a2 ^% N& U3 ], A, G0 d5 h0 s
>> Select entity for INT snap:(再用光标捕捉交点即画出从交点出发长度为3的已知圆的切线)% V. j. G& s" e7 T P
To point:& X6 H0 K z& }! N
5.过一条斜线上的已知点作斜线的垂线% U I) I6 z+ O0 B
因为是非水平非垂直的直线所以不能用AutoCAD的正交模式画直线的垂线。利用几何计算器可直接画出和斜线垂直并且为确定长度的直线。实际上这是一个如何确定垂线的另一个端点的问题。其操作过程如下:
5 f1 T W- @) ]+ B: j! P+ K# X Command: line3 \: T% s0 p( _* {
From point: mid(设过直线的中点作垂线)
+ c; x! o9 a( m7 L7 @ ?of/ J8 D- W+ [/ |/ t: \' D' Q
To point: 'cal6 _+ r$ [7 D5 ]6 i0 z
>> Expression: mid+5*nee(5是垂线的长度)
9 ~5 B1 c2 Q# v' E8 O0 O, ]# d >> Select entity for MID snap:(用光标选择斜线捕捉中点)1 H; C2 |! q0 K
>> Select one endpoint for NEE:(用光标捕捉直线的端点)3 E" C( {/ k+ s& [
>> Select another endpoint for NEE:(用光标捕捉直线的另一个端点)
" I w3 H5 t5 d$ O to point:; w' f- W' Z3 C# s9 K7 }
同样,改变光标捕捉直线端点的顺序,也可在直线的另一侧画垂线。 |
|