Здравствуйте, мне необходимо получить профили отверстий в стене, сами профили нахожу следующим образом
public List<MyBoundaries> OpeningsProfile(Wall wall)
{
Reference sideFaceReference = HostObjectUtils.GetSideFaces(wall, ShellLayerType.Exterior).First();
Face face = wall.GetGeometryObjectFromReference(sideFaceReference) as Face;
Transform transform = Transform.CreateTranslation(wall.Orientation.Normalize());
IList<CurveLoop> curveLoops = face.GetEdgesAsCurveLoops();
List<MyBoundaries> bound = new List<MyBoundaries>();
TaskDialog.Show("s", curveLoops.Count.ToString());
foreach (CurveLoop curveLoop in curveLoops)
{
MyBoundaries b = new MyBoundaries();
foreach (Curve curve in curveLoop)
{
b.Curves.Add(curve.CreateTransformed(transform));
}
bound.Add(b);
}
return bound;
}
Но это возвращает мне не совсем то что нужно, я получаю например List<CurveLoop>, в надежде, что одна CurveLoop будет образовывать замкнутый контур одного отверстия, но вместо этого я получаю все отверстия с контуром стены в каждом CurveLoop (ниже скриншот)
Например, у меня есть стена с окном, дверью и отверстием. Итого у меня получается список из 4-х CurveLoop, первый элемент - это просто контур стены, оставшиеся 3 - это контур стены со всеми профилями отверстий в ней...
Можно ли как то получить все эти профили по отдельности?

