21.12.2020 • AEC&BIM, C3D Modeler, C3D B-Shaper

Как упростить полигональные модели в BIM-приложении с помощью C3D B-Shaper. Опыт команды Pilot-BIM

На вебинаре «C3D Toolkit для разработки BIM-приложений» впервые о своей работе с C3D-компонентами рассказала команда Pilot-BIM (АСКОН). Система автоматически собирает сводную информационную модель здания/сооружения и организует коллективную работу в среде общих данных. В Pilot-BIM используются два компонента C3D Toolkit — геометрическое ядро C3D Modeler и модуль преобразования полигональных моделей в граничное представление C3D B-Shaper.

В этой заметке публикуем главное из выступления Дмитрия Поскрёбышева, руководителя разработки продуктов линейки Pilot.

Назначение Pilot-BIM

Pilot-BIM — это клиент-серверная система для координации и экспертизы информационных моделей, которые поступают к нам в формате IFC. Далее мы должны обработать эти модели на сервере таким образом, чтобы они мгновенно загружались на рабочих местах, с комфортной навигацией при выполнении экспертизы.

Как упростить полигональные модели в BIM-приложении с помощью C3D B-Shaper. Опыт команды Pilot-BIM, фото 1

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

Роль C3D в Pilot-BIM

Мы получаем на вход BIM-объекты через формат IFC. Объект в IFC может быть представлен по-разному. В идеальном случае это твердое тело (солид). Тогда мы с помощью геометрического ядра преобразуем солид в триангуляционную сетку, но делаем это управляемо, под контролем ядра, с количеством триангуляций, необходимым и достаточным, чтобы получить качественную визуализацию.

Другая ситуация, когда из IFC к нам приходит полигональная сетка. В этом случае результат скорее всего будет непредсказуемым, т.к. модель могла быть загружена из интернета или изначально имела сложную геометрию (например, дверная ручка). Для того, чтобы управлять тем, в каком виде эта сетка окажется у клиента, мы используем MeshProcessor, ключевым элементом которого является B-Shaper. Он получает полигональную сетку из IFC, преобразует ее в солид, из которого мы снова управляемо делаем сетку.

Как упростить полигональные модели в BIM-приложении с помощью C3D B-Shaper. Опыт команды Pilot-BIM, фото 2

Есть еще один сценарий применения геометрического ядра — поиск коллизий. Этот функционал пока находится в разработке и будет готов в 2021 году.

Поддержка многопоточности

Мы используем многопоточную обработку моделей, B-Shaper также работает многопоточно. Это позволяет сокращать время получения общей модели, когда большое количество участников моделирования отправляют свои модели на изменения. В зависимости от мощности сервера, количества ядер, клиент/пользователь может управлять количеством потоков. Соответственно C3D будет работать в том количестве потоков, которое он указал.

Результат обработки модели в B-Shaper

На рисунке показаны две версии одной и той же модели, полученной от пользователя. Слева — до обработки в B-Shaper, справа — после. Кроме основного объекта, на заднем плане есть оборудование.

Как упростить полигональные модели в BIM-приложении с помощью C3D B-Shaper. Опыт команды Pilot-BIM, фото 3

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

Управление обработкой модели

B-Shaper позволяет задавать настройки и управлять обработкой полученных триангуляций. Мы вытащили эти настройки в пользовательский интерфейс, чтобы задавать абсолютную и относительную точность преобразования. В одной и той же модели могут присутствовать и крупные, и малые объекты — B-Shaper должен применяться и к тем, и к другим. Поэтому добавлена возможность задавать относительную толерантность.

Ниже представлены предпочтительные настройки «по умолчанию», которые мы выработали опытным путем совместно со специалистами C3D Labs. Рекомендуем пользователям именно такой набор настроек применительно к строительным моделям.

Как упростить полигональные модели в BIM-приложении с помощью C3D B-Shaper. Опыт команды Pilot-BIM, фото 4

Недавно появилась полезная настройка «Сохранить обрабатываемые MeshProsessor тесселяции на диск». Мы получаем от пользователей большое количество реальных моделей, содержащих разные объекты. Они могут иметь разное качество триангуляционной сетки — разрывы, дефекты и пр. Возникла потребность взаимодействовать со специалистами C3D Labs для того, чтобы отдавать им отдельные объекты на исследования и тем самым улучшать работу B-Shaper. Если мы сталкиваемся с проблемной моделью, то включаем эту опцию, сохраняем каждый BIM-объект в отдельный файл в формате .c3d и передаем математикам C3D Labs на анализ. Например, получили от пользователя свод тоннеля метрополитена, после обработки B-Shaper обнаружился дефект геометрии, отправляем математикам, они придумывают решение, в результате выходит новая ревизия C3D, где эта проблема решена и подобные объекты распознаются отлично.

Как упростить полигональные модели в BIM-приложении с помощью C3D B-Shaper. Опыт команды Pilot-BIM, фото 5

Еще один пример работы C3D B-Shaper — модель здания до и после обработки. Насколько улучшилось восприятие модели за счет уменьшения шума.

Как упростить полигональные модели в BIM-приложении с помощью C3D B-Shaper. Опыт команды Pilot-BIM, фото 6


Как упростить полигональные модели в BIM-приложении с помощью C3D B-Shaper. Опыт команды Pilot-BIM, фото 7

Поделиться материалом
Вверх