БимПортал: как мы сделали BIM/IFC viewer для web, desktop и PWA

БимПортал: как мы сделали BIM/IFC viewer для web, desktop и PWA

БимПортал: BIM/IFC viewer для web, desktop и PWA

БимПортал — один из самых технологически сильных проектов в нашем портфолио. Это продукт для просмотра BIM/IFC-моделей на desktop, в браузере и на мобильных устройствах через PWA. Главная идея: пользователь открывает модель в привычном интерфейсе, а тяжёлая работа с геометрией и рендерингом выполняется на сервере.

Основной домен продукта: бимпортал.рф. Кейс в портфолио: БимПортал — BIM/IFC viewer.

Почему это важно для строительной отрасли

BIM-модели часто тяжёлые: миллионы полигонов, сложная геометрия, инженерные элементы, большие IFC-файлы. Обычному пользователю не всегда удобно устанавливать специализированное CAD/BIM-ПО, настраивать окружение и держать мощное железо только ради просмотра модели.

Для строительных компаний, проектировщиков, подрядчиков и заказчиков важен другой сценарий: открыть ссылку, посмотреть модель, обсудить объект, показать нужный ракурс, передать доступ коллегам или клиенту. Именно под этот сценарий и создавался БимПортал.

Задача проекта

Нужно было создать BIM-портал, который позволит работать с IFC-моделями через web, PWA и desktop-клиент, а также поддержит разные сценарии совместной работы.

  • просмотр BIM/IFC-моделей без установки тяжёлого ПО на каждое устройство;
  • серверный рендеринг и потоковая передача кадра клиентам;
  • несколько режимов совместной работы с моделью;
  • авторизация, роли, компании и управление пользователями;
  • безопасные ссылки доступа к моделям;
  • кеширование геометрии для ускорения повторных загрузок;
  • механизм обновлений для production-сервера.

Три режима стриминга

Ключевая часть архитектуры — режимы стриминга. Они позволяют использовать один продукт для разных сценариев: презентаций, параллельной работы и полностью изолированных сессий.

Presentation

Режим презентации: все пользователи видят одну модель и одну камеру. Любой участник может управлять камерой, а остальные видят тот же кадр. Это режим с минимальной нагрузкой на сервер, подходящий для демонстраций, совместных обзоров и презентаций.

MultiSession

Мультисессия: модель загружена один раз, но каждый пользователь получает индивидуальную камеру. Это снижает нагрузку на сервер и позволяет нескольким людям параллельно изучать одну модель с разных ракурсов.

Isolated

Изолированный режим: у каждого пользователя своя модель и камера. Это наиболее ресурсоёмкий режим, но он нужен, когда пользователи работают независимо или загружают разные модели.

Управление камерой и game-inspired UX

Для BIM-viewer важна не только серверная часть, но и ощущение управления моделью. В БимПортале предусмотрены два основных сценария:

  • Orbit — вращение вокруг модели, панорамирование и zoom;
  • FPS — перемещение по модели от первого лица с коллизиями, гравитацией, прыжком и бегом.

FPS-режим особенно полезен для строительных и архитектурных сценариев: инженер или заказчик может буквально «пройтись» по модели, проверить помещения, маршруты и визуальное восприятие пространства. Камера не проходит сквозь стены — работают коллизии с геометрией здания.

Дополнительно:

  • режим noclip для экспертов и быстрого обзора;
  • выбор точки появления на модели;
  • миникарта с планом этажей и текущей позицией камеры;
  • мобильное управление: виртуальный джойстик, кнопки прыжка и бега в PWA.

Это не игровая геймификация с очками и рейтингами, а game-inspired UX — навигация, которой интуитивно пользуются на объекте и в офисе.

BIM-инструменты и desktop-клиент

Помимо просмотра, БимПортал даёт инженерные инструменты:

  • BIM-панель свойств и позиции выбранного элемента;
  • фильтры по этажам и инженерным системам;
  • замеры по двум точкам и перпендикуляр до плоскости;
  • скрытие, подсветка и wireframe-режим элементов.

Для профессиональной работы есть desktop-клиент с федерацией нескольких IFC-моделей и BCF-плагином: загрузка и сохранение BCF-разметок, переход к viewpoint из замечания — стандарт координации проектировщиков.

Авторизация, компании и роли

БимПортал проектировался как продукт, пригодный для реальной эксплуатации компаниями. Поэтому внутри есть ролевая модель и мультитенантность:

  • администратор платформы — полный доступ, управление компаниями, пользователями и моделями;
  • администратор компании — управление пользователями и моделями своей организации;
  • пользователь — просмотр и загрузка моделей своей компании.

Модели привязаны к компаниям, пользователи видят только доступные им данные, а действия можно отслеживать через аудит-лог.

Безопасные ссылки на модели

Один из важных сценариев — быстро отправить модель другому человеку. Для этого после выбора или загрузки модели создаётся share-ссылка вида /share/<token>.

При этом ссылка не отдаёт IFC-файл напрямую. Она открывает viewer и разрешает серверу загрузить нужную модель в сессию. Предыдущая ссылка для той же модели может быть отозвана при создании новой.

Кеширование и производительность

IFC-файлы могут быть тяжёлыми, поэтому повторная полная обработка модели при каждом открытии была бы дорогой. В БимПортале реализовано кеширование геометрии: при повторной загрузке система использует сохранённый результат и пропускает тяжёлую генерацию.

Эксплуатация и обновления

Для production-сценариев важен не только запуск, но и дальнейшее обновление. Администратор видит доступное обновление в админ-панели и может установить его в контролируемом режиме — без ручного вмешательства на сервере.

NDA

Технологический стек, архитектура streaming-pipeline, внутренние алгоритмы рендеринга, параметры production-окружения и детали реализации защищены NDA и не публикуются. В открытых материалах описаны только продуктовые возможности и бизнес-результат — не техническая документация, по которой можно воспроизвести решение.

Результат

Получился полноценный BIM/IFC viewer для web, desktop и PWA-сценариев. Пользователь может работать с BIM-моделью через браузер, а сервер берёт на себя тяжёлый рендеринг и управление сессиями.

Проект закрывает сразу несколько потребностей строительного и проектного бизнеса:

  • быстро показать BIM-модель без установки тяжёлого ПО;
  • организовать презентацию модели нескольким участникам;
  • дать каждому пользователю свою камеру при работе с одной моделью;
  • изолировать сессии для независимой работы;
  • управлять компаниями, пользователями и доступами;
  • безопасно делиться ссылками на модели;
  • обновлять серверную часть через админ-панель в контролируемом режиме.

Почему это крутой проект

БимПортал — это не обычный сайт и не простая админка. В нём соединяются BIM, 3D-графика, серверный рендеринг, game-inspired навигация, потоковое видео, PWA, desktop-сценарии, авторизация и мультитенантность.

Для нас это пример сильной заказной разработки: когда под задачу заказчика создаётся не шаблон, а настоящий технологический продукт с архитектурой, эксплуатацией и потенциалом развития.

Обсудить BIM/IFC или строительный IT-продукт

Нужна предварительная оценка похожего проекта?

Опишите задачу — подготовим диапазон бюджета и сроков или предложим следующий шаг.

Получить предварительную оценку Рассчитать бюджет и срок
Предварительная оценка

Расскажите о задаче

Короткий бриф помогает сразу подключить подходящего специалиста и вернуться с предметными вопросами по срокам, рискам и бюджету.

Обычно отвечаем в рабочее время. Поля формы сохраняются в защищённой админке; в Яндекс Метрику контакты и текст задачи не передаются.
Нужен короткий ответ?+7 (351) 220-99-41Telegram