VBA坐标变换浅析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在AutoCAD 中 有两个坐标系统: 世界
坐标系 (简称 W C S ) 和用户坐标系 ( 简称
U C S )。
2 . 1 世界坐标系WCS
From 和To 指定了 两个坐标系,表示从 F r om 变换到To 坐标系。 Di s p 为布尔型数据,为T R U E 表示 OriginalPoint 为矢量, 为FALSE 则表示
1 前言 AUTOCAD 自 面世以来, 好评如潮,被 称 之 为革 命 性 的 设 计 工 具 , 这 除 了
AUTOCAD所提供的多文档操作环境、一体 化打印体系、更强大的三维功能等诸多更强 大的功能之外, 它所提供的更为灵活的二次开 发工具如Visu al Lisp , AUT OCAD ActiveX/ VBA接口 样是其成功的重要因素。 则同
OriginalPoint 为点坐 标, OCSNormal 为可选参数, 对象坐标 指明
系的法线方向。 坐标系都相对干 W CS 定义, 该坐标系恒定 创建一个u cs 用户坐标系,得到两个坐 不变。相对于W CS 测量的值可以稳定地转 换 到 其 他 坐 标 系中 。 除 非 另行 指 定 , 标系间的关系: Sub UcsOrg2Wcs() ActiveX方法和特性传入和传出的所有点都以 Dim UCSPnt(0 To 2) As DoubleDim W C S 表示。 W CS P n t A s V a r ia n t 2 .2 用户坐标系UCS
户 坐标系 是用集合的形 式组织的,创建UCS
要使用add 方法, 并指定4 个参数: UCS 名 称、原点、X 轴正向上一点、Y 轴正向上 一点。用到的语法是 :
Th isDra w ing . User Coor dinateSystems .
Dim origin (O To 2)As Double Dim xA(O To 2)As Double Dim yA(O To 2)As Double origin(0)=4# :origin (1)=4# : origin (2)= 0 # xA(O)= 8# : xA(I)= 8# : x A(2)=
OriginalPoint 要 变换的点 或矢量.
Th is Dr aw in g . Mod el Sp a ce (i ) . TransformBy(ucsMat)
N ex t
Z o o m E x t en t s En d S u b
世界坐 标系 (Wo r l d Coo r d i n at e Sy st em ) , 它是一个参考坐标系。 所有其他
当广泛 。
用户坐标系 (Us e r Co o r d i n a t e Syst em ) , 它是一个工 作坐标系。用户 可以 指定UCS 以 方便执行绘图 任务。 所有传递到 Aut oCAD命令的点, 包括从Aut oLISP 程序
, 求出坐标变换矩阵
D i m u cs M a t A s V a r a n t
u cs M a t = ucs . Get U CS M a t r ix
, 坐标变换
Байду номын сангаасDim I As Integer
For 二O To ThisDmwing .ModelSpace .
C ou n t - 1
2 坐标系统简介
V日 坐标变换浅析 A
黄晓敏
(重庆工业职业技术学院
重庆
400050)
摘 要:本文首 绍了AUTOCAD 的 先介 坐标系 然后阐 坐标变 必要性及实现方法, 统, 述了 换的 并对在AUTOCAD 中 到的程序方法、 用
属性等结合实例进行了分析。 关键词:VBA 坐标变换 UCS 方法 中图分类号: TP31 文献标识码: A 文章编号: 1672- 3791(2007)02(b卜0071- 01
结语坐标变换在cad制图及各种复杂形体建模等过程中应用相当广泛熟练掌握ucs及坐标变换能使这项看似复杂甚至不可能实现的工作变得可行还可以大大提高工作效率其原理在机械零件设计制造行业应用相当广泛
200 7
N0 . 05
IT 技 术
SCIENCE & TECI-I NOLOOY INFORM ON A节
0#
环境, 它和Visual Basic 一样具有很强大的 开发能力,可为AUT OCAD 提供智能和快 速的编程环境。V B A 通过 A U T O C A D ActiveX Automation 接口向AUTOCAD 发 送消息,并与AUT OC AD 同时运行。它不 但可以控制AUT OC AD 对象,而且可以从 其他应用程序发送数据或接受数据。 下面我们就主要论述一下在 AUTOCAD VBA中 进行二次 开发时实 坐标变换的方 现 法。
向A u t o C A D 命令发送坐标,必须先调用
Dim ucs As Acad U CS
TranslateCoordinates 方法, 些坐 将这 标转
换为U C S 。下面分别说明如下。 3. ,U 的创建 CS 对于这个问题的解决,首先要了解一下 在AUTOCAD VBA 中如何创建 UCS。用
Microsoft VBA是 个面向 一 对象的 程 编
yA(O)=0# : yA(1)= 8# :YA(2)=0 #
Set u cs = Thisdr aw ing . UseCoordinateSystems . Add(or igin , xA ,
ADD ( 原点,X 轴,Y 轴,U C S 名称) 3 .2 坐标变换
W CSPn t = T hi sDr a w in g . U t il it y .
5 结语
坐标变换在 CAD 制图及各种复杂形体建 模等过程中, 应用相当广泛,熟练掌握 U CS 及坐标变换能使这项看似复杂甚至不可能实
现的工作变得可行, 还可以大大提高工作效 率,其原理在机械零件设计制造行业应用相
yA ,"TEST ")
T hisDr aw ing . Act iveU CS= ucs
要实 标变换则 现坐 必须使用Utility 对象 的TranslateCoordinates方法 将点或位移矢量
从一个坐标系变换到另一个坐标系,语法如 下: T ranslateCoordinates (originalPoint , F r om , o , Disp[ ,OCSNor ma l]) T 各参数意义如下:
相关文档
最新文档