找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 275|回复: 0

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

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

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

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

×

  引言

( |4 G; ` d0 d9 b! e' U " H2 m+ |' f; o8 R- M* Y

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

; [2 R9 u ~2 a( F 2 M% B2 b r! ~$ L0 \' G( t# _

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

+ K# {( i% x" w7 l + r. B0 D% e* p. h

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

) f( J4 v; a% }7 ? " [2 D7 p; c! B ^) {# r! x

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

& `1 U7 w! i9 L4 O: W. @+ n/ f* c4 } 3 P+ _7 D) f5 h q, ?% c

  1.在两实体间确定中点

* P3 C+ @# Y' I+ f0 n & V3 ?: K( `0 j0 _

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

7 K6 n! T" |: l* b1 p8 w; [! K % B& D6 Z# ~4 P8 F; E

  Command: line

0 ^4 J$ b+ z$ w& ] ; k {& i) l2 l F; G

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

. L3 Y' C+ `# e& G J 1 c! U+ }0 a( x

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

" q' E/ Y4 Q1 `( E3 ?! i# w% l - X" z5 Y0 }0 D9 W* q

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

6 |4 s' t2 @+ n: d, ^ }, ^ 6 X( P7 l$ }) c* d

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

8 J2 d, f) R6 r! U( k# j0 J% l) L 4 u( S" E, k+ S! Y0 j# G: A

  To point:

, L# }% T7 X& W 9 Q, D: K( [1 l1 W9 C) A2 ` c0 e- I

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

( w) T. c1 }+ R 9 @5 ~6 _2 J' v3 e! k# k

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

$ U0 c$ }6 X U c2 G" q+ k5 z4 u" j5 z$ x" v3 {. c; Q2 S9 v9 g

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

4 ^9 H" ]3 k/ s; m" W$ k) Z$ K + g* d6 t+ q! U. k

  Command: line

- m5 G; h% }" v8 J R1 q R* X" q w7 _

  From point: 'cal

3 ?; _% k' o" g2 ~5 N {6 W! V& U7 { 2 O1 w1 z, \8 [9 ^* z! F& c

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

, z3 o+ w o+ [# J2 f3 k. I9 [. u0 Q: ~8 @2 _5 F

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

- P6 }. f8 p& Q6 y7 h& X5 c2 c 2 a" |7 g: ^( c& }/ i: m0 c

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

4 i" P" P; r2 e+ [, j. ? 4 ?" P2 ^( h4 K" Z5 g" L

  To point:

- P/ H' y8 Y4 d, ~; b0 k6 _ 9 j" n, i: Z, P9 I4 E; O

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

' K! A* S" W }, x1 q* E' P / K, X6 k) o$ M

  3.用相对坐标来确定点

t4 s! z$ S) \3 m0 [ ( A- }9 O" Y+ X/ Q8 h9 ^

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

% B& i) Y/ Y+ f4 J" w8 m! O/ t6 }! K( z$ M* p4 k

  Command: line

- C0 f) b$ U. `( H% l 4 P% {% W, v1 W

  From point: 'cal

# U4 \ G$ Z/ ^7 n( z* N- H& N 0 T P5 i6 ~' ~' ?; E7 X2 W4 {

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

) ]/ d! Y, t3 T* r* Q% \% E& w' ` 6 U5 Y6 p) ~1 \% c" j

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

! Y9 C; |. E* y( T B . P1 |! O6 z+ ~# y A! w# _

  To point:

+ A" ]9 U7 R' r! L* W- T* ?$ W: w" H

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

$ g* x2 F; S! m* M7 _. W: K$ q4 R2 k5 G4 E

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

7 @* X" T" I( ]- T , O. A3 V; N7 K' H7 w

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

7 M; G- X" ~& Q0 W% C 3 [7 l P* J) O! x6 ?5 |6 s" V/ Q

  Command: circle

2 G! G1 V9 C0 Y* k2 K8 k, b, ~ ' d4 f4 E3 I& p. s" G+ v5 O

  3P/2P/TTR/

: 'cal

8 m5 H7 Q R# g6 \* H4 G* P0 W ; c% O# L+ d2 F% V z

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

8 c0 K' L6 X* P' N$ S $ n' Q+ l1 b% K

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

( M! Q. t0 ~5 p, v7 G # u' F8 F7 D ~/ M7 W! U% S

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

9 J6 Y1 G' j/ s8 H! K& N2 H2 q+ f- X' z! v$ z' r$ z3 v4 X

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

+ b+ g- H: r; Q) I4 M/ c7 D% A' W5 M" X* I: O2 p

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

f q- T) f1 L * S ], n+ B/ g% ]8 H

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

* R" U3 w0 s" B- B0 [2 D + h& N7 Y2 [; O1 V# v

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

. T$ |. S" y% H" H! G" Y . T Z+ ~. r7 F0 c

  Command: line

2 n( g& S8 M; A l ]) z. H3 @9 m1 Z% n

  From point: int(捕捉交点)

* Y" ^ r1 [; s7 D 7 i+ B* \( T* H- Z _- S( W

  of

. l: i$ U" ]* ]6 M' j+ O* _. @$ ?" _; t5 }

  To point: 'cal

+ r0 I$ d, s3 {( v7 q0 h3 d! V* p. V/ u, t

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

4 I8 U# e: D3 U( g! p: B* B% x# B) @1 C9 t

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

8 Z3 B- h% l; l9 a6 p: G 7 a3 H" j" H1 _% \* ^

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

. S1 c/ F) }' }& U- _ 6 k [" o1 F# y! V& l

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

6 n3 e2 r1 r( Z. w+ }. N$ u 1 |3 [; H" b/ {6 v2 Z+ d

  To point:

5 t; x4 O- E: K% W2 ]; \2 k& l& A i5 `7 Z6 `0 B

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

0 q: q9 `- i) V% T3 I 0 T- ^$ I5 ]: T' H* X1 ~

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

/ V( t* A- A) Q- g( c; J5 j- F0 I; U( a( g2 J9 [

  Command: line

1 C. Q* _7 t7 N& r9 c0 K: l5 u& J. s/ p

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

% {0 k" ^: F$ K" \9 H& j2 Q; Y# s7 f 2 z8 s/ b ~; O( O: O. p' D

  of

* h: }; _- B8 L9 B7 |' u3 ] & Y1 Z' L; d: y, h, p" i

  To point: 'cal

0 O8 z- u) R _2 j+ w 3 h4 o# P' y8 E' [1 m" b( t

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

* D- c' H) j( o5 b3 b & q) n. `: x$ C7 B0 I3 B" a

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

) ]$ z4 T# x N4 C9 e * m; w/ H) ]7 f/ e3 m* g

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

" f$ p0 P$ s- e: [+ ~: w% f& f - h; M n2 o( ]

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

q4 m8 M8 \+ ` * o6 @) Z. Q* e2 E% W: ^! ]

  to point:

9 O) D$ T( H% D1 a3 @$ Q8 m2 R. v U8 r, R/ O

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

8 A/ k6 H# j) u: ^" G
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

中国磨削网

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

GMT+8, 2024-11-16 15:45 , Processed in 0.154917 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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