Привет, Хабр! Меня зовут Роман Заякин, я руководитель проекта градостроительного модуля платформы R2 в компании ПИК. Хочу рассказать, как и зачем мы создали собственный инструмент для архитектурно-градостроительного анализа, какие вызовы решали и каких результатов добились.

Почему вообще нам понадобился свой инструмент?

Все началось с трех проблем, с которыми столкнулась наша команда специалистов-проектировщиков генплана:

  1. Необходимость перебирать десятки вариантов застройки на площадке для выбора оптимального. Требования к архитектуре, нормативы, пожелания от заказчика – все это постоянно меняется. Чтобы найти оптимальное решение, нужно перебрать огромное количество комбинаций: расстановка зданий, этажность, ориентация по сторонам света, инфраструктура. И еще помножьте это все на ограничения В итоге делать это вручную - долго, дорого и неэффективно.

  2. Переход на типовые элементы в проектировании. В реализации проектов жилой застройки мы использовали стандартизированные жилые секции. Возник логичный вопрос: если элементы типовые и используются повторно, почему бы не автоматизировать их компоновку? Так появилась идея алгоритма, который будет собирать варианты застройки как конструктор.

  3. Усложнение расчета инсоляции - 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 и следите за новостями.