Добрый день!
Хочу получить все Face элемента Curtain Wall, но сталкнулся с несколькими проблемами:
1. Получение панелей витражей и и их трансформация.
foreach (ElementId id in curtainGrid.GetPanelIds())
{
if (document.GetElement(id) is Panel panel)
{
GeometryElement geometryElement = panel.get_Geometry(new Options { ComputeReferences = true, IncludeNonVisibleObjects = true });
if (null != geometryElement)
{
foreach (GeometryObject geometryObject in geometryElement.GetTransformed(panel.GetTransform()))
{
if (geometryObject is Solid solid)
{
foreach (Face face in solid.Faces)
{
Mesh mesh = face.Triangulate();
}
}
}
}
Получаю координаты точек поверхности, но они не верны.
Кстати с FamilyInstance это работает корректно.
2. Что такое Mullions и можно ли получить геометрию этого объекта - тут разобрался, пропустил метод GetMullionIds.