反式 (AutoLISP)
将点(或位移)从一个坐标系转换为另一个坐标系 支持的平台:Windows 和 Mac OS 签名(trans pt from to [disp])
返回值类型:列表 请求坐标系中的 3D 点(或位移)。 言论如果对 from 或 to 参数使用实体名称,则必须以 、 、 、 和 函数返回的格式传递该实体名称。此格式允许您将点平移到特定对象的对象坐标系 (OCS) 或从对象坐标系 (OCS) 平移。(对于某些对象,OCS 等效于 WCS;对于这些对象,OCS 和 WCS 之间的转换是空操作。3D 拉伸向量(三个实数的列表)是另一种与对象的 OCS 相互转换的方法。但是,这不适用于 OCS 等效于 WCS 的对象。entnextentlastentselnentselssname 该函数还可以转换 2D 点。它通过将 Z 坐标设置为适当的值来实现此目的。使用的 Z 分量取决于指定的从坐标系以及该值是转换为点还是位移。如果要将该值转换为位移,则 Z 值始终为 0.0;如果要将该值转换为点,则确定填充的 Z 值,如下表所示:trans
例子在以下示例中,UCS 绕 WCS Z 轴逆时针旋转 90 度: (trans '(1.0 2.0 3.0) 0 1) (2.0 -1.0 3.0) (trans '(1.0 2.0 3.0) 1 0) (-2.0 1.0 3.0) 例如,若要从一段文本的插入点绘制一条线(不使用 Osnap),请将文本对象的插入点从文本对象的 OCS 转换为 UCS。 (trans text-insert-point text-ename 1) 然后,可以将结果传递给“起始点”提示符。 相反,必须先将点(或位移)值转换为其目标 OCS,然后才能将其馈送到 。例如,如果要按 UCS 相对偏移 (1,2,3) 移动圆(不使用 AutoCAD MOVE 命令),则需要将 UCS 的位移转换为圆的 OCS:entmod (trans '(1 2 3) 1 circle-ename) 然后,将生成的位移添加到圆的中心点。 例如,如果用户输入了一个点,并且想要找出它看起来更接近线的哪一端,则可以将用户的点从 UCS 转换为 DCS。 (trans user-point 1 2) 然后,将每个线路的端点从 OCS 转换为 DCS。 (trans endpoint line-ename 2) 从那里,您可以计算用户点与线的每个端点之间的距离(忽略 Z 坐标),以确定哪一端看起来更近。 相关概念 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 11:47
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.