isicad.ru :: портал САПР, PLM и ERP :: версия для печати

Статьи

25 декабря 2020

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

ЛЕДАС и isicad c особенным удовольствием публикуют этот материал, в котором рассказывается о двух продуктах группы компаний АСКОН, разработка которых велась в сотрудничестве с ЛЕДАСом: модуле C3D B-Shaper для преобразования полигональных моделей в BREP и системе Pilot-BIM. Эти инновационные продукты, мы надеемся, будут все более востребованы на российском и мировом рынках инженерного ПО.

Оригинал в блоге C3D Labs


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

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

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

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

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

Роль C3D в Pilot-BIM

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

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

C3D B-Shaper

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

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

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

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

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

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

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

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

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

C3D B-Shaper

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

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

C3D B-Shaper


Все права защищены. © 2004-2024 Группа компаний «ЛЕДАС»

Перепечатка материалов сайта допускается с согласия редакции, ссылка на isicad.ru обязательна.
Вы можете обратиться к нам по адресу info@isicad.ru.