QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1553|回复: 2
收起左侧

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

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

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

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

x
应用AutoCAD几何计算器实现快速定位
; M4 I4 v: g9 q0 ~6 x
7 F4 ?! G6 I+ b) p/ N几何计算器是AutoCAD R12提供的一个十分有用的工具。和普通的计算器一样,几何计算器可以完成+、-、*和/的运算以及三角函数的运算。这使得用户在使用AutoCAD绘图过程中,可以在不中断命令的情况下用计算机进行算术运算,AutoCAD则将运算的结果直接作为命令的参数使用。但重要的是,和一般的计算器不同,AutoCAD几何计算器可以作几何运算。它可以作坐标点和坐标点之间的加减运算,可以使用AutoCAD的OSNAP模式捕捉屏幕上的坐标点参与运算,还可以自动计算几何坐标点。如计算两条相交直线的交点,计算直线上的等分点等。此外,AutoCAD几何计算器还具有计算矢量和法线的功能。当然,AutoCAD几何计算器还有其它的功能,这里就不一一罗列。5 d: u. C( f) ?- ~. a* w0 M& _
   在使用AutoCAD绘图中,常常需要确定一些无法直接给出坐标的点。例如,任意两点间的中点;和任意方向直线相切的圆的圆心;以及直线上任意等分点等。这就是我们通常所说的CAD绘图的定位问题。实际上,在许多计算机绘图场合,定位是否方便和精确往往直接影响作图的效率和速度。因此,应该充分利用AutoCAD几何计算器的几何运算功能,来实现AutoCAD绘图中的快速定位。
# g2 Y" A4 |9 ?* K" D( S+ d5 L" J   在命令提示Command:下键入CAL或激活下拉式菜单的辅助菜单项拾取其中几何计算菜单项都可启动AutoCAD几何计算器。CAL命令也是一个透明命令,可以在其它的命令下随时启动几何计算器。此外,还可以在AutoLISP程序中使用CAL命令。
9 x' ?2 w* o% j3 }) n1 y& k  下面是利用AutoCAD几何计算器的几何运算功能实现在AutoCAD绘图中经常遇到的几个快速定位的实例。) r6 D( E; k7 ?
   1.在两实体间确定中点
& z& @+ i+ d  t. A9 V: A   这里不需先在两个实体之间画一条辅助线再用OSNAP的MID模式得到中点。例如,要从一个圆心和一直线的端点之间的中心为起点画一直线。操作过程如下:
' Z8 P, \& i/ L3 r7 {& V   Command: line6 z/ T3 ^- r1 R
   From point: 'cal (启动几何计算器)2 z  B( U7 f5 @5 T8 k3 }* A
  >> Expression: (cen+end)/2 (输入表达式,这里计算器把OSNAP的cen和end模式当作点坐标的临时存储单元)& Q+ e6 x7 z( _  o* @: W
  >> Select entity for CEN snap用光标捕捉圆心)
; r6 z: K: o, L& x# u1 S9 x  >> Select entity for END snap:(用光标捕捉直线的端点)
$ ]3 e  W- o$ Q0 b, S8 \3 D   To point:: T4 y1 c) ]: X8 D
   其它的目标捕捉模式如int、ins 、tan等等均可在几何计算表达式中使用。如果用表达式(cur+cur)/2代替表达式(cen+end)/2,则可以在计算机要求输入点时,再设定OSNAP方式来捕捉所需的点。3 F- y: m# n4 h) X
   2.确定一条直线上的任意等分点和与直线端点定长的点
