QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
应用AutoCAD几何计算器实现快速定位 7 _4 q' U7 F5 V3 Y; `; q
6 O1 J9 ?( [$ t$ _5 T
几何计算器是AutoCAD R12提供的一个十分有用的工具。和普通的计算器一样,几何计算器可以完成+、-、*和/的运算以及三角函数的运算。这使得用户在使用AutoCAD绘图过程中,可以在不中断命令的情况下用计算机进行算术运算,AutoCAD则将运算的结果直接作为命令的参数使用。但重要的是,和一般的计算器不同,AutoCAD几何计算器可以作几何运算。它可以作坐标点和坐标点之间的加减运算,可以使用AutoCAD的OSNAP模式捕捉屏幕上的坐标点参与运算,还可以自动计算几何坐标点。如计算两条相交直线的交点,计算直线上的等分点等。此外,AutoCAD几何计算器还具有计算矢量和法线的功能。当然,AutoCAD几何计算器还有其它的功能,这里就不一一罗列。
$ k4 d* @2 {- D8 d! M   在使用AutoCAD绘图中,常常需要确定一些无法直接给出坐标的点。例如,任意两点间的中点;和任意方向直线相切的圆的圆心;以及直线上任意等分点等。这就是我们通常所说的CAD绘图的定位问题。实际上,在许多计算机绘图场合,定位是否方便和精确往往直接影响作图的效率和速度。因此,应该充分利用AutoCAD几何计算器的几何运算功能,来实现AutoCAD绘图中的快速定位。/ U( S2 U  C9 M& k$ p) A
   在命令提示Command:下键入CAL或激活下拉式菜单的辅助菜单项拾取其中几何计算菜单项都可启动AutoCAD几何计算器。CAL命令也是一个透明命令,可以在其它的命令下随时启动几何计算器。此外,还可以在AutoLISP程序中使用CAL命令。
  q1 o. X1 N  U  下面是利用AutoCAD几何计算器的几何运算功能实现在AutoCAD绘图中经常遇到的几个快速定位的实例。
  ~7 R4 h0 B9 g! f9 I   1.在两实体间确定中点9 b9 u4 g: O: Y
   这里不需先在两个实体之间画一条辅助线再用OSNAP的MID模式得到中点。例如,要从一个圆心和一直线的端点之间的中心为起点画一直线。操作过程如下:
" N! Z& T- _1 S# g   Command: line2 W- x4 T& U4 c. W# }
   From point: 'cal (启动几何计算器)
( m0 J2 }( I5 o! _% {- Z  >> Expression: (cen+end)/2 (输入表达式,这里计算器把OSNAP的cen和end模式当作点坐标的临时存储单元)
  t8 w* Q0 X- g+ c7 u; B' D  >> Select entity for CEN snap用光标捕捉圆心)
+ k1 ]; P* m5 W0 [1 P# k. P  >> Select entity for END snap:(用光标捕捉直线的端点)
- }7 U" o- _- v   To point:
6 U4 c/ f8 d2 b! Y, z   其它的目标捕捉模式如int、ins 、tan等等均可在几何计算表达式中使用。如果用表达式(cur+cur)/2代替表达式(cen+end)/2,则可以在计算机要求输入点时,再设定OSNAP方式来捕捉所需的点。
# P+ d; H' T# s4 l   2.确定一条直线上的任意等分点和与直线端点定长的点& y  E- ~" W4 V5 F* j$ n8 ?
   使用几何计算器提供的plt和pld函数可以完成这个操作。假设屏幕上有一端点为A和B的直线,要在直线上获得分直线段AB为1比2的点。仍以画直线为例,操作过程如下:
! s2 {( C6 O1 k$ c9 D   Command: line. v6 \" B; R7 X# @% k4 O, \
   From point: 'cal8 a  ?. C% R( `3 t& U& v( g) a
  >> Expression: plt(end,end,1/3)
( \$ w* Z% P* K/ M4 z4 F  >> Select entity for END snap:(用光标捕捉端点A)
* F' l& i& ^  J3 r7 [* h0 F  >> Select entity for END snap:(用光标捕捉端点B后即得到距A点为1/3线段长的点), F5 c0 F- @+ z+ F# J+ ^
   To point:2 D- n  R' g9 ?' v+ n
   如果要得到直线上距端点A为5的点,使用函数pld(end,end,5)代替上面操作过程中的plt(end,end,1/3)即可。
9 c+ W1 N* O4 S* Q8 o( l/ O   3.用相对坐标来确定点
6 D8 c3 O5 Q& T5 g8 \7 H   在绘图中,经常要相对一条线画出另一条线,下面就是操作过程:+ I. t1 ~" C+ O- x- _
   Command: line
1 `; M+ d& v6 D. E   From point: 'cal* h$ m! U9 V( w
  >> Expression: end+[2,3](作点和点的相加运算)7 `% _; U$ S4 }1 _: R( b- e* d
  >> Select entity for END snap:(捕捉一基准直线的端点后即可获得距端点相对位移(2,3)的点)
! p8 C& @& e& j2 S   To point:
7 H! C! x- W$ w) o4 K   这个功能和AutoCAD R13中提供的From目标捕捉模式相似。
! T" {0 q1 o+ B& g5 J7 E7 |$ W   4.作和一斜线相切的圆以及过圆上一点作圆的切线* v* f9 x9 x  A; a- W
   利用AutoCAD正交模式可容易地画出和垂直线或水平线相切的圆。画一个和斜线相切的圆则需要准确地确定圆心。操作过程如下:8 ?4 c# L& S9 G
   Command: circle
, T, W- T2 o9 f3 V) }   3P/2P/TTR/<Center point>: 'cal. Z6 W( f0 O* M0 f
  >> Expression: cur+3*nee(cur表示用光标在屏幕上拾取一个点,nee函数用来计算两端点矢量的法线,3是圆的半径)2 ^8 ^0 t, P1 e9 }( b
  >> Enter a point:nea(用光标在直线上捕捉一个点作为圆和直线的切点)
+ G& z" O' j# v% V7 a   to >> Select one endpoint for NEE:(用光标捕捉直线的一个端点). ?) ~, J* N5 p4 }7 G
  >> Select another endpoint for NEE:(用光标捕捉直线上的另一个端点)' `% H( r/ v) o: M1 S* @( i8 _
   Diameter/<Radius> <1.6745>: 3(给出圆的半径后即可画出这个圆)2 i7 h; ?% @4 b/ K$ P! C
   改变光标捕捉直线两个端点的顺序可在直线的另一侧画圆。
+ D0 q& l% z* ]* X   假设过圆和一直线的交点作圆的切线的操作过程如下:
1 F' r6 T+ r) {" u4 m, s* ~   Command: line, h& X- d) b! u- y
   From point: int(捕捉交点)) J6 Z  ?( m% G8 j# U& K
   of
( ^  B2 w. P$ P' r   To point: 'cal
9 y, [% Z, F4 Z% I  >> Expression: int+3*nor(cen,int)
, J& h; P7 l) H: P  >> Select entity for INT snap:(用光标捕捉交点)6 Q4 x, N4 `: A4 L/ u/ y. t
  >> Select entity for CEN snap:(用光标捕捉圆心)
7 X) w1 d, o; ?; d6 h2 {% g1 u7 z+ X  >> Select entity for INT snap:(再用光标捕捉交点即画出从交点出发长度为3的已知圆的切线)3 H6 Q( Y& O7 h: n) K0 X2 H8 n
   To point:
; c1 b3 U$ s) i' X- v  J: E   5.过一条斜线上的已知点作斜线的垂线
: O0 O. U1 q! C0 I8 O0 A& F9 m1 ~   因为是非水平非垂直的直线所以不能用AutoCAD的正交模式画直线的垂线。利用几何计算器可直接画出和斜线垂直并且为确定长度的直线。实际上这是一个如何确定垂线的另一个端点的问题。其操作过程如下:+ o1 P) Q2 }; P
   Command: line, O" i! _7 a6 H# \# g) U4 _
   From point: mid(设过直线的中点作垂线)- U( ]# ^% z' \
 ?of
2 f! {- ~  B- M+ M   To point: 'cal
; Y* \3 M; j- K- f3 [8 ^  >> Expression: mid+5*nee(5是垂线的长度)- Y8 a/ G& y2 m3 u  g. _8 m
  >> Select entity for MID snap:(用光标选择斜线捕捉中点)% f, k2 A  T+ m; M
  >> Select one endpoint for NEE:(用光标捕捉直线的端点)
, E" a" h$ B0 N6 g+ l% l* U  >> Select another endpoint for NEE:(用光标捕捉直线的另一个端点)7 ~- B% U# a& F! E
   to point:) ]+ E: T* `5 }! M& S( l
   同样,改变光标捕捉直线端点的顺序,也可在直线的另一侧画垂线。
发表于 2007-7-21 22:50:03 | 显示全部楼层 来自: 中国上海
有点复杂,不过值得学习
发表于 2007-7-22 16:17:59 | 显示全部楼层 来自: 中国湖北武汉
不错,收藏了!
" e/ a5 A5 Q; I* X) e) c% O  G" g6 Q& n+ W
谢谢楼主!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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