找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 280|回复: 0

应用AutoCAD几何计算器实现快速定位

[复制链接]
发表于 2010-9-13 21:58:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛

您需要 登录 才可以下载或查看,没有账号?注册会员

×

  引言

Y5 g# w# m7 q " E% y+ [$ ?- N, P; G* ~7 A

  几何计算器是AutoCAD R12提供的一个十分有用的工具。和普通的计算器一样,几何计算器可以完成+、-、*和/的运算以及三角函数的运算。这使得用户在使用AutoCAD绘图过程中,可以在不中断命令的情况下用计算机进行算术运算,AutoCAD则将运算的结果直接作为命令的参数使用。但重要的是,和一般的计算器不同,AutoCAD几何计算器可以作几何运算。它可以作坐标点和坐标点之间的加减运算,可以使用AutoCAD的OSNAP模式捕捉屏幕上的坐标点参与运算,还可以自动计算几何坐标点。如计算两条相交直线的交点,计算直线上的等分点等。此外,AutoCAD几何计算器还具有计算矢量和法线的功能。当然,AutoCAD几何计算器还有其它的功能,这里就不一一罗列。

4 R/ o! L3 S" x: } ) Q6 m5 Z( w) `" K) z$ m6 y

  在使用AutoCAD绘图中,常常需要确定一些无法直接给出坐标的点。例如,任意两点间的中点;和任意方向直线相切的圆的圆心;以及直线上任意等分点等。这就是我们通常所说的CAD绘图的定位问题。实际上,在许多计算机绘图场合,定位是否方便和精确往往直接影响作图的效率和速度。因此,应该充分利用AutoCAD几何计算器的几何运算功能,来实现AutoCAD绘图中的快速定位。

4 [. o, y: L% r! ~6 j , @* P; \9 z- V @8 v: ^

  在命令提示Command:下键入CAL或激活下拉式菜单的辅助菜单项拾取其中几何计算菜单项都可启动AutoCAD几何计算器。CAL命令也是一个透明命令,可以在其它的命令下随时启动几何计算器。此外,还可以在AutoLISP程序中使用CAL命令。

3 q0 x0 K( C4 n t8 E5 | 9 Q+ L7 L0 B! I! K A

  下面是利用AutoCAD几何计算器的几何运算功能实现在AutoCAD绘图中经常遇到的几个快速定位的实例。

- O( F$ }$ D) B* x4 W; p3 r ' H' |/ f8 c0 r

  1.在两实体间确定中点

, Q7 ]; @9 e& y# L2 f 1 X4 H! l: }9 c- g. y) {

  这里不需先在两个实体之间画一条辅助线再用OSNAP的MID模式得到中点。例如,要从一个圆心和一直线的端点之间的中心为起点画一直线。操作过程如下:

* o; J5 ]9 h- M5 o* u " d7 x1 ?6 Z( A# ^" C) K

  Command: line

& z" D+ k8 I1 f) z) ~% }" l, G) z4 @

  From point: 'cal (启动几何计算器)

! V) E1 N) f5 b: j! j7 N) @8 T0 x ! i0 x% _: o& T$ F

  >> Expression: (cen+end)/2 (输入表达式,这里计算器把OSNAP的cen和end模式当作点坐标的临时存储单元)

7 _0 x$ S! X) L1 j' u) v1 J/ H* m 1 y9 ^- q& L/ K# |

  >> Select entity for CEN snap:(用光标捕捉圆心)

% C& X* U P2 ?2 o% h( j7 {! I. }0 ~8 b% R

  >> Select entity for END snap:(用光标捕捉直线的端点)

' E. `3 G0 O4 t$ G + b" a! y" u/ n, ^

  To point:

7 s/ r& s& {* _9 k- ~2 b4 f5 u: P0 L

  其它的目标捕捉模式如int、ins、tan等等均可在几何计算表达式中使用。如果用表达式(cur+cur)/2代替表达式(cen+end)/2,则可以在计算机要求输入点时,再设定OSNAP方式来捕捉所需的点。

; f) `9 g2 F: Q2 h' m) X; @ # L, k+ f, \* j* s* }& r

  2.确定一条直线上的任意等分点和与直线端点定长的点

. O% C, N" [1 m* [6 E0 d1 k+ \$ m( p

  使用几何计算器提供的plt和pld函数可以完成这个操作。假设屏幕上有一端点为A和B的直线,要在直线上获得分直线段AB为1比2的点。仍以画直线为例,操作过程如下:

0 P5 U* [6 e' L + i; ^3 X4 m: \: M: w$ x

  Command: line

3 I. C; \# C0 |. _: z % Y5 ]5 C4 }7 z$ M& q, b3 @/ O

  From point: 'cal

# _( A& v, B1 l# `; v9 o7 e9 _ ; n# j$ Z0 Z* D; ]

  >> Expression: plt(end,end,1/3)

# O; [ {6 S( h1 ~6 {3 D+ V- [3 ~2 K" } r" A

  >> Select entity for END snap:(用光标捕捉端点A)

8 q) R4 w7 I1 \& f 8 g4 O" K, {4 y% U

  >> Select entity for END snap:(用光标捕捉端点B后即得到距A点为1/3线段长的点)

