Применение Dynamo для расчета инсоляции 22 марта и 22 сентября в центральной зоне РФ

11

Вступление

Недавно мы опубликовали бесплатный курс по легкому программированию в Autodesk Revit с помощью Dynamo. Кратко — это возможность “дописать” в программе нужную функцию без необходимости разбираться в программировании. В этой статье мы поделимся опытом наших коллег из Гройсен Инновейшн Групп по использованию Dynamo для расчета инсоляции 22 марта и 22 сентября в центральной зоне РФ. Мы затронем как нормативную и “физическую” сторону вопроса, так и реализацию расчета инсоляции методами Dynamo. В конце публикации предлагается программа для Dynamo, разработанная компанией Гройсен Инновейшн Групп, позволяющая рассчитывать период инсоляции в день весеннего и осеннего равноденствия. Кроме того, возможно у читателей, которые сталкивались ранее с подобными расчетами, возникнет вопрос по учету экранирования расчетной точки лоджиями и балконами и построения экранирующего здания на дополнительной сетке солнечной карты. Этот вопрос тоже может быть освещен нами в последствии. Если данная статья получит положительную динамику интереса к теме построения графиков, авторы постараются разъяснить, как строятся такие графики на любой широте Земного шара и в любой день года.

Об авторах

Гройсен Инновейшн Групп — команда талантливых инженеров, которые объединились для разработки дополнений и улучшений, упрощающих решение инженерных задач по устоявшимся правилам и отечественным стандартам. Одно из последних дополнений — это приложение “Толщина стенки воздуховода” для Autodesk Revit. Компания Гройсен Инновейшн Групп является малым инновационным предприятием, входит в состав индустриального инновационного кластера в области автомобилестроения и нефтехимии и имеет сертификат авторизованного разработчика Autodesk. Специалисты давно сотрудничают с командой Vysotskiy consulting, начиная с обучения по программе и заканчивая совместными интересными проектами, в частности и по Dynamo.

Нормирование и расчет инсоляции

Расчет инсоляции в России — весьма сложный вопрос. Очень часто под задачей подразумевается лишь набор правил для формального удовлетворения требований нормативной документации, и зачастую непонятны методы косоугольного проецирования и законов движения солнца. К сожалению, бывает, что проектировщик даже не понимает, что считает в принципе. До того, как мы начнем рассматривать программную реализацию инженерной методики, нужно остановиться на нормативных аспектах данной деятельности. Согласно действующему СП 52.13330.2011 «Естественное и искусственное освещение» раздела 4.5, требования к инсоляции и солнцезащите помещений выполняются в соответствии с СанПиН 2.2.1/2.1.1.1076. Действительно, в разделе «2. Общие требования к инсоляции» этот правовой акт обещает гражданам, проживающим, например, в центральной зоне России не менее 2 часов в день инсоляции жилища на период с 22 марта по 22 сентября, т.е. в 183 дня летней половины года. Однако в разделе «7. Расчет продолжительности инсоляции» проверку выполнения этого нормативного требования «на весь период» предписано производить «на день начала периода (или день его окончания)». Коллизия норматива при расчете периода инсоляции заключается в том, что информация о выполнении нормативного требования в остальные 181 день нормативного периода отсутствует. Поэтому если всего лишь на 2 дня в году расчет будет удовлетворять нормативу, то все проведенные расчеты в другие периоды будут скорее всего названы как упражнения, не касающиеся существа вопроса экспертизы. Другая проблема заключается в том, что в нормах приведен эталонный график для расчета периода инсоляции на 22 марта или 22 сентября календарного года. Однако данный график был построен только для города Москвы, а в других городах центральной полосы инженерам приходиться строить график самостоятельно. Постараемся далее описать технологию построения таких графиков для центральной зоны РФ. Как было сказано в начале статьи, при наличии интереса к теме авторы в будущих публикациях постараются разъяснить, как строятся такие графики на любой широте Земного шара и в любой день года, а также как учесть экранирование расчетной точки лоджиями и балконами и построения экранирующего здания на дополнительной сетке солнечной карты.

Теоретические основы построения графика инсоляции

