AutoCAD .Net 将拾取点坐标由UCS转换到WCS

与 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

你可能感兴趣的:(AutoCAD二次开发,AutoCAD,.Net)