Получить BoundingBox только видимой геометрии FamilyInstance

Автор Тема: Получить BoundingBox только видимой геометрии FamilyInstance  (Прочитано 1025 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dmitrymaslakovАвтор темы

  • ADN OPEN
  • Сообщений: 40
  • Карма: 1
Разработчик семейств создает 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.  

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Код - C# [Выбрать]
  1. familyInstance.get_BoundingBox(someView);
не пробовал, возможно, подкрутить настройки someView?