В общем случае графики для расчета инсоляции представляют собой конус, образованный видимым вращением падающего в расчетную точку солнечного луча. В северной и южной зоне рельеф поверхности конуса изображается семейством гиперболических горизонталей, построение которых довольно трудоемко. Для центральной зоны в дни равноденствия (22 марта и 22 сентября) конус вырождается в наклонную плоскость небесного экватора, горизонталями которой является семейство параллельных прямых. Построить такой график очень просто (схема для построения графика показана на рисунке 1).
1 Рис. 1. Схема построения графика инсоляции в дни осеннего и весеннего равноденствия
Проведем взаимно перпендикулярные прямые m и n. Опишем полуокружность небесной сферы произвольного радиуса (6-8 см) с центром в точке O их пересечения. Левую четверть сферы будем считать ее проекцией на плоскость небесного меридиана, а отрезок прямой Om – горизонтом. Через точку O под углом Ф, равным географической широте места строительства, проведем небесный экватор AO, наклоненный к горизонту под углом 90-Ф. Из точки A его пересечения со сферой опустим перпендикуляр на плоскость горизонта и радиусом BO опишем четверть окружности с центром в точке O. Будем считать, что правая четверть окружности есть проекция небесной сферы на истинный горизонт. Разделим концентрические дуги окружностей на шесть часовых (15-градусных) секторов и на радиальных засечках MN как на гипотенузах построим прямоугольные треугольники MNL. Через вершины L пересечения их катетов, лежащих на эллипсе горизонтальной проекции солнечной параллели, и расчетную точку O проведем азимутальные лучи 13, 14, … и т.д., зафиксированные через равные часовые промежутки. Для повышения точности визуального расчета часовые промежутки следует разбить на 20-минутные (5-градусные) деления. Для построения горизонталей графика на отрезке On, начиная от расчетной точки O, нанесем метрическую шкалу превышений зданий над расчетной точкой. Шкала проецируется на продолжение экватора AO и проводятся горизонтали графика. Для повышения точности визуальной интерполяции шкалу превышений следует построить с 2-миллиметровой градацией. Метрическая шкала пригодна для работы с чертежами любого масштаба. Например, на генплане масштаба 1:500 превышению в 20 м соответствует горизонталь с отметкой 4 см, в масштабе 1:1000 — горизонталь с отметкой 2 см и т.д. Правая половина графика симметрична построенной и отличается только часовыми номиналами (от 6 до 12 ч). Построение можно выполнить на компьютере в любом графическом редакторе и записать график в файл для перемещения мышью по генплану или отпечатать на принтере на прозрачную основу (восковую кальку, пленку и т.п.) для расчетов по чертежам. Но в нашем случае, имея модель генерального плана в Revit, а сами силуэты зданий в виде формообразующих, можно поступить иначе, прибегнув к набирающему популярность приложению Dynamo.

Программная реализация расчета инсоляции в Dynamo

Первое, что хочется посоветовать начинающим осваивать Dynamo — не программировать в Dynamo то, что можно легко сделать и «родными» инструментами Autodesk Revit. Dynamo, да и программная реализация в целом, призваны в первую очередь упростить рутинные и однотипные задачи, а не запрограммировать все процессы. Будем решать задачу постепенно. Dynamo позволяет манипулировать с объектами, семействами, объектами внутри семейств и их информацией. Поэтому первым шагом станет реализация семейства инсоляционного графика Revit на основе обобщённой модели. Нам в этом поможет приведенная выше методика. Семейство можно скачать готовое по данной ссылке или сделать самому. В случае необходимости воспользуйтесь нашим видеокурсом по редактированию семейств в Revit на старом портале.

Результат и опыт применения

Подготовительный этап решения задачи включает в себя расстановку формообразующих на месте предположительно экранирующих расчетную точку зданий, размещение в расчетной точке участка стены с оконным проемом, а также графика инсоляции, ориентированного на север (рис.2). Готовый график следует разместить в расчетной точке, коей является центр оконного проема. Следует заметить, что для расчета инсоляции в ОДНОЙ расчетной точке необходим ОДИН оконный проем в модели, ОДИН график, и, разумеется, участок стены, в котором находится данный оконный проем. Проем должен быть без заполнения – для точного определения его центра.
2 Рис. 2. Размещение графика в расчетной точке
Таким образом, Dynamo получит возможность собрать исходные данные для расчета, однако и здесь нужно будет произвести некую подготовку: выбрать из выпадающих списков нужные типоразмеры семейств окна и инсоляционного графика соответственно:
3 Рис.3. Исходные данные в Dynamo
Непосредственно расчет начинается с анализа геометрии «застройки», окна и графика:
4 Рис 4. Анализ геометрии окна и формообразующих

Оконный проем

Как Dynamo получает геометрию? Дело в том, что в Revit у каждого элемента есть Bounding Box, то есть некая объемная геометрическая форма. Именно эту геометрию и должен захватить Dynamo, чтобы продолжить свою работу. Следует отметить, что в Revit и Dynamo понятия Bounding Box разнятся: взятый из Revit Bounding Box объекта будет в точности соответствовать ориентации его в пространстве, а значит, и габаритам, тогда как созданный в Dynamo, он будет ориентирован по внутреннему пространству программы, то есть размеры его не будут соответствовать действительности. Поэтому важно использовать именно тот нод, который лишь получает данные о Bounding Box из Revit. Так мы получаем геометрию оконного проема, затем определяем его центр с помощью нода Solid.Centroid.
5 Рис. 5. Анализ геометрии оконного проема

Формообразующие.

Однако, твердотельную геометрию можно получить и с помощью нода Element.Solid. Далее, с помощью нодов Face.Vertices и Vertex.PointGeometry получен список вершин формообразующих с координатами.
11 Рис. 6. Геометрия формообразующих
Зная координату Z каждой точки, можно вновь избавиться от лишней геометрии, оставив лишь те точки, координаты которых отличны от 0. Кроме того, зная координату Z расчетной точки, можно найти превышение каждой вершины над расчетной точкой. На основе этих вычислений выполняется маркировка формообразующих по превышению над расчетной точкой, выполняемая нодом Element.SetParameterByName.
7 Рис.7. Маркировка зданий по превышению над расчетной точкой

