|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
应用AutoCAD几何计算器实现快速定位
7 R, d1 d. q3 A( P; e' j5 A# ^0 |% B) L6 H+ f F: S" Y! C
几何计算器是AutoCAD R12提供的一个十分有用的工具。和普通的计算器一样,几何计算器可以完成+、-、*和/的运算以及三角函数的运算。这使得用户在使用AutoCAD绘图过程中,可以在不中断命令的情况下用计算机进行算术运算,AutoCAD则将运算的结果直接作为命令的参数使用。但重要的是,和一般的计算器不同,AutoCAD几何计算器可以作几何运算。它可以作坐标点和坐标点之间的加减运算,可以使用AutoCAD的OSNAP模式捕捉屏幕上的坐标点参与运算,还可以自动计算几何坐标点。如计算两条相交直线的交点,计算直线上的等分点等。此外,AutoCAD几何计算器还具有计算矢量和法线的功能。当然,AutoCAD几何计算器还有其它的功能,这里就不一一罗列。
! p0 J0 z- N, R' U 在使用AutoCAD绘图中,常常需要确定一些无法直接给出坐标的点。例如,任意两点间的中点;和任意方向直线相切的圆的圆心;以及直线上任意等分点等。这就是我们通常所说的CAD绘图的定位问题。实际上,在许多计算机绘图场合,定位是否方便和精确往往直接影响作图的效率和速度。因此,应该充分利用AutoCAD几何计算器的几何运算功能,来实现AutoCAD绘图中的快速定位。
4 I: w2 l- W0 H 在命令提示Command:下键入CAL或激活下拉式菜单的辅助菜单项拾取其中几何计算菜单项都可启动AutoCAD几何计算器。CAL命令也是一个透明命令,可以在其它的命令下随时启动几何计算器。此外,还可以在AutoLISP程序中使用CAL命令。 1 y/ r6 L8 }1 ^8 u0 ]
下面是利用AutoCAD几何计算器的几何运算功能实现在AutoCAD绘图中经常遇到的几个快速定位的实例。
! h1 R( l; U& b3 Z& n( m3 \ 1.在两实体间确定中点4 n4 M; R) g. m* u
这里不需先在两个实体之间画一条辅助线再用OSNAP的MID模式得到中点。例如,要从一个圆心和一直线的端点之间的中心为起点画一直线。操作过程如下:
" d* Q0 K" \. C7 @ Command: line
2 K$ g& | }4 P+ H& c' E From point: 'cal (启动几何计算器)
1 ~* B2 c n$ S3 i4 Q5 B >> Expression: (cen+end)/2 (输入表达式,这里计算器把OSNAP的cen和end模式当作点坐标的临时存储单元)
) _' }/ X# D& ?$ Q. u/ \3 ^, Q >> Select entity for CEN snap 用光标捕捉圆心)% ?: p7 e7 v) i* I2 H+ `
>> Select entity for END snap:(用光标捕捉直线的端点)
3 r% Q' l" k! o1 n( C- t To point:
& {5 ` X, g2 B+ ~- `; q 其它的目标捕捉模式如int、ins 、tan等等均可在几何计算表达式中使用。如果用表达式(cur+cur)/2代替表达式(cen+end)/2,则可以在计算机要求输入点时,再设定OSNAP方式来捕捉所需的点。
6 c/ A( ]! w: b6 d4 C% |8 W. Z: R 2.确定一条直线上的任意等分点和与直线端点定长的点
& B+ R8 A H0 F+ w5 y: [/ ?9 z 使用几何计算器提供的plt和pld函数可以完成这个操作。假设屏幕上有一端点为A和B的直线,要在直线上获得分直线段AB为1比2的点。仍以画直线为例,操作过程如下:
: F K9 m0 {$ {' I% i Command: line
, D1 H8 o T* Y/ N8 q; J From point: 'cal: J9 Z& M. L! J7 O
>> Expression: plt(end,end,1/3), U; ^4 K; G6 o7 V4 E
>> Select entity for END snap:(用光标捕捉端点A)
/ e" x5 G1 f$ ]( w+ A& N, {7 _ >> Select entity for END snap:(用光标捕捉端点B后即得到距A点为1/3线段长的点)4 c9 Q$ m4 ?# O% k- ~! e% Q. H' M
To point:
6 P0 R& f1 k5 z4 R) v8 R 如果要得到直线上距端点A为5的点,使用函数pld(end,end,5)代替上面操作过程中的plt(end,end,1/3)即可。
2 u9 D1 ~& T1 {! D 3.用相对坐标来确定点7 P( L; c9 j9 T! _* _8 I
在绘图中,经常要相对一条线画出另一条线,下面就是操作过程:5 r/ g9 g: j+ o# V; k3 @
Command: line
5 z! a+ H; E; N+ A6 A0 h& X4 X From point: 'cal3 Q$ r/ P9 n% F
>> Expression: end+[2,3](作点和点的相加运算)8 z8 U4 J5 e! F9 q1 C7 M
>> Select entity for END snap:(捕捉一基准直线的端点后即可获得距端点相对位移(2,3)的点)
' N$ f- o$ J1 \4 O. P6 p/ V/ a To point:2 b0 `1 `9 I5 V0 m
这个功能和AutoCAD R13中提供的From目标捕捉模式相似。
% a# V+ G/ X3 R% E& @" M6 V 4.作和一斜线相切的圆以及过圆上一点作圆的切线
" c. d+ J* t4 N# ~; J X 利用AutoCAD正交模式可容易地画出和垂直线或水平线相切的圆。画一个和斜线相切的圆则需要准确地确定圆心。操作过程如下:4 g' D0 Q9 y7 g2 C/ x! b* G; S8 u
Command: circle
; b) O9 O) ~, w. y 3P/2P/TTR/<Center point>: 'cal: `: S4 C& u4 A2 P( E
>> Expression: cur+3*nee(cur表示用光标在屏幕上拾取一个点,nee函数用来计算两端点矢量的法线,3是圆的半径)$ ~7 m( X0 [/ Y n+ w: p6 q/ ]
>> Enter a point:nea(用光标在直线上捕捉一个点作为圆和直线的切点)
. H( r( L R H8 H8 w3 v to >> Select one endpoint for NEE:(用光标捕捉直线的一个端点)7 i; g$ w' y% V: [
>> Select another endpoint for NEE:(用光标捕捉直线上的另一个端点)3 G. Q {* ?3 T& v
Diameter/<Radius> <1.6745>: 3(给出圆的半径后即可画出这个圆)
- M( O# [- `- L; s3 g) Z. c 改变光标捕捉直线两个端点的顺序可在直线的另一侧画圆。0 `* ^* N; W, s7 b! F
假设过圆和一直线的交点作圆的切线的操作过程如下:
2 M+ O+ o' R% n2 o Command: line
3 u7 z8 T" h: O9 Y/ t H From point: int(捕捉交点)' o' e8 l! K8 k& J, M; k
of$ L0 L$ W. w6 N) F. z
To point: 'cal$ k5 ?, ]. p/ X$ p& _2 J6 Q, n
>> Expression: int+3*nor(cen,int)
) G1 w# M- B1 w3 k: ~+ D >> Select entity for INT snap:(用光标捕捉交点)
! h' A. b* f: q. K1 i* [$ e >> Select entity for CEN snap:(用光标捕捉圆心)
/ i1 T: d' m/ C) @ >> Select entity for INT snap:(再用光标捕捉交点即画出从交点出发长度为3的已知圆的切线)+ r1 e# F, @" h3 v
To point:* k( b4 k0 W# v9 ~. I- e$ O
5.过一条斜线上的已知点作斜线的垂线
( l# q. K" W2 `2 {9 ~& r, T 因为是非水平非垂直的直线所以不能用AutoCAD的正交模式画直线的垂线。利用几何计算器可直接画出和斜线垂直并且为确定长度的直线。实际上这是一个如何确定垂线的另一个端点的问题。其操作过程如下:
8 n: E- I. I8 M$ n$ R* ] Command: line& }: c# z- \" h, M# P5 i& }4 k6 B
From point: mid(设过直线的中点作垂线)9 q- B P' ?; l* V7 p% \
?of8 d' }3 Z" ^% Q
To point: 'cal
+ G; ]. h/ O& U4 g8 C; ` >> Expression: mid+5*nee(5是垂线的长度)
2 j3 T, H) s" n >> Select entity for MID snap:(用光标选择斜线捕捉中点)4 k/ s" s) ~2 f
>> Select one endpoint for NEE:(用光标捕捉直线的端点)
/ X1 t+ k; J7 d9 _ >> Select another endpoint for NEE:(用光标捕捉直线的另一个端点)7 }1 e- ]* S0 g3 \ @
to point:' X/ Q: `; j; o$ f! @ |
同样,改变光标捕捉直线端点的顺序,也可在直线的另一侧画垂线。 |
|