, [. `6 x# G$ v8 V   使用几何计算器提供的plt和pld函数可以完成这个操作。假设屏幕上有一端点为A和B的直线,要在直线上获得分直线段AB为1比2的点。仍以画直线为例,操作过程如下:! ]) g% Q, i" O9 s1 a$ ~% B" a  Y
   Command: line7 G7 }5 p( N- P# v+ c
   From point: 'cal
; W- i* n/ f* T# ^# _( H  >> Expression: plt(end,end,1/3)8 P. S5 Z. r0 ^" e
  >> Select entity for END snap:(用光标捕捉端点A)
% g) ?6 K# M5 N6 w% J  >> Select entity for END snap:(用光标捕捉端点B后即得到距A点为1/3线段长的点)
/ _* M8 U8 L, [   To point:
/ J% h: k) d( i   如果要得到直线上距端点A为5的点,使用函数pld(end,end,5)代替上面操作过程中的plt(end,end,1/3)即可。
( u: I3 e; `/ S, s) N5 e: v; K   3.用相对坐标来确定点, \* k1 c3 j) |/ o# q2 M4 a/ r
   在绘图中,经常要相对一条线画出另一条线,下面就是操作过程:& |8 N9 C- s; G$ X- T
   Command: line- Y: H9 Q* `7 |% B0 v( o4 e* b
   From point: 'cal5 [8 n/ O5 G" y  D, A: R
  >> Expression: end+[2,3](作点和点的相加运算)* m4 {2 V4 p/ n) |% A
  >> Select entity for END snap:(捕捉一基准直线的端点后即可获得距端点相对位移(2,3)的点)
1 d) d! p8 p% B' O% y! ]8 D   To point:: B( ?% \, r1 ?6 v& j- J  P6 |6 E
   这个功能和AutoCAD R13中提供的From目标捕捉模式相似。0 L+ C7 I: c0 E/ ?
   4.作和一斜线相切的圆以及过圆上一点作圆的切线. m8 o! d& }3 H& n" R" ^
   利用AutoCAD正交模式可容易地画出和垂直线或水平线相切的圆。画一个和斜线相切的圆则需要准确地确定圆心。操作过程如下:
1 u& `1 S8 B3 B% q( o   Command: circle
* c8 r" i* e$ X+ J+ Y   3P/2P/TTR/<Center point>: 'cal
  o/ _4 O' f7 c+ s9 k  >> Expression: cur+3*nee(cur表示用光标在屏幕上拾取一个点,nee函数用来计算两端点矢量的法线,3是圆的半径)
) j, {, s2 s/ X+ l& m  >> Enter a point:nea(用光标在直线上捕捉一个点作为圆和直线的切点)
7 a- ]6 [7 l+ t. y" d0 D1 B   to >> Select one endpoint for NEE:(用光标捕捉直线的一个端点)9 Z6 D* v6 C( B3 E5 H4 K% L
  >> Select another endpoint for NEE:(用光标捕捉直线上的另一个端点)6 `" Z+ U. e8 s4 i# o6 ], p: \
   Diameter/<Radius> <1.6745>: 3(给出圆的半径后即可画出这个圆)
/ J$ T  b2 Q7 s( L   改变光标捕捉直线两个端点的顺序可在直线的另一侧画圆。2 F' x# {9 [) ]( y$ v
   假设过圆和一直线的交点作圆的切线的操作过程如下:: R6 K. V' B) G, W$ C7 R+ R
   Command: line7 O7 A4 p, Q1 y1 t" L
   From point: int(捕捉交点)
* \4 N1 Y( X* Y) B- J( q& P   of0 m* W, t' |* R. H4 W( ?
   To point: 'cal
% F, b$ j7 J6 Y3 t  ]1 ^7 P( W  >> Expression: int+3*nor(cen,int)
! b9 A% T) q, c9 @& b1 f  ~  >> Select entity for INT snap:(用光标捕捉交点)
! g' t; C8 \' \! ~5 t% w) N4 D4 I  >> Select entity for CEN snap:(用光标捕捉圆心)
0 v# C. M- ]& `. m  >> Select entity for INT snap:(再用光标捕捉交点即画出从交点出发长度为3的已知圆的切线)  `, Y) F. v( v, {
   To point:
- V  f" {. S- b' H7 `3 a7 m1 ^   5.过一条斜线上的已知点作斜线的垂线# d7 j8 b2 ]! S) y( U3 ^
   因为是非水平非垂直的直线所以不能用AutoCAD的正交模式画直线的垂线。利用几何计算器可直接画出和斜线垂直并且为确定长度的直线。实际上这是一个如何确定垂线的另一个端点的问题。其操作过程如下:
( r3 c& X* F  |$ v- a   Command: line
0 L0 j7 [$ F$ e   From point: mid(设过直线的中点作垂线)
& S& n+ p- \) x) A$ \+ d6 z  _/ Q+ i ?of7 d5 L7 b$ L# z( _
   To point: 'cal/ }& g/ V+ ?/ V- o
  >> Expression: mid+5*nee(5是垂线的长度)1 d% Y& ?+ [) k4 ~* g7 h4 q' k
  >> Select entity for MID snap:(用光标选择斜线捕捉中点)
; d6 b; i3 D5 i, M9 T- ^  >> Select one endpoint for NEE:(用光标捕捉直线的端点)! K% t- H! v# c$ p+ i& H
  >> Select another endpoint for NEE:(用光标捕捉直线的另一个端点)% e/ g+ T( f4 h+ |% L) E8 ~
   to point:9 L  e; Q0 j0 ^) X# a$ z
   同样,改变光标捕捉直线端点的顺序,也可在直线的另一侧画垂线。
发表于 2007-7-21 22:50:03 | 显示全部楼层 来自: 中国上海
有点复杂,不过值得学习
发表于 2007-7-22 16:17:59 | 显示全部楼层 来自: 中国湖北武汉
不错,收藏了!
* V8 N% B4 o7 w; G- r( ]
7 x3 o3 W1 P( U8 X9 Z谢谢楼主!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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