【发布时间】:2019-05-26 22:47:37
【问题描述】:
我正在尝试从 Revit 中导入的 CAD 获取一些 (XY) 坐标点和旋转,但它只有在 CAD 文件从未移动/旋转时才能正常工作,这意味着 Revit API 获取内部坐标CAD 与 Revit 中的 CAD 位置无关。
现在,当我尝试相同的练习但使用“Dynamo”时,即使 CAD 被移动/旋转,坐标也是正确的
那么如何做到这一点呢?
GeometryElement geoElement = cad.get_Geometry(new Options());
foreach (GeometryObject geoObject in geoElement)
{
GeometryInstance instance = geoObject as GeometryInstance;
if (null != instance)
{
foreach (GeometryObject instObj in instance.SymbolGeometry)
{
if (instObj is GeometryInstance)
{
GeometryInstance gi_block = instObj as GeometryInstance;
Transform transform = gi_block.Transform;
XYZ origin = transform.Origin; // coordinates
TaskDialog.Show("xx", origin.ToString());
XYZ vectorTran = transform.OfVector(transform.BasisX.Normalize());
double rot = transform.BasisX.AngleOnPlaneTo(vectorTran, transform.BasisZ.Normalize()); // angle in radians
}
}
}
}
【问题讨论】:
标签: c# api coordinates cad revit