|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
应用AutoCAD几何计算器实现快速定位
& n& Z( S }2 w# B; f5 N5 a2 ^$ r8 G! A# q# v9 w3 W
几何计算器是AutoCAD R12提供的一个十分有用的工具。和普通的计算器一样,几何计算器可以完成+、-、*和/的运算以及三角函数的运算。这使得用户在使用AutoCAD绘图过程中,可以在不中断命令的情况下用计算机进行算术运算,AutoCAD则将运算的结果直接作为命令的参数使用。但重要的是,和一般的计算器不同,AutoCAD几何计算器可以作几何运算。它可以作坐标点和坐标点之间的加减运算,可以使用AutoCAD的OSNAP模式捕捉屏幕上的坐标点参与运算,还可以自动计算几何坐标点。如计算两条相交直线的交点,计算直线上的等分点等。此外,AutoCAD几何计算器还具有计算矢量和法线的功能。当然,AutoCAD几何计算器还有其它的功能,这里就不一一罗列。 Q2 c0 }2 h& e$ S2 ]1 Z
在使用AutoCAD绘图中,常常需要确定一些无法直接给出坐标的点。例如,任意两点间的中点;和任意方向直线相切的圆的圆心;以及直线上任意等分点等。这就是我们通常所说的CAD绘图的定位问题。实际上,在许多计算机绘图场合,定位是否方便和精确往往直接影响作图的效率和速度。因此,应该充分利用AutoCAD几何计算器的几何运算功能,来实现AutoCAD绘图中的快速定位。/ c- R5 Q% V+ |/ c) C7 G5 I7 R
在命令提示Command:下键入CAL或激活下拉式菜单的辅助菜单项拾取其中几何计算菜单项都可启动AutoCAD几何计算器。CAL命令也是一个透明命令,可以在其它的命令下随时启动几何计算器。此外,还可以在AutoLISP程序中使用CAL命令。
5 t9 c4 u3 d- q; W 下面是利用AutoCAD几何计算器的几何运算功能实现在AutoCAD绘图中经常遇到的几个快速定位的实例。" a$ L1 z0 }; u8 U; ~& f% v M
1.在两实体间确定中点$ R" }# u, v& C }9 t
这里不需先在两个实体之间画一条辅助线再用OSNAP的MID模式得到中点。例如,要从一个圆心和一直线的端点之间的中心为起点画一直线。操作过程如下:* |5 |4 F% r& g' {& X6 O) C
Command: line
) v/ P5 S. R) Q+ H0 h From point: 'cal (启动几何计算器)5 W, U0 x6 |1 e3 l
>> Expression: (cen+end)/2 (输入表达式,这里计算器把OSNAP的cen和end模式当作点坐标的临时存储单元)5 i# E8 x; n9 w8 R
>> Select entity for CEN snap 用光标捕捉圆心)& f( V& p; v1 t* X5 U
>> Select entity for END snap:(用光标捕捉直线的端点)
* T, i7 d* @6 m3 }5 B( k, p To point:- f+ Q$ C0 }9 p/ [# z
其它的目标捕捉模式如int、ins 、tan等等均可在几何计算表达式中使用。如果用表达式(cur+cur)/2代替表达式(cen+end)/2,则可以在计算机要求输入点时,再设定OSNAP方式来捕捉所需的点。
$ h/ {& @2 ^% t6 _+ l. ?; b! F 2.确定一条直线上的任意等分点和与直线端点定长的点) G' j# n# r c) v
使用几何计算器提供的plt和pld函数可以完成这个操作。假设屏幕上有一端点为A和B的直线,要在直线上获得分直线段AB为1比2的点。仍以画直线为例,操作过程如下:
2 b" b1 h: J* T5 Y; \ Command: line
3 D; @3 T! ~, Y) n. V From point: 'cal' e% D# z$ M& a$ R- W+ x& W# ~
>> Expression: plt(end,end,1/3)% Q' y/ ?$ H" c( {; \* Q7 R
>> Select entity for END snap:(用光标捕捉端点A)
* }' n) H0 D# Z. y+ a" P >> Select entity for END snap:(用光标捕捉端点B后即得到距A点为1/3线段长的点)
! p" Y& x; D7 }0 @7 V# E3 b To point:& J$ g" B, F& o
如果要得到直线上距端点A为5的点,使用函数pld(end,end,5)代替上面操作过程中的plt(end,end,1/3)即可。' x" ?: i0 S5 E/ Z$ D
3.用相对坐标来确定点5 w- x3 W; f7 \$ X' ^/ W, M/ ` `
在绘图中,经常要相对一条线画出另一条线,下面就是操作过程:/ U1 `2 X a- D, t, r
Command: line; y8 r" Q- ^) _6 p3 D7 Q1 E
From point: 'cal
" R d8 g: `3 A) i0 ] >> Expression: end+[2,3](作点和点的相加运算). ]# d$ Y1 l, H# v v! B v! N5 U- _
>> Select entity for END snap:(捕捉一基准直线的端点后即可获得距端点相对位移(2,3)的点)
% q! O8 k- S8 L8 f& N2 P* ^ To point:
; x9 W5 P5 J3 _9 G3 o3 v( J) d7 w 这个功能和AutoCAD R13中提供的From目标捕捉模式相似。
" B% i& ], d5 A' j 4.作和一斜线相切的圆以及过圆上一点作圆的切线
{0 `7 j: @0 ]6 a- M$ D( r$ { 利用AutoCAD正交模式可容易地画出和垂直线或水平线相切的圆。画一个和斜线相切的圆则需要准确地确定圆心。操作过程如下:
2 ]5 o u7 _5 [# b/ @- s Command: circle, I5 k: @7 p% R8 Q: z# W5 ]
3P/2P/TTR/<Center point>: 'cal
8 L/ t# {2 y* a4 z >> Expression: cur+3*nee(cur表示用光标在屏幕上拾取一个点,nee函数用来计算两端点矢量的法线,3是圆的半径)0 T# k. g) V8 F9 q5 H
>> Enter a point:nea(用光标在直线上捕捉一个点作为圆和直线的切点)
# w/ d' d1 _9 r5 F' w to >> Select one endpoint for NEE:(用光标捕捉直线的一个端点)
& E; e2 `" g/ o1 q) Y+ K: b >> Select another endpoint for NEE:(用光标捕捉直线上的另一个端点)
* {4 R& }$ O! c: H' O' f0 l Diameter/<Radius> <1.6745>: 3(给出圆的半径后即可画出这个圆)6 |$ C# T+ |5 @. X+ i6 g
改变光标捕捉直线两个端点的顺序可在直线的另一侧画圆。
( a; z7 n; y N" E 假设过圆和一直线的交点作圆的切线的操作过程如下:
' e' n; v1 \, `; o Command: line
- _. o$ [8 }8 _5 ]. _! m# H From point: int(捕捉交点)1 }5 u5 r) V5 I& m
of. I" L* o* b7 u$ Q1 H: L
To point: 'cal( a! V" d/ |( G7 Q, |
>> Expression: int+3*nor(cen,int)
/ U' R0 B+ g; ?" r1 e >> Select entity for INT snap:(用光标捕捉交点)
, h0 }; v( ?/ q >> Select entity for CEN snap:(用光标捕捉圆心)# W7 D0 L# @ Y1 R& M% g; G
>> Select entity for INT snap:(再用光标捕捉交点即画出从交点出发长度为3的已知圆的切线)
5 h4 U9 d; |# t* P; _# h: U To point:; G& ]/ J v+ L; a3 v! w2 J
5.过一条斜线上的已知点作斜线的垂线
5 v% ?: O0 V q2 i3 q 因为是非水平非垂直的直线所以不能用AutoCAD的正交模式画直线的垂线。利用几何计算器可直接画出和斜线垂直并且为确定长度的直线。实际上这是一个如何确定垂线的另一个端点的问题。其操作过程如下:9 ?& D, ]% p; C3 U. F
Command: line1 a8 \# r( x( b- |
From point: mid(设过直线的中点作垂线)
! I0 ]9 M. i9 ]0 ^ ?of$ F6 ?; D% d" @' p8 R$ i# Y( ~
To point: 'cal' S- Z, b& I4 h. m
>> Expression: mid+5*nee(5是垂线的长度)
! @& h0 ` M; Q: ~+ P! H >> Select entity for MID snap:(用光标选择斜线捕捉中点). i1 ^ d( t' x; B
>> Select one endpoint for NEE:(用光标捕捉直线的端点). b3 U; U8 `$ f
>> Select another endpoint for NEE:(用光标捕捉直线的另一个端点), ~3 \, x4 C& _) I# _
to point:
; ?$ W' \. @: d 同样,改变光标捕捉直线端点的顺序,也可在直线的另一侧画垂线。 |
|