AutoCAD .Net 将拾取点坐标由UCS转换到WCS
程序员文章站
2024-03-18 12:48:16
...
与 AutoCAD 进行交互操作时,输入与输出的点坐标都是基于UCS(用户坐标系)的。
那怎样将 UCS 坐标系下的点转换到 WCS 坐标系下呢?
请看如下代码:
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
// 拾取的点坐标为 UCS 下的坐标
PromptPointResult ret = doc.Editor.GetPoint("\nSpecify point: ");
if (ret.Status != PromptStatus.OK)
{
return;
}
Point3d pointInUCS = ret.Value;
Point3d pointInWCS = pointInUCS.TransformBy(doc.Editor.CurrentUserCoordinateSystem);
Document.Editor.CurrentUserCoordinateSystem 存储的是当前 UCS 的坐标转换矩阵。
参考文章
AutoCAD .NET: Transform Picked Point from Current UCS to WCS