Получение смежных Room на разных уровнях

Автор Тема: Получение смежных Room на разных уровнях  (Прочитано 2301 раз)

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

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

  • ADN Club
  • ***
  • Сообщений: 214
  • Карма: 5
  • Sergey
  • Skype: sergey.s.shevtsov
Добрый день!
Мне необходимо получить смежные комнаты на разных этажах и получить площадь соприкосновения стен между этими комнатами.
Немного пояснений:

5ая комната на втором этаже смежная с 1,2,3,4 на первом этажах, и необходимо получить сумму площадей соприкосновения стен с потолком комнат первого этажа, на рисунке отмечены стены зеленым.
или например 2ая комната на первом этаже, смежная с 5 и 6 на втором этаже, поэтому сумма площадей будет стены второй комнаты и часть стены со второго этажа которая соприкасается с полом, на рисунке отмечено красным.
6 ая комната смежна со 2ой, 3ей и 4ой поэтому результатом будет площадь ее стен, спорикасающихся с полом и часть стен с первого этажа соприкасающихся с потолком.
Между этажами расположен Floor.
Есть ли возможность реализовать такую задачу?
Буду рад любым идеям.

Спасибо.


Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Сергей, если рассматривать с технической точки зрения и возможностям Revit API, думаю задачу решить можно. А вот с реализацией надо подумать. Вернее надо подумать над алгоритмом, как определять определять смежные комнаты.
Вообще, первое, что мне бросилось в глаза - смежные комнаты расположены на разных этажах. Смежные комнаты - это комнаты, имеющие общие стены и вход в одну комнату, осуществляется в другую. Если они на разных этажах, то они уже не смежные. Тем более непонятно, если они расположены на разных этажах, как у них соприкасаются стены, площадь которых надо определить?

В любом случае алгоритм сводится в первую очередь к поиску смежных комнат. В твоем случае, я так понимаю, входные параметры - помещение и этаж, на котором нужно искать смежные комнаты. Например, 5 комната, 2 этаж. на выходе должны получить помещения 1,2,3,4. Сделать это можно путем поиска границ помещений.
Затем, понять, как найти объекты, площадь которых нужно посчитать. Суть я пока не до конца понял, но надеюсь, что постепенно мы выясним)

Отмечено как Решение shss 04-05-2017, 21:11:01

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

  • ADN Club
  • ***
  • Сообщений: 214
  • Карма: 5
  • Sergey
  • Skype: sergey.s.shevtsov
Да, Виктор, ты абсолютно прав, я уже третий день бьюсь над алгоритмом, и чувствую, что истина, где-то рядом:)
Я назвал комнаты смежными, по той простой причине, что пол как раз и является аналогом стены, а лестничные проемы, как раз выполняют функцию прохода в другую комнату. И как раз к полу/потолку прилегают стены комнат.
Я начал с того, что создал прилегающие к комнате поверхности на полу, чтобы найти эту прилегающую поверхность в комнате. А дальше планирую получить все поверхности прилегающие к комнате и отнять от площади комнаты.