QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
应用AutoCAD几何计算器实现快速定位 4 k2 f3 r) n# f- D6 M5 a
* s9 R4 S6 v* E; O
几何计算器是AutoCAD R12提供的一个十分有用的工具。和普通的计算器一样,几何计算器可以完成+、-、*和/的运算以及三角函数的运算。这使得用户在使用AutoCAD绘图过程中,可以在不中断命令的情况下用计算机进行算术运算,AutoCAD则将运算的结果直接作为命令的参数使用。但重要的是,和一般的计算器不同,AutoCAD几何计算器可以作几何运算。它可以作坐标点和坐标点之间的加减运算,可以使用AutoCAD的OSNAP模式捕捉屏幕上的坐标点参与运算,还可以自动计算几何坐标点。如计算两条相交直线的交点,计算直线上的等分点等。此外,AutoCAD几何计算器还具有计算矢量和法线的功能。当然,AutoCAD几何计算器还有其它的功能,这里就不一一罗列。
3 N# Q1 U) w# J8 }# u& t3 m( D. c   在使用AutoCAD绘图中,常常需要确定一些无法直接给出坐标的点。例如,任意两点间的中点;和任意方向直线相切的圆的圆心;以及直线上任意等分点等。这就是我们通常所说的CAD绘图的定位问题。实际上,在许多计算机绘图场合,定位是否方便和精确往往直接影响作图的效率和速度。因此,应该充分利用AutoCAD几何计算器的几何运算功能,来实现AutoCAD绘图中的快速定位。
- d9 M+ g# `+ T0 b+ E: m" D   在命令提示Command:下键入CAL或激活下拉式菜单的辅助菜单项拾取其中几何计算菜单项都可启动AutoCAD几何计算器。CAL命令也是一个透明命令,可以在其它的命令下随时启动几何计算器。此外,还可以在AutoLISP程序中使用CAL命令。
7 r) g+ l, p& N9 _& x* n  下面是利用AutoCAD几何计算器的几何运算功能实现在AutoCAD绘图中经常遇到的几个快速定位的实例。' R0 d+ t) ~* A* E0 P# m( u" n
   1.在两实体间确定中点2 C: V* z7 r0 V0 ]
   这里不需先在两个实体之间画一条辅助线再用OSNAP的MID模式得到中点。例如,要从一个圆心和一直线的端点之间的中心为起点画一直线。操作过程如下:
+ }0 V& P/ g+ o- L9 n1 G* R! C$ J   Command: line1 \5 m6 m4 l& h% F/ j  l
   From point: 'cal (启动几何计算器)
3 W- b( h7 L, @( L+ q  >> Expression: (cen+end)/2 (输入表达式,这里计算器把OSNAP的cen和end模式当作点坐标的临时存储单元)
/ e4 W0 p- x6 v  >> Select entity for CEN snap用光标捕捉圆心)
) n- P& ^1 b- C0 j! B  >> Select entity for END snap:(用光标捕捉直线的端点)$ C/ L  E8 t6 ]# Z- ?9 M! H
   To point:
5 J1 M0 Z5 J6 n" c4 |  M   其它的目标捕捉模式如int、ins 、tan等等均可在几何计算表达式中使用。如果用表达式(cur+cur)/2代替表达式(cen+end)/2,则可以在计算机要求输入点时,再设定OSNAP方式来捕捉所需的点。
. T7 l3 J5 }! w   2.确定一条直线上的任意等分点和与直线端点定长的点
" z4 e6 i4 J( J! J   使用几何计算器提供的plt和pld函数可以完成这个操作。假设屏幕上有一端点为A和B的直线,要在直线上获得分直线段AB为1比2的点。仍以画直线为例,操作过程如下:
3 o" n& u1 x; `6 l) E4 Q4 B   Command: line
, e( x6 t- h9 x# @9 V   From point: 'cal
, Z2 p# p, @9 L  W  z  >> Expression: plt(end,end,1/3)
! `1 G* T  O% p  >> Select entity for END snap:(用光标捕捉端点A)) C' |  P# [* n
  >> Select entity for END snap:(用光标捕捉端点B后即得到距A点为1/3线段长的点)
9 D1 u0 n. y7 h7 l, s   To point:
9 u( a  @; s' f) y   如果要得到直线上距端点A为5的点,使用函数pld(end,end,5)代替上面操作过程中的plt(end,end,1/3)即可。) f0 [! d( B: O) j' ~
   3.用相对坐标来确定点
' r" h  k5 Y0 K! |: E" `* o   在绘图中,经常要相对一条线画出另一条线,下面就是操作过程:  G7 Z) M1 n; q4 E- a3 U' O
   Command: line
