Я пытаюсь получить некоторые (XY) координаты точек и поворота из импортированного САПР внутри Revit, но это работает правильно, только если файл САПР никогда не перемещался / вращался, это означает, что Revit API получает внутренние координатыСАПР независимо от позиции САПР в Revit.
Теперь, когда я пытаюсь выполнить то же упражнение, но с «Динамо», координаты верны, даже если САПР был перемещен / повернут
Так как сделатьэто верно?
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
}
}
}
}