Сообщество программистов Autodesk в СНГ
ADN Club => Revit API => Тема начата: shss от 25-04-2017, 14:29:15
-
Добрый день!
Мне необходимо получить смежные комнаты на разных этажах и получить площадь соприкосновения стен между этими комнатами.
Немного пояснений:
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fsavepic.ru%2F13686307m.png&hash=08cdb098659a8156f9f383bdfe3baebb) (http://savepic.ru/13686307.htm)
5ая комната на втором этаже смежная с 1,2,3,4 на первом этажах, и необходимо получить сумму площадей соприкосновения стен с потолком комнат первого этажа, на рисунке отмечены стены зеленым.
или например 2ая комната на первом этаже, смежная с 5 и 6 на втором этаже, поэтому сумма площадей будет стены второй комнаты и часть стены со второго этажа которая соприкасается с полом, на рисунке отмечено красным.
6 ая комната смежна со 2ой, 3ей и 4ой поэтому результатом будет площадь ее стен, спорикасающихся с полом и часть стен с первого этажа соприкасающихся с потолком.
Между этажами расположен Floor.
Есть ли возможность реализовать такую задачу?
Буду рад любым идеям.
Спасибо.
-
Сергей, если рассматривать с технической точки зрения и возможностям Revit API, думаю задачу решить можно. А вот с реализацией надо подумать. Вернее надо подумать над алгоритмом, как определять определять смежные комнаты.
Вообще, первое, что мне бросилось в глаза - смежные комнаты расположены на разных этажах. Смежные комнаты - это комнаты, имеющие общие стены и вход в одну комнату, осуществляется в другую. Если они на разных этажах, то они уже не смежные. Тем более непонятно, если они расположены на разных этажах, как у них соприкасаются стены, площадь которых надо определить?
В любом случае алгоритм сводится в первую очередь к поиску смежных комнат. В твоем случае, я так понимаю, входные параметры - помещение и этаж, на котором нужно искать смежные комнаты. Например, 5 комната, 2 этаж. на выходе должны получить помещения 1,2,3,4. Сделать это можно путем поиска границ помещений.
Затем, понять, как найти объекты, площадь которых нужно посчитать. Суть я пока не до конца понял, но надеюсь, что постепенно мы выясним)
-
Да, Виктор, ты абсолютно прав, я уже третий день бьюсь над алгоритмом, и чувствую, что истина, где-то рядом:)
Я назвал комнаты смежными, по той простой причине, что пол как раз и является аналогом стены, а лестничные проемы, как раз выполняют функцию прохода в другую комнату. И как раз к полу/потолку прилегают стены комнат.
Я начал с того, что создал прилегающие к комнате поверхности на полу, чтобы найти эту прилегающую поверхность в комнате. А дальше планирую получить все поверхности прилегающие к комнате и отнять от площади комнаты.