找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 289|回复: 0

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

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

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

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

×

  引言

. S1 j4 ^1 m7 B; F! }6 S9 Y/ p/ V- i7 a$ W9 L% x( m

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

5 \5 h1 e& {2 [) v $ S5 g& F( \) r4 \

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

- N# M. ~) \; v% b( E: h2 R3 L# z( ]4 T7 g7 l% z

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

C0 u2 f; e5 e) I, m; q6 x0 J8 v. X: _1 X+ d

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

! B+ {: j! S- M4 m9 a) x E8 `" e% q9 P0 c2 _

  1.在两实体间确定中点

4 ]- d$ A( ?' b* b3 G" T3 q $ k4 {4 N$ R/ n l

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

o# R8 |9 L& ^ - ~; O; b$ q: a6 t) M6 W

  Command: line

' c! o0 F& o1 K( G ' Y; y& L$ a9 u6 Y8 l

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

% X9 t+ A, k0 V$ W6 P% ?9 G3 P4 J" O % U1 O& F0 g9 e! K' N: {5 T k, d

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

- g* |& M( p6 A9 m7 S' s0 t1 t: _% p8 l2 L

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

) B6 _8 p, A5 c ( }4 o& b' K- {( i$ |

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

6 K- B5 n) J4 M e N7 E! b W 2 i% q+ ?# I! `+ T6 _! z

  To point:

R# z( p- j9 _ 0 q. @' [' B- G( h1 W

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

5 Q. l4 r; z( i9 h# r " b* k$ q& r& _" g

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

) c9 Q+ }3 \" L" d9 L 4 [$ p% L- ?! Q5 b" q

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

3 z9 a' S9 K8 L - Z8 @5 \4 \; l9 H- n! t

  Command: line

; P7 v3 p2 C1 b3 X 3 d' }8 w! `# }3 S4 D: [

  From point: 'cal

) b: \ m& S' |- E4 a$ q ; S! a. D9 o6 a3 H, p6 c, f1 @

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

2 S' P7 _: C, ^- z1 W / Z. |8 z- Z) s- R# Z q

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

7 n7 [4 t( y# v6 i9 X7 S. i ! Y; V! L; d6 L( n) g/ \. {; [

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

3 U9 o8 Q6 ~! P. H2 Z( A4 U Y$ N+ y8 E; F( p, r

  To point:

1 ]- M7 i0 g+ Z% A' X ( ^" \* {# N3 k7 S6 _! R2 b4 b, ~8 G# N

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

: P" u7 g$ ]$ Y; C3 ^9 j( i7 N$ A/ E # ^1 C, T! O$ O% W1 }( B

  3.用相对坐标来确定点

7 \; O4 ]- `! a4 w) t9 F1 m Z$ y; [6 x2 g1 E

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

% s: _* g3 {! Q; Y$ |7 ] 4 u7 s' J V& }7 ~7 s+ @

  Command: line

: T0 k J" E( [& ]1 f$ r" [' H0 g, M8 F+ ^

  From point: 'cal

, t" h0 O7 W, r2 u2 ?. j; `* a" B) |5 p, k

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

! p6 `( W: L# u! W3 L 3 n0 h, D4 i* R

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

|8 |* |$ w5 V6 U. _6 H7 @ 8 X& h& q% \4 w9 V/ z

  To point:

* u3 V- j @7 g) I: t0 ^ $ C6 d: ]9 D/ u. m

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

# }1 v3 u9 a9 l9 q. t . t! k& X' k, a1 D0 A

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

+ W. A3 c6 r$ x6 @+ C- c E 0 B2 Q e1 b# L

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

& L0 B8 y7 K& d( i: ` * H4 G/ f% A" B4 {2 k- K2 N+ N

  Command: circle

2 Z3 @' h, w8 D" t( a5 X8 l5 x % }- H* e1 n1 L8 V7 R8 V5 p$ ^. O. f

  3P/2P/TTR/

: 'cal

' u+ ]( U% K2 {% |8 I% a8 |# t. g5 m

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

) Z$ E6 B& _) p" ^% G0 d& V) e6 o/ _6 a8 {% }! ~

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

* `$ W) ? Q5 X& u# S3 e9 u# F+ [$ E 1 s t( K! D- q( a3 a

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

; U% ~) z. A9 Y9 u9 v9 Q- s $ P& ~# |0 {) G7 `

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

7 ?& {# l& \0 \) [2 Y, M1 }9 u / q# M7 c( ?& S2 K0 z& `7 b

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

; r2 L7 z! W. L3 i* |# j V4 P1 U# C. e4 C% d5 O4 j ^- k: S

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

5 C6 a1 K0 i+ i* B. q, \" q 4 c0 t- T; f( ^- j, C2 R

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

0 w& b' s/ ?( C! W# n8 r8 Z: j- d# D$ o $ p0 j( r9 Y2 Q

  Command: line

@+ z) U1 L) [; w5 g' M, { * I x: k1 h' O0 q `7 M

  From point: int(捕捉交点)

F0 _( X% W' n0 ~5 t7 t0 ~) D8 D' V1 |7 y

  of

& d. Q" H2 U! s1 K( w$ ^ & E* s Z& `( V% T) A

  To point: 'cal

9 t7 p& C. b( t0 l. O4 B/ i" d + M5 M- }' m7 j6 D5 K, Z( |

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

+ d, ~1 o; d- ? ' b( {% g& b$ |* E6 ~( M% T0 K: R4 c

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

$ i L: F6 R! o* z/ [0 Q : c+ |6 ^9 M' k3 r% A1 I

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

$ s' v: Z* D4 B1 n V+ E- v 6 Z+ C' a! O" }6 y( h; t1 i

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

0 n& v+ u) @; U; V 8 r ?: W) V! a% i8 L

  To point:

C G0 h6 h5 e& b : w2 _) D3 Y2 S) M y( T

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

0 Z' e4 \$ Y/ v( r+ ]/ l 8 ^9 Z& p) w% J6 g( ~- l# g$ T7 F

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

2 Z- r7 _2 L/ l1 b8 z 1 V3 \$ _7 Q: K N) v

  Command: line

6 G! {9 ]- w! N8 W; Y ' f1 S( ^, @! [& B( h& Y

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

, \6 e# n+ S5 @' k : i& {, k0 l! e

  of

+ [0 b' X( w3 p9 T ' o! Y; T+ o9 |5 i

  To point: 'cal

! h2 ~3 ]0 s# N6 O* w" b; C) [: D6 ^1 Z8 m3 F* h0 o$ g/ w. m4 K

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

/ b9 e- P/ @ K/ N 8 U, k% M. R5 A5 e

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

. |' j3 j. W3 g E q ; `0 v( f' e+ w+ I8 s7 m" z4 V: m

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

: x$ K8 j; U& l0 c3 R1 O2 R- V! i- q' }- G: i4 d

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

3 a- v4 G6 E }- z, d 4 ^/ h/ K' N& T) S( l

  to point:

) Y" E- ?! G( ~# ]* H 7 {" t9 U: |7 {+ f

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

5 k9 i% p* _8 E# h2 g+ _
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

中国磨削网

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

GMT+8, 2025-2-19 07:01 , Processed in 0.249040 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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