Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: dmitrymaslakov от 16-01-2024, 08:56:26

Название: Получить BoundingBox только видимой геометрии FamilyInstance
Отправлено: dmitrymaslakov от 16-01-2024, 08:56:26
Разработчик семейств создает Reference Planes для своих нужд, чтобы семейство корректно работало. Я хочу получить BoundingBox видимой геометрии, но он включает в свои границы, никак не связанные с геометрией семейства, Reference Planes. Как мне решить мою задачу? Для получения BoundingBox пользуюсь данным кодом:
Код - C# [Выбрать]
  1.                 var selectedElementId = _selection.GetElementIds().FirstOrDefault();
  2.                 var familyInstance = _document.GetElement(selectedElementId) as FamilyInstance;
  3.  
  4.                 View3D view3D = new FilteredElementCollector(_document)
  5.                     .OfClass(typeof(View3D))
  6.                     .Cast<View3D>()
  7.                     .FirstOrDefault(v => !v.IsTemplate);
  8.                 Options geomOpts = new Options { View = view3D };                
  9.                 var symbolGeometry = familyInstance
  10.                     .get_Geometry(geomOpts)
  11.                     .OfType<GeometryInstance>()
  12.                     ?.FirstOrDefault()
  13.                     ?.GetSymbolGeometry();
  14.                
  15.                 XYZ symbolMax = symbolGeometry.GetBoundingBox().Max;
  16.                 XYZ symbolMin = symbolGeometry.GetBoundingBox().Min;
  17.  
Название: Re: Получить BoundingBox только видимой геометрии FamilyInstance
Отправлено: Александр Игнатович от 16-01-2024, 10:56:53
Код - C# [Выбрать]
  1. familyInstance.get_BoundingBox(someView);
не пробовал, возможно, подкрутить настройки someView?