График

Цель построений, выполняемых в процессе создания семейства инсоляционного графика, состоит в получении совокупности равноудаленных и параллельных друг другу линий, физический смысл которых – превышения над расчетной точкой. Автоматизация данного процесса, продолжительного и монотонного, несомненно, позволяет получить результат практически незамедлительно. Все вспомогательные построения выполнены символическими линиями, горизонтали – линиями модели. Dynamo распознает линии модели, но символические линии ему не видны. По сути, эти линии – следы опорных плоскостей, которые строит Dynamo после запуска программы с помощью нода ReferencePlane.ByLine.
8 Рис.8. Построение опорных плоскостей
Далее происходит подсчет полученных плоскостей, и каждой, с помощью нода Element.SetParameterByName, присваивается имя по представленному ниже алгоритму. Так мы сможем выполнить дальнейшие построения, попутно отсеяв лишнюю геометрию. Выборка нужных плоскостей происходит по результатам сравнения значений параметра «Имя» ВСЕХ полученных плоскостей со значениями маркировок формообразующих – застройки. Для этого используется нод List.FilterByBoolmask.
9 Рис. 9. Присвоение имен опорным плоскостям
Как говорилось ранее, значения параметров «Имя» опорных плоскостей и «Маркировка» формообразующих сравниваются. Сортировку производит нод Elements.FilterByName пакета Clockwork. Затем проводится построение пересечений между плоскостями и соответствующими им формообразующими. Выполняется это нодом Geometry.Intersect. Если построение возможно, результат – поверхность; если нет – пустой список, то есть отсутствие геометрии пересечения. На плоскости такая поверхность оставит след в виде отрезка прямой. Для наглядности отрезки строятся и в Revit нодом DetailLine.FromCurve пакета Clockwork.
10 Рис. 10. Построение пересечений плоскостей и формообразующих
Часть здания, которая, если ориентироваться по графику, лежит ниже линии пересечения, не будет затенять расчетную точку. Поэтому нужно избавиться от лишней геометрии для корректного построения конуса визирных лучей. Грубо говоря, нужно работать с ближайшей к расчетной точке частью формообразующего.
11 Рис. 11. Фильтрация геометрии пересечения
Теперь есть все данные для построения конуса визирных лучей.
12 Рис. 12. Визирные лучи
Построенные визирные лучи проецируются на плоскость, в которой лежит расчетная точка. Углы между линиями — это углы между их направляющими векторами. Поскольку построение линий и векторов Dynamo начинает с ближайшей к расчетной точки, невозможно сразу выбрать нужные линии и вычислить между ними углы (например, присвоив им имена и сделав соответствующую выборку). Однако нод AngleBetween, тип переплетения «самый длинный», перебирает все вектора и вычисляет значения углов, при этом сохраняется, если можно так сказать, принадлежность их формообразующим. То есть, не вычисляются значения углов между векторами, начала которых лежат на разных формообразующих. Затем из списка выбираются наибольшие значения.
13 Рис.13. Значения углов
Результаты суммируются и подставляются в формулу
14 Рис. 14. Расчет времени инсоляции
Результат получен в часах. Чтобы получить более привычное значение в часах и минутах, выполняется следующий расчет:
15 Рис. 15. Часы и минуты
Особенностью этого расчета является комбинирование списков. Для его осуществления все значения должны быть одного типа – String (строка). Подобные манипуляции со списками подробно описаны на русскоязычном форуме Dynamo. Остается лишь вывести результат в Revit. Для этого заранее была создана и размещена на плане простейшая марка.
16 Рис.16. Марка
Результат в Revit:
17 Рис. 17. Результат построений в Revit
Выполненные построения позволяют сделать вывод, что расчетная точка экранируется только двумя зданиями, а время инсоляции составляет 6 часов 24 минуты (первый и последний час восхода и захода Солнца по методике отбрасываются).

Материалы к статье

Модель для расчета инсоляции в Autodesk Revit 2015 + плагин для Dynamo 0.8.2 Модель для расчета инсоляции в Autodesk Revit 2015 + плагин для Dynamo 0.9.0 Модель для расчета инсоляции в Autodesk Revit 2016 + плагин для Dynamo 0.8.2 Инсоляционный график (семейство) Марка продолжительности инсоляции (семейство)

Контакты

Гройсен Инновейшн Групп Разработка программного обеспечения для Autodesk Revit, Civil 3D, Vault, разработка семейств Revit Авторизованный разработчик Autodesk support@groisen.com www.groisen.com +7(831) 262-23-32   Vysotskiy Consulting Внедрение и обучение BIM-технологиям Авторизованный учебный центр Autodesk Авторизованный академический партнер Autodesk contact@bim.vc www.bim.vc +7(911) 826-98-94