利用TranslateCoordinates 方法 TranslateCoordinates 方法可以将点或位移从一个坐标系转换到另一个坐标系。称为 OriginalPoint 的点参数可以被解释为三维点或三维位移矢量。此参数由 Boolean 参数 Disp 来区分。如果 Disp 参数设置为 TRUE,OriginalPoint 参数将被视为位移矢量;否则视为点。还有两个参数用于确定 OriginalPoint 来自哪个坐标系以及要转换到哪个坐标系。可以在 From 和 To 参数中指定以下 AutoCAD 坐标系: WCS 世界坐标系:参考坐标系。所有其他坐标系都相对于 WCS 定义,该坐标系恒定不变。相对于 WCS 测量的值可以稳定地转换到其他坐标系中。除非另行指定,ActiveX 方法和特性传入和传出的所有点都以 WCS 表示。 UCS 用户坐标系 (UCS):工作坐标系。用户可以指定 UCS 以方便执行绘图任务。所有传递到 AutoCAD 命令的点,包括从 AutoLISP 例程以及外部函数返回的点,都是当前 UCS 中的点(除非用户于命令提示中在点之前加上了 *)。如果希望应用程序以 WCS、OCS 或 DCS 向 AutoCAD 命令发送坐标,必须先调用 TranslateCoordinates 方法,将这些坐标转换为 UCS。 OCS 对象坐标系:由 Polyline 和 LightweightPolyline 对象的特定方法和特性指定的点值以此坐标系表示(相对于对象)。根据对象的用途,这些点通常会转换为 WCS、当前 UCS 或当前 DCS。相对地,WCS、UCS 或 DCS 中的点在使用相同的特性写入数据库之前,必须将其转换为 OCS。关于采用此坐标系的方法和特性,请参见 AutoCAD《ActiveX and VBA Reference》。 将坐标转换到 OCS 或从 OCS 转换坐标时,必须在 TranslateCoordinates 函数的最后一个参数中输入 OCS 的法线。 DCS 显示坐标系:在此坐标系中,对象在显示前要进行转换。DCS 的原点是存储在 AutoCAD 系统变量 TARGET 中的点,Z 轴是观察方向。也就是说,某个视口始终是其 DCS 的一个平面视图。这些坐标可用于确定显示给 AutoCAD 用户的画面的位置。 PSDCS 图纸空间 DCS:本坐标系只能与当前活动模型空间视口的 DCS 相互转换。这种转换实质上是一种二维转换,其中的 X 和 Y 坐标在 Disp 参数设置为 FALSE 时,始终要进行缩放和偏移。Z 坐标也要缩放,但并不转换。因此,它可用于确定两个坐标系之间的缩放比例。PSDCS 只能转换到当前的模型空间视口中。如果 from 参数等于 PSDCS,则 to 参数必须等于 DCS,反之亦然。 |