CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

关于坐标系变换(AutoLISP)

2023-1-8 11:42| 发布者: admin| 查看: 686| 评论: 0|来自: AutoCAD

摘要: 点或位移可以通过 trans 从一个坐标系转换为另一个坐标系。

点或位移可以从一个坐标系转换为另一个坐标系。trans

该函数接受三个参数,其中有可选的第四个参数。第一个参数 pt 是 3D 点或 3D 位移矢量,由称为disp 的可选位移参数区分。如果要将pt视为位移向量,则disp参数必须为非零;否则,pt被视为一个点。from参数指定表示pt的坐标系,to参数指定所需的坐标系。trans

以下是函数的语法:trans

(trans pt from to [disp])

fromto参数都可以通过以下任一方式指定坐标系:

  • 作为整数代码,用于指定 WCS、当前 UCS 或当前 DCS(当前视区或图纸空间)。
  • 作为由其中一个实体名称或选择集函数返回的实体名称。这将指定命名对象的 OCS。如果 OCS 没有差异,则 OCS 和 WCS 之间的转换是一种标识操作。
  • 作为 3D 拉伸矢量。拉伸矢量始终以世界坐标表示;拉伸向量 (0,0,1) 指定 WCS 本身。

下表列出了可用作fromto参数的有效整数代码:

坐标系代码

法典

坐标系

0

世界 (WCS)

1

用户(当前 UCS)

2

显示;与代码 0 或 1 一起使用时当前视口的 DCS,与代码 3 一起使用时当前模型空间视口的 DCS

3

图纸空间DCS,PSDCS(仅用于代码2)

以下示例代码将 WCS 中的一个点转换为当前 UCS。

(setq pt '(1.0 2.0 3.0))
(setq cs_from 0) ; WCS
(setq cs_to 1) ; UCS
(trans pt cs_from cs_to 0) ; disp = 0 indicates that pt is a point

如果当前 UCS 绕世界 Z 轴逆时针旋转 90 度,则调用 to 返回一个点 (2.0,-1.0,3.0)。但是,如果交换tofrom值,则结果会有所不同,如以下代码所示:trans

(trans pt cs_to cs_from 0) ; the result is (-2.0,1.0,3.0)

坐标系

盐酸

世界坐标系 - 参考坐标系。所有其他坐标系都是相对于 WCS 定义的,WCS 永远不会更改。相对于 WCS 测量的值在更改其他坐标系时是稳定的。

UCS

用户坐标系 - 用户为简化绘图任务而定义的工作坐标系。传递给 AutoCAD 命令的所有点(包括从 AutoLISP 例程和外部函数返回的点)都是当前 UCS 中的点(除非用户在 AutoCAD 命令提示符下在它们前面加上 a*)。如果希望应用程序将 WCS、OCS 或 DCS 中的坐标发送到 AutoCAD 命令,则必须首先通过调用 trans 函数将它们转换为 UCS。

法 团

对象坐标系 - 返回的点值在此坐标系中相对于对象本身表示。这些点通常根据对象的预期用途转换为 WCS、当前 UCS 或当前 DCS。相反,点在通过理论函数写入数据库之前必须转换为OCS。这也称为实体坐标系。entgetentmodentmake

DCS

显示坐标系 - 在显示对象之前将其转换为的坐标系。DCS 的原点是存储在 AutoCAD 系统变量 TARGET 中的点,其Z轴是查看方向。换句话说,视口始终是其 DCS 的平面视图。这些坐标可用于确定向 AutoCAD 用户显示某些内容的位置。

fromto整数代码为 2 和 3 时,按任一顺序,2 表示当前模型空间视口的 DCS,3 表示图纸空间的 DCS (PSDCS)。当 2 码与 3 以外的整数码(或指定坐标系的其他方法)一起使用时,假定它指示当前空间的 DCS,无论是图纸空间还是模型空间。另一个参数也被假定为指示当前空间中的坐标系。

私营部门发展中心

图纸空间 DCS - 此坐标系只能变换到当前活动模型空间视口的 DCS 或从这些 DCS变换。这本质上是一个 2D 转换,其中XY坐标始终缩放,如果disp参数为 0,则偏移。Z坐标已缩放,但从不平移。因此,它可用于查找两个坐标系之间的比例因子。PSDCS(整数代码 2)只能转换为当前模型空间视口。如果 from 参数等于 3,则 to 参数必须等于 2,反之亦然。


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 15:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部