( D  x6 }, }) c   From point: 'cal
: y( Z8 \; S" M/ @, k3 R  >> Expression: end+[2,3](作点和点的相加运算)
1 O8 c9 m+ O9 v2 {* W  >> Select entity for END snap:(捕捉一基准直线的端点后即可获得距端点相对位移(2,3)的点)8 b8 G8 H9 V9 J3 ^$ W
   To point:, c0 e% k5 m% e3 J+ P! K
   这个功能和AutoCAD R13中提供的From目标捕捉模式相似。
3 c! Q1 H1 c7 |, M% u  S   4.作和一斜线相切的圆以及过圆上一点作圆的切线$ Q6 b, C; z# w1 [0 n6 r# a
   利用AutoCAD正交模式可容易地画出和垂直线或水平线相切的圆。画一个和斜线相切的圆则需要准确地确定圆心。操作过程如下:$ f. N, t, |& M- h. W: D6 j
   Command: circle
0 d1 Q; X1 e! f+ F# D   3P/2P/TTR/<Center point>: 'cal& W* ]) f6 M: i  y+ y  o
  >> Expression: cur+3*nee(cur表示用光标在屏幕上拾取一个点,nee函数用来计算两端点矢量的法线,3是圆的半径)2 `* k- ?+ Q- I( T
  >> Enter a point:nea(用光标在直线上捕捉一个点作为圆和直线的切点)
. h" X! E; E' [# F+ L1 Q/ d   to >> Select one endpoint for NEE:(用光标捕捉直线的一个端点)
' }! S3 t0 ^) y  >> Select another endpoint for NEE:(用光标捕捉直线上的另一个端点)
' s2 L: Y, `0 y. C: ^1 r   Diameter/<Radius> <1.6745>: 3(给出圆的半径后即可画出这个圆)
1 A5 B; ^. \1 @% T; ~8 Y% R& d* Q) z   改变光标捕捉直线两个端点的顺序可在直线的另一侧画圆。
; J5 s" U# n, ]1 H" O5 t/ ]   假设过圆和一直线的交点作圆的切线的操作过程如下:0 m2 z9 Z) @/ `9 o# A8 K' O
   Command: line
1 K4 L0 D4 U: N$ U. M9 b2 c+ @   From point: int(捕捉交点)% Y* B9 Y; ~( u% x( w" X& f6 q" T  ]) X
   of5 P8 ?9 T  H3 M
   To point: 'cal
" X; R6 \6 g6 o- H, a9 M4 c# z' m  >> Expression: int+3*nor(cen,int)3 B: I5 }7 z6 @0 Q/ }8 F! @
  >> Select entity for INT snap:(用光标捕捉交点)
# X4 d/ M/ K5 ]" ~5 x* j7 g  >> Select entity for CEN snap:(用光标捕捉圆心)
4 r6 T4 B  P5 F' q4 M  >> Select entity for INT snap:(再用光标捕捉交点即画出从交点出发长度为3的已知圆的切线)
  f* w8 O* x/ S6 b3 `   To point:
5 }! \' z* e, `   5.过一条斜线上的已知点作斜线的垂线: E' e/ L5 U- Z1 A* m; y7 |8 _
   因为是非水平非垂直的直线所以不能用AutoCAD的正交模式画直线的垂线。利用几何计算器可直接画出和斜线垂直并且为确定长度的直线。实际上这是一个如何确定垂线的另一个端点的问题。其操作过程如下:9 t, d) _9 R4 x8 i" K# r* h# S( g
   Command: line+ J  M# O- Y" \, k) Q
   From point: mid(设过直线的中点作垂线)+ u( O5 N4 q$ b/ ^# J
 ?of
8 W/ {# `- _% c0 a3 y   To point: 'cal
8 W: \4 B1 ]" \$ J; [$ R! X, c  >> Expression: mid+5*nee(5是垂线的长度)
* X) G, y5 A1 Y/ K2 h1 e% Z  W  >> Select entity for MID snap:(用光标选择斜线捕捉中点)& D: j- C  ^: Q
  >> Select one endpoint for NEE:(用光标捕捉直线的端点)
; l$ i# R" c7 c! {* Q2 ?  >> Select another endpoint for NEE:(用光标捕捉直线的另一个端点)/ m, B, ]1 z4 X$ W; V1 l
   to point:
. W' e- n  {) [+ V& g   同样,改变光标捕捉直线端点的顺序,也可在直线的另一侧画垂线。
发表于 2007-7-21 22:50:03 | 显示全部楼层 来自: 中国上海
有点复杂,不过值得学习
发表于 2007-7-22 16:17:59 | 显示全部楼层 来自: 中国湖北武汉
不错,收藏了!
( q  _. m, u& ]) \$ ~/ ]: Q" M) V/ r* c
谢谢楼主!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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