0 {; w% P5 a5 }. W3 F 2 `! Q4 F) ?4 Z H$ Y* V

  To point:

$ `5 n* K/ [. |* D( L' D: d# }; X ' h8 R/ `! {9 q! t

  如果要得到直线上距端点A为5的点,使用函数pld(end,end,5)代替上面操作过程中的plt(end,end,1/3)即可。

( ^( t' n; R. d) v4 Z 8 w8 s4 O/ X. M1 } Y. q8 f

  3.用相对坐标来确定点

4 Z6 [1 z9 F; l- h+ g1 B. m 3 B0 C% ]* i$ B- F6 q$ b+ \9 [

  在绘图中,经常要相对一条线画出另一条线,下面就是操作过程:

* T) g2 B; O$ N, w& r9 U( D; @ * q$ t& t! j& @' n: S9 H& _. U

  Command: line

& {, s4 i% q' V0 u6 C# O9 N 4 B( `3 V( e9 }: T6 [

  From point: 'cal

# i H0 j5 V: |9 K W. E1 [ . s* K7 T, d) z, ^" d. G: u

  >> Expression: end+[2,3](作点和点的相加运算)

2 Z1 J, b, Z3 m$ t. R( z* d- _0 g ) E1 L; s9 T4 N( ?

  >> Select entity for END snap:(捕捉一基准直线的端点后即可获得距端点相对位移(2,3)的点)

0 \. t2 _- U5 U$ Y6 R( y% y/ S7 y: T! A& I; N; `

  To point:

! a9 B' ~* h( g; } 4 K; f9 F; C3 Y$ n

  这个功能和AutoCAD R13中提供的From目标捕捉模式相似。

1 R! ~" J) ]3 e) ~+ T' \9 D8 c( m7 ?2 A. n) d0 E+ h$ m- }) m: u

  4.作和一斜线相切的圆以及过圆上一点作圆的切线

& y' E v& b# A- J7 g 1 L& D1 E; h- X: Y0 \/ r$ s0 W8 t3 h0 z

  利用AutoCAD正交模式可容易地画出和垂直线或水平线相切的圆。画一个和斜线相切的圆则需要准确地确定圆心。操作过程如下:

4 f7 L8 N M3 B) W5 E6 t , K+ Y' D9 ^/ O: X, j* \$ a

  Command: circle

) v! @) |7 ~7 F4 J' ~& G0 C z/ ]1 w1 ~; l# t3 d$ j9 r4 c6 p

  3P/2P/TTR/

: 'cal

4 ~" U% [ g U( B% d. j ) } g, s2 i5 {# r, m

  >> Expression: cur+3*nee(cur表示用光标在屏幕上拾取一个点,nee函数用来计算两端点矢量的法线,3是圆的半径)

+ i5 y3 ~( l s- y! I* w% y" u7 o) ^! |. B, A% X

  >> Enter a point:nea(用光标在直线上捕捉一个点作为圆和直线的切点)

7 @. O1 P1 _, k1 e ) T. \, H2 ~5 X

  to >> Select one endpoint for NEE:(用光标捕捉直线的一个端点)

7 M5 q# ?0 J F0 d1 `# Z$ Y8 A4 X9 k8 u) _2 W# k x- Y a

  >> Select another endpoint for NEE:(用光标捕捉直线上的另一个端点)

$ s9 i! F6 C% G- Z4 W! R 2 P Z% B. p* K2 g* Y; n

  Diameter/ <1.6745>: 3(给出圆的半径后即可画出这个圆)

+ K! M8 {) K. u" Q / Z# A' d5 Q7 F

  改变光标捕捉直线两个端点的顺序可在直线的另一侧画圆。

9 F A, N, [' S' f3 u1 ~ % q/ H+ _$ A$ G' h3 l3 L+ ]

  假设过圆和一直线的交点作圆的切线的操作过程如下:

; K1 C8 G# E) M: L4 F * {( C" `" Y+ f% _/ X* t4 K

  Command: line

# N6 Q& e9 f x; O( L9 e* r 9 R* u7 r8 x+ p, n* v" W

  From point: int(捕捉交点)

( d: U* o: |4 |8 O, ], }6 C4 p 4 R# y k+ ]; k7 G- Z8 `9 ?

  of

8 D* Q1 u6 ~9 X6 J - ]/ d h6 E! q { M9 g

  To point: 'cal

& b; f( @0 Z e9 E " A2 ^. q& B" T0 U$ U' V' O

  >> Expression: int+3*nor(cen,int)

* _- G* f9 ?" f# Z3 f# r2 f " n1 g f5 t# u; q8 l% `+ K

  >> Select entity for INT snap:(用光标捕捉交点)

0 Y6 `& g5 w' J/ p0 f% c 6 R% G3 J |: L- W. r9 n

  >> Select entity for CEN snap:(用光标捕捉圆心)

- c. ~# d( W: H2 v- u9 ? ! f5 p# o! ?9 G4 q2 P- A

  >> Select entity for INT snap:(再用光标捕捉交点即画出从交点出发长度为3的已知圆的切线)

8 r' K* N" @8 V1 ~3 o4 V8 H 2 C% _! z7 E/ E( |3 T

  To point:

2 ]7 |0 ?! X6 h, M+ x5 U& ]. q) m& A/ r# O 3 o7 r7 D0 l( W; }3 Y n- i

  5.过一条斜线上的已知点作斜线的垂线

+ ]0 ^7 A1 N6 k4 i" ~- I0 ? p + C3 T9 A+ c" y# H

  因为是非水平非垂直的直线所以不能用AutoCAD的正交模式画直线的垂线。利用几何计算器可直接画出和斜线垂直并且为确定长度的直线。实际上这是一个如何确定垂线的另一个端点的问题。其操作过程如下:

# z. }" m5 M8 p y8 ^) z) D. m% F) b( J+ `5 J6 E* A F) M) C

  Command: line

5 k& F y6 r7 h; A4 N* C- T! d3 b+ }4 ^* K2 R

  From point: mid(设过直线的中点作垂线)

& ^/ C; D) w5 {0 o% N+ x. x. a/ R; T' p4 y- L' W$ s8 @- k/ E

  of

3 C, a1 S2 J: w; s& i1 } * C$ \& N# ~( k

  To point: 'cal

6 }- f+ w" N4 D5 }, A0 t1 a) ]1 p$ D7 y1 g; a+ G, ^: `' m

  >> Expression: mid+5*nee(5是垂线的长度)

- O8 w# R7 S0 o! @6 H H, `6 v2 q! }' H$ I

  >> Select entity for MID snap:(用光标选择斜线捕捉中点)

S/ W i9 c$ M* q3 u0 T; d% s% A% t2 m ) X# o. s* _0 d; l% {- b7 P7 G

  >> Select one endpoint for NEE:(用光标捕捉直线的端点)

0 e1 c' q+ T7 w9 p% ~5 } v 6 [$ Y& D7 r; p- [$ P$ g0 b _8 O5 A

  >> Select another endpoint for NEE:(用光标捕捉直线的另一个端点)

, ~) d* _6 y, t0 i2 v : V0 J% z: w& Q

  to point:

, G' }0 ?% {5 x6 a ! k# P/ b( ~9 }5 }/ G9 b* d' F

  同样,改变光标捕捉直线端点的顺序,也可在直线的另一侧画垂线。【MechNet】

9 s$ T P- m3 e; U
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

中国磨床技术论坛
论 坛 声 明 郑重声明:本论坛属技术交流,非盈利性论坛。本论坛言论纯属发表者个人意见,与“中国磨削技术论坛”立场无关。 涉及政治言论一律删除,请所有会员注意.论坛资源由会员从网上收集整理所得,版权属于原作者. 论坛所有资源是进行学习和科研测试之用,请在下载后24小时删除, 本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权, 请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!

中国磨削网

QQ|Archiver|手机版|小黑屋|磨削技术网 ( 苏ICP备12056899号-1 )

GMT+8, 2025-1-9 10:13 , Processed in 0.151028 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表