ADN Club > Revit API

Найти все примыкающие стены

(1/1)

Agens:
Давно не писал под Revit API и созрел такой вопрос.
Как без room или space быстро найти все примыкающие стены к стене?
Как я понял JoinGeometryUtils и GetJoinedElements не работает с семействами?
revit 2021

Александр Игнатович:
Путаницу чую здесь я. При чем тут семейства?

Вообще соседние стены можно получить из Location-а стены, с помощью LocationCurve.get_ElementsAtJoin. Нужно только учитывать Т-образные соединения, например, поиском стен в чуть-чуть расширенном bounding box-е исходной стены.

Agens:
о. спасибо за наводку...

Agens:
да. на концах стены легко искать стены, а вот в T-образном соединении что-то не пойму, как...

Александр Игнатович:
Собираем LogicalAndFilter из фильтра по классу и по bounding box-у (который берем из текущей стены и чуток увеличиваем), ищем по фильтру стены (fast enough :-)), из найденных стен исключаем ту, по которой искали изначально и те, что уже нашли ранее,  смотрим elements at join из location-а. Если есть стена, по которой искали, значит, нашли Т-образное соединение.

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

Навигация

[0] Главная страница сообщений

Перейти к полной версии