Привет, Хабр! Меня зовут Роман Заякин, я руководитель проекта градостроительного модуля платформы R2 в компании ПИК. Хочу рассказать, как и зачем мы создали собственный инструмент для архитектурно-градостроительного анализа, какие вызовы решали и каких результатов добились.
Почему вообще нам понадобился свой инструмент?
Все началось с трех проблем, с которыми столкнулась наша команда специалистов-проектировщиков генплана:
Необходимость перебирать десятки вариантов застройки на площадке для выбора оптимального. Требования к архитектуре, нормативы, пожелания от заказчика – все это постоянно меняется. Чтобы найти оптимальное решение, нужно перебрать огромное количество комбинаций: расстановка зданий, этажность, ориентация по сторонам света, инфраструктура. И еще помножьте это все на ограничения В итоге делать это вручную - долго, дорого и неэффективно.
Переход на типовые элементы в проектировании. В реализации проектов жилой застройки мы использовали стандартизированные жилые секции. Возник логичный вопрос: если элементы типовые и используются повторно, почему бы не автоматизировать их компоновку? Так появилась идея алгоритма, который будет собирать варианты застройки как конструктор.
Усложнение расчета инсоляции - 2D-представления стало мало. Изначально инсоляцию и ТЭП проектировщики считали в Civil 3D, используя плагины, которые были разработаны нами. Но по мере усложнения условий (разные типовые этажи на одной секции, настраиваемые расчетные точки, учет дополнительных критериев) стало понятно: плагинами в Civil 3D не обойтись. Нужен был движок, способный работать с 3D-физикой в реальном времени. К тому же тестирование подходящего движка под смежные задачи уже шло полным ходом.
Наш разработчик, который реализовывал алгоритмы расчета для плагинов Civil 3D, в какой-то момент сказал: «Ребята, я уже не вижу, как с этим работать дальше. Нужно что-то принципиально другое».
Мы поняли, что лучше создать единую платформу, где и генерация вариантов, и расчеты, и визуализация работают согласованно, чем поддерживать синхронизацию между разрозненными инструментами. Хоть это и плагины для одного ПО.
Почему Unreal Engine?
Выбор технологического стека был обусловлен несколькими факторами:
Критерий | Civil 3D | R2 (Unreal Engine) |
API и расширяемость | Ограничено, часть функционала закрыта | Практически неограниченная свобода реализации |
3D-физика и инсоляция | Долгий пересчет, нет пересчета данных real-time - только перезапуск | Real-time, мгновенная обратная связь |
Визуализация | Чертежная, техническая | Презентационное качество, работа со светом и материалами |
Работа с геоданными | Через Map 3D, требует конвертации | Интеграция с GeoServer, поддержка множества форматов |
Быстродействие | Ограничено возможностями Civil | Высокая производительность при работе с большими объемами данных |
Мы не отказались от Civil 3D полностью - интеграция с ним осталась для передачи данных на последующие стадии проектирования или для уточнения текущих данных в 2D представлении. Но «мозг» процесса - расчеты, генерация, анализ, принятие решений - переехал в R2.
Еще один момент: два одинаковых параллельных расчета (в Civil и в R2) никому не нужны, поддержка плагинов в Civil и R2 становилась затруднительной. Поэтому решение было очевидным: считать в одном месте, а в другое передавать уже готовые результаты. Для этого мы настроили интеграцию передачи данных между ПО, но это уже отдельная история.
Что умеет градостроительный модуль R2?
В первую очередь модуль предназначен для моделирования вариантов архитектурно-градостроительного анализа (АГА) и оценки потенциала площадки. Используется специалистами генплана на стадиях проектирования предпроект и проект.
Работа с геоданными
Модуль поддерживает загрузку и использование данных из различных источников:
БД на GeoServer: 2ГИС, FMap, OpenStreetMap;
спутниковые подложки с адаптивной детализацией (Яндекс Карты и ArcGIS);
отдельные слои, например охранные зоны, СЗЗ, объекты культурного наследия, дороги, станции метро, ж/д платформы, остановки.
Все данные подгружаются из GeoServer, что обеспечивает централизованное управление и актуальность информации для всей компании.
Автоматическая генерация вариантов застройки
Поддерживается несколько сценариев генерации застройки (сборка производится из секций повторного применения):
Сценарий | Когда использовать | Ключевая особенность |
Регулярная сетка | Простые участки с четкой геометрией, ограничения | Расстановка по узлам сетки, предсказуемый результат |
Нерегулярная сетка | Криволинейные границы участков, ограничения | Адаптивная интерполяция, учет локальных ограничений |
Кастомная застройка | Индивидуальные требования к секциям | Задание произвольных габаритов, поэтажный рост с учетом инсоляции |
Малоэтажная застройка | Коттеджные поселки, таунхаусы | Генерация дорожного каркаса + зонирование под типы домов |
Массинг (инсоляционная горка) | Оценка объемно-пространственной композиции | Быстрый подбор формы здания с учетом инсоляционных ограничений |
Алгоритмы автоматически размещают:
жилые секции (типовые и кастомные);
кварталы повторного применения (КПП);
социальные объекты (школы, детские сады, поликлиники);
паркинги (наземные и подземные).
Расчеты: инсоляция, КЕО, ТЭП
Инсоляция:
real-time-расчет с визуализацией «вееров» (световых секторов);
учет нормативных периодов инсоляции;
подсветка нарушений: красный цвет - сверхнормативное отклонение, желтый - прерывистая инсоляция (в норме), зеленая - непрерывная (в норме);
настраиваемые расчетные точки (на подоконнике, в середине окна);
индивидуальные параметры окон (тип конструкции, глубина четверти, угол тени);
инструменты: расчет инсоляционных фронтов, инсоляционные линейки в зависимости от широты региона, инсоляционная горка, расчет инсоляции по площади с построением тепловых карт.
КЕО (коэффициент естественной освещенности):
расчет по СП 23-102-2003;
учет материалов остекления, переплетов, несущих конструкций;
автоматический расчет для комнат, квартир или целых этажей;
экспорт результатов в Excel.
ТЭП (технико-экономические показатели):
мгновенный пересчет при изменении модели проекта;
расчет площади, населения, потребности в парковках;
расчет потребности в социальных объектах (школы, детсады, поликлиники);
гибкие методы расчета (от ГНС, от площади квартир, от численности населения).
Важно: все расчеты синхронизированы. Изменил этажность секции - автоматически пересчиталась инсоляция, ТЭП, потребность в детсадах и т. д. Никаких расхождений между «цифрами в разных файлах». Никаких проблем по типу «обновил ли я расчет?».
Инфраструктура и окружение
библиотека типовых параметризованных объектов: жилые секции, школы, детсады, паркинги, поликлиники с заданными параметрами;
редактор пользовательских элементов: можно создать и сохранить свой тип здания и назначить ему функциональную принадлежность;
инструменты для задания ограничений: границы проектирования, санитарно-защитные зоны (линейные и площадные);
автоматические проверки: контроль достаточности площади участков для размещения соцобъектов.
Визуализация и презентация
настройка стилей отображения для презентационных материалов;
управление освещением: время суток, сезон, положение солнца;
облачность, туман, интенсивность света - тонкая настройка атмосферы;
сохранение видов и наборов видов для быстрой навигации;
экспорт изображений.
Интеграции
Civil 3D/Autocad_R2 (обмен данными): экспорт секций, ТЭП, результатов расчета инсоляции (фронты, периоды, лучи);
Excel: выгрузка квартирографии, ТЭП, расчетов стояночных машино-мест;
GeoServer: импорт GIS-данных.
Какие проблемы R2 решает на практике?
Для генпланистов это в первую очередь сокращение времени на предпроектный анализ. Вместо недели ручной проработки - несколько часов на генерацию и отбор 5–10 концептуальных вариантов.
Также стоит отметить объективное сравнение вариантов и быстрое принятие решений, как дальше будет развиваться проект. Связка ТЭП + инсоляция + композиция в проекте позволяет это сделать намного лучше, чем использовать субъективные оценки. Автоматизация и точность вычислений минимизируют ошибки.
Real-time-расчеты и мгновенное отображение результатов позволяют сразу видеть, как изменилась инсоляция проектируемых зданий и окружения, а также ТЭП как отдельных зданий и всего проекта.
Для руководства главная ценность здесь - это быстрая оценка потенциала площадки. Ответ на вопрос «Что можно построить на этом участке» с цифрами по площади, населению, себестоимости.
Еще одно преимущество - быстрая сборка презентационных материалов из проекта. Не нужно отдельно заказывать визуализацию для комитета или инвесторов - настроил стиль, сделал рендер.
Помимо прочего, удобно хранить в рамках одного проекта несколько вариантов решений, где все расчеты зафиксированы и можно вернуться к любому варианту.
Эффекты после внедрения
По итогам внедрения модуля в рабочие процессы мы зафиксировали:
Показатель | Значение | Комментарий |
Ускорение стадии «Предпроект» | до 50% | За счет автоматической генерации и мгновенного пересчета ТЭП и инсоляции |
Сокращение трудозатрат на расчет инсоляции/КЕО | до 20% | Real-time-режим + автоматизация рутинных проверок на стадии «Проект» |
Куда движемся дальше?
Разработка не стоит на месте. Сейчас мы работаем над генеративным сценарием «Мастерплан», который будет учитывать не только расстановку зданий, но и УДС, пешеходные профили, пожарные проезды и так далее. Это позволит получать более детализированные и увязанные решения по площадкам, максимально приближенные к реальному проекту.
Параллельно мы:
развиваем инструменты расчета инсоляции;
интегрируемся с дополнительными источниками исходных данных для проектирования;
интегрируемся с другими модулями платформы R2;
смотрим в сторону полноценного 3D-моделирования внутри R2.
Вместо заключения
Создание градостроительного модуля R2 - это не просто «еще один плагин для Civil 3D». Это попытка переосмыслить процесс предпроектного анализа:
от ручного перебора вариантов - к управляемой генерации;
от разрозненных расчетов - к единой цифровой модели;
от чертежей - к интерактивной визуализации.
Мы не претендуем на универсальность - инструмент заточен под процессы крупного девелопера. Но если вы сталкиваетесь с похожими вызовами (много вариантов, сложные нормативы, необходимость быстрой оценки), возможно, наш опыт будет полезен.
Если вас заинтересовало решение и вы хотите узнать больше о возможностях платформы R2 - будем рады обратной связи в комментариях или в личных сообщениях.
P. S. Если тема интересна, в следующих статьях могу подробнее рассказать про архитектуру R2 и интеграцию Unreal Engine с инженерным ПО, алгоритмы генерации застройки и работу с ограничениями, а также опыт внедрения инструмента и поддержку пользователей.
P.P.S. Подписывайтесь на наш канал bimteamnews в Telegram и следите за новостями.
