Поиск элементов с BoundingBoxIntersectsFilter

Автор Тема: Поиск элементов с BoundingBoxIntersectsFilter  (Прочитано 2981 раз)

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

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

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 3
Здравствуйте,

пытаюсь получить список пространств, которые пересекаются с заданным элементом, использую следующий код

Код - C# [Выбрать]
  1.  
  2.             var bb = Instance.get_BoundingBox(null);
  3.             var outline = new Outline(bb.Min, bb.Max);
  4.             var filter = new BoundingBoxIntersectsFilter(outline);
  5.             var allSpaces = new FilteredElementCollector(Instance.Document).OfCategory(BuiltInCategory.OST_MEPSpaces).ToElementIds();
  6.             var spaces = new FilteredElementCollector(Instance.Document, allSpaces).WherePasses(filter).Cast<Space>().ToList();
  7.  

в итоге получаю список из более чем 50 элементов, хотя в модели ясно видно что такое пространство лишь одно.

на картинке 1 строка это координаты boundingBox заданного элемента, остальные строки - координаты boundingBox найденных пространств, последняя строка - координаты boundingBox нужного пространства.

что я делаю не так?




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

  • ADN OPEN
  • **
  • Сообщений: 70
  • Карма: 3
Re: Поиск элементов с BoundingBoxIntersectsFilter
« Ответ #1 : 22-01-2021, 12:12:29 »
вопрос снимается, это оказались не размещенные пространства  :)