QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
11天前
查看: 1543|回复: 2
收起左侧

[分享] 应用AutoCAD几何计算器实现快速定位

[复制链接]
发表于 2007-7-6 17:35:02 | 显示全部楼层 |阅读模式 来自: 中国山东聊城

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
应用AutoCAD几何计算器实现快速定位
! Z% f7 u9 H- D  Z
5 N6 H( Q8 V! y. T几何计算器是AutoCAD R12提供的一个十分有用的工具。和普通的计算器一样,几何计算器可以完成+、-、*和/的运算以及三角函数的运算。这使得用户在使用AutoCAD绘图过程中,可以在不中断命令的情况下用计算机进行算术运算,AutoCAD则将运算的结果直接作为命令的参数使用。但重要的是,和一般的计算器不同,AutoCAD几何计算器可以作几何运算。它可以作坐标点和坐标点之间的加减运算,可以使用AutoCAD的OSNAP模式捕捉屏幕上的坐标点参与运算,还可以自动计算几何坐标点。如计算两条相交直线的交点,计算直线上的等分点等。此外,AutoCAD几何计算器还具有计算矢量和法线的功能。当然,AutoCAD几何计算器还有其它的功能,这里就不一一罗列。
* @; _. |; N$ L6 c% _# r   在使用AutoCAD绘图中,常常需要确定一些无法直接给出坐标的点。例如,任意两点间的中点;和任意方向直线相切的圆的圆心;以及直线上任意等分点等。这就是我们通常所说的CAD绘图的定位问题。实际上,在许多计算机绘图场合,定位是否方便和精确往往直接影响作图的效率和速度。因此,应该充分利用AutoCAD几何计算器的几何运算功能,来实现AutoCAD绘图中的快速定位。8 l/ u, ~2 E  N
   在命令提示Command:下键入CAL或激活下拉式菜单的辅助菜单项拾取其中几何计算菜单项都可启动AutoCAD几何计算器。CAL命令也是一个透明命令,可以在其它的命令下随时启动几何计算器。此外,还可以在AutoLISP程序中使用CAL命令。 * S) A% c. f) B9 J! d
  下面是利用AutoCAD几何计算器的几何运算功能实现在AutoCAD绘图中经常遇到的几个快速定位的实例。( K' L. [& B7 y' [
   1.在两实体间确定中点
( ]# \/ b. c  z4 d! y% _: X4 w: t   这里不需先在两个实体之间画一条辅助线再用OSNAP的MID模式得到中点。例如,要从一个圆心和一直线的端点之间的中心为起点画一直线。操作过程如下:$ y! J3 T% U& @0 W" h
   Command: line4 k7 O; Z% R8 h' P
   From point: 'cal (启动几何计算器)
4 T' c* `- ?& j2 s7 R3 D  >> Expression: (cen+end)/2 (输入表达式,这里计算器把OSNAP的cen和end模式当作点坐标的临时存储单元)
6 X, @, ?6 z, B8 E+ A  >> Select entity for CEN snap用光标捕捉圆心)
7 A& u, _& P2 }* z  >> Select entity for END snap:(用光标捕捉直线的端点)$ J  f7 s- g# t
   To point:2 u9 t( |: U6 S/ l4 _- f' b
   其它的目标捕捉模式如int、ins 、tan等等均可在几何计算表达式中使用。如果用表达式(cur+cur)/2代替表达式(cen+end)/2,则可以在计算机要求输入点时,再设定OSNAP方式来捕捉所需的点。+ B! W2 z# c9 W) l- g1 G$ |# O
   2.确定一条直线上的任意等分点和与直线端点定长的点
2 V5 `  I$ V- I3 O" q  z   使用几何计算器提供的plt和pld函数可以完成这个操作。假设屏幕上有一端点为A和B的直线,要在直线上获得分直线段AB为1比2的点。仍以画直线为例,操作过程如下:
9 a2 q/ {: b4 I2 u% N( a2 ]   Command: line5 f0 `8 w# G3 m' |  m8 ?0 J
   From point: 'cal" L7 l# `3 F6 H
  >> Expression: plt(end,end,1/3)* ]' f. }* h( w! ^- A9 Z& d  B
  >> Select entity for END snap:(用光标捕捉端点A)
1 ?- s. y' R: B- w$ C  >> Select entity for END snap:(用光标捕捉端点B后即得到距A点为1/3线段长的点)
5 H3 l8 z+ w% G2 W   To point:! r5 Y9 E' V1 u5 _; E
   如果要得到直线上距端点A为5的点,使用函数pld(end,end,5)代替上面操作过程中的plt(end,end,1/3)即可。8 E: `* _" c/ E+ R9 p( P6 F0 d' ?
   3.用相对坐标来确定点
! ~" M0 |& m& x' j1 X   在绘图中,经常要相对一条线画出另一条线,下面就是操作过程:: x" R9 V* d) {$ U, E9 }
   Command: line
* z1 G- c3 x& {0 E( i; z1 f# S   From point: 'cal8 t7 j2 i7 T  r" @
  >> Expression: end+[2,3](作点和点的相加运算)
3 J" C; u' l( U  >> Select entity for END snap:(捕捉一基准直线的端点后即可获得距端点相对位移(2,3)的点)
) n! \) {8 i- \% u: t. i8 g3 D% [' A$ e   To point:6 `2 e3 C1 h' E0 `' I/ [0 q& W
   这个功能和AutoCAD R13中提供的From目标捕捉模式相似。
  c3 q1 U% l7 R" U6 d   4.作和一斜线相切的圆以及过圆上一点作圆的切线! q% \7 e+ }+ ?& W; i
   利用AutoCAD正交模式可容易地画出和垂直线或水平线相切的圆。画一个和斜线相切的圆则需要准确地确定圆心。操作过程如下:
2 G& b* I/ Q3 @: q- }  n   Command: circle
9 S4 L2 ~7 f, M   3P/2P/TTR/<Center point>: 'cal
6 ^* X; m: C0 \. l' \8 Z. M) K' o/ J  >> Expression: cur+3*nee(cur表示用光标在屏幕上拾取一个点,nee函数用来计算两端点矢量的法线,3是圆的半径)
. c) O( I  `4 }  >> Enter a point:nea(用光标在直线上捕捉一个点作为圆和直线的切点)
3 J& r0 \0 I4 w4 L   to >> Select one endpoint for NEE:(用光标捕捉直线的一个端点)
8 z8 J' i6 P$ j+ B+ @  >> Select another endpoint for NEE:(用光标捕捉直线上的另一个端点); @+ R4 n2 R" M4 g* ~
   Diameter/<Radius> <1.6745>: 3(给出圆的半径后即可画出这个圆)
+ k3 T4 u7 V- t& E9 \: c7 J9 c7 u   改变光标捕捉直线两个端点的顺序可在直线的另一侧画圆。
+ O* B* {+ |; `9 P, q8 W   假设过圆和一直线的交点作圆的切线的操作过程如下:
# Z6 |7 ]& b) d% _9 w   Command: line
& B7 z4 h8 Z8 {/ q4 A5 c- h   From point: int(捕捉交点)
( {' B3 g; [- n* y  Q$ v   of- @- y* A% w% u; e
   To point: 'cal% B3 m7 M. s9 U* ^0 T/ J
  >> Expression: int+3*nor(cen,int)/ P/ |' Q% J" |+ p$ |- q/ ~
  >> Select entity for INT snap:(用光标捕捉交点)& t6 d7 D9 t* n( Z
  >> Select entity for CEN snap:(用光标捕捉圆心)
% Y. o6 H# k* P- U( l0 u, c/ R  >> Select entity for INT snap:(再用光标捕捉交点即画出从交点出发长度为3的已知圆的切线)( u7 ~  b7 _  }$ R; @9 d: @. r
   To point:. ]1 q- ~0 V4 B" F* \5 S
   5.过一条斜线上的已知点作斜线的垂线; l% Y" T/ o9 I- y9 g
   因为是非水平非垂直的直线所以不能用AutoCAD的正交模式画直线的垂线。利用几何计算器可直接画出和斜线垂直并且为确定长度的直线。实际上这是一个如何确定垂线的另一个端点的问题。其操作过程如下:) x+ k/ O3 K, y$ B# T
   Command: line4 I. J9 {! V7 l/ P; K: Z( B0 T
   From point: mid(设过直线的中点作垂线)
( n6 I7 z' U# ~9 B' c/ K1 X ?of+ q2 A8 K, i2 a/ B* |
   To point: 'cal; t& S7 i; L  B6 i5 Q# h  F/ D1 k
  >> Expression: mid+5*nee(5是垂线的长度)
7 z/ f& i- Z( x& j$ u% h0 q  >> Select entity for MID snap:(用光标选择斜线捕捉中点)
" k; _7 F- s, ]$ s6 E# n. E9 \  >> Select one endpoint for NEE:(用光标捕捉直线的端点)
" k0 b3 p: \& b" @2 p  >> Select another endpoint for NEE:(用光标捕捉直线的另一个端点)
& r, Q  U0 G2 Q) {$ a- h5 H. {* a/ x0 U   to point:
5 z6 I9 y* s. v5 B! m+ |3 M   同样,改变光标捕捉直线端点的顺序,也可在直线的另一侧画垂线。
发表于 2007-7-21 22:50:03 | 显示全部楼层 来自: 中国上海
有点复杂,不过值得学习
发表于 2007-7-22 16:17:59 | 显示全部楼层 来自: 中国湖北武汉
不错,收藏了!
, o5 {# j3 Z7 s4 x) R. e  Q+ ?0 ]# Q+ J# {
谢谢楼主!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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