Найти в Дзене
Let's manage #BIM

Быстрый старт в Blender+Bonsai для работы с IFC

Обзорная статья, чтобы решить задачи здесь и сейчас. А в конце приглашение на челлендж, не пропусти, ведь решить задачу так и не получилось, так что давайте учиться) Сценарии BIM-менеджера BIM-product Для каких сценариев я использую Blender: Открыть файл IFC для просмотра (корректности импорта, свойств) Быстро создать файл с необходимым сущностями по стандарту IFC для отладки работы Larix.Manager перед выпуском релизов И самое главное - отредактировать IFC. Передомной часто стоит задача подготовить тестовую модельку. И если мы говорим про обычное, ненагрузочное тестирование, то порой достаточно и пары элементов. Для каких сценариев можно использовать Blender: Ещё можно проверить модели, например, на соответствие IDS Подсчитать метрики проекта Но это уже другая история..) К этим сценариям я не смогла перейти из-за низкой производительности. Путь воина BIM-менеджера 1. Устанавливаем Blender. Я обновилась до 5.0.1 (в ПО пишет 5.0.0 почему-то). Нюанс: рекомендуется устанавливать на диск
Оглавление

Обзорная статья, чтобы решить задачи здесь и сейчас. А в конце приглашение на челлендж, не пропусти, ведь решить задачу так и не получилось, так что давайте учиться)

Сценарии BIM-менеджера BIM-product

Для каких сценариев я использую Blender:

  • Открыть файл IFC для просмотра (корректности импорта, свойств)
  • Быстро создать файл с необходимым сущностями по стандарту IFC для отладки работы Larix.Manager перед выпуском релизов
  • И самое главное - отредактировать IFC. Передомной часто стоит задача подготовить тестовую модельку. И если мы говорим про обычное, ненагрузочное тестирование, то порой достаточно и пары элементов.

Для каких сценариев можно использовать Blender:

  • Ещё можно проверить модели, например, на соответствие IDS
  • Подсчитать метрики проекта

Но это уже другая история..) К этим сценариям я не смогла перейти из-за низкой производительности.

Путь воина BIM-менеджера

1. Устанавливаем Blender. Я обновилась до 5.0.1 (в ПО пишет 5.0.0 почему-то).

Нюанс: рекомендуется устанавливать на диск С, так работает стабильнее.

Ошибка при установке на диск Д
Ошибка при установке на диск Д

Blender Builds - blender.org

Дальше можем даже не пытаться открыть файлы IFC - получите ошибку "Формат файла не поддерживается", значит, надо его поддержать, а точнее поставить надстройку для работы с IFC :)

По умолчанию можно открыть проекты в формате .blend.

2. Устанавливаем расширение Bonsai

Bonsai
  • В Blender перейдите в Edit (Правка) -> Preferences (Настройки) -> Add-ons (Расширения).
  • Нажмите на стрелочку в самом правом верхнем углу, далее Install (Установить с диска) и выберите скачанный .zip файл аддона. Разархивировать не нужно.
-3

При повторном открытии надстройка не подхватилась, но требуется поставить галочку у Bonsai в верхнем левом углу и дальше всё будет работать бесперебойно:

-4

Что изменилось?

Всё! Теперь возможно работать не только с внутренним форматом, а разрешено говорить на "международном языке".

Едем дальше. Видим кнопку Открыть (Open IFC), Создать (New IFC Project). Давайте откроем любую модельку. И попробуем пошалить ее отредактировать.

Магия, доступная каждому: редактирование IFC без САПР и нативных файлов

Итак, задачка: удалить все, кроме конкретного элемента.

-5

Кейс: разбираюсь в связях IFC между элементами модели линейных объектов. Проще оставить,к примеру, 1 берму, вместо работы с условно одинаковыми бермами, но раскиданными по всей протяженного объекта.

-6

Но не на каждой модели

У меня иногда возникают проблемы из-за того, что модельки большие и вот в правом окне появляется уведомление Large Model may clow down Bonsai/ Warning: large model. Please review advanced settings to continue. Поэтому для работы с большими моделями я использую Larix.Manager, а Bonsai исключительно для внесения правок и экспорта откорректированной IFC.

-7

Я оставила 30000 элементов и мне повезло, что искомый элемент отобразился. Ошибка ушла.

-8

Если бы элемент не отобразился, то надо посмотреть в каком классе располагается данный элемент и отфильтровать при импорте загрузку только этой категории (Filter Mode).

И как "нести" эту тяжесть? И вообще, какие модели для Blender BIM являются большими?

Ну как минимум с количеством элементов более 100к.

Я пока не разобралась. Так что читайте в следующих сериях. А пока давайте почитаем документацию. Кстати для бесплатного продукта оч классно сделано. Интересно почему заяц?
https://docs.bonsaibim.org/

Как найти элемент?

Если это какой-то непроектный элемент, и вы знаете, где его искать - задача простая, можно даже не разбираться в стандарте IFC, сразу найти в окне визуализации нужное. А вот если у вас есть только ID, то уже посложнее.

Собственно, моя ситуация, у меня вот есть только исходный ID:

  1. открываю IFC через блокнот
  2. нахожу нужный тег
  3. далее сразу понимаю, что это класс покрытий и нахожу GlobalId
-9

Что здесь написано?

IFCCOVERING — это элемент покрытия (слои отделки, кровли, фасадные панели, утеплители, стяжки, облицовка и т.д.).

Разбор параметров по порядку

  1. '14UBEpucr8fRCwA3HrVK9k' — GlobalId
    Уникальный глобальный идентификатор объекта (GUID IFC).
  2. #18 — OwnerHistory
    Ссылка на объект IFLOWNERHISTORY — информация о создателе, времени создания и ПО.
  3. Name (параметр 3)
    'Базовая крыша:Плоская без плиты, с уклонообразующим слоем:4989332' — название элемента в прикладной программе (Revit, ArchiCAD и т.п.)
  4. Description (параметр 4) = $
    Пустое значение (нет описания).
  5. ObjectType (параметр 5)
    'Базовая крыша:Плоская без плиты, с уклонообразующим слоем' — тип объекта, часто соответствует типу семейства или стилю.
  6. #110189 — ObjectPlacement
    Ссылка на IFCLocalPlacement — положение в модели (координаты, матрица трансформации).
  7. #110839 — Representation
    Ссылка на IFCPRODUCTDEFINITIONSHAPE — геометрия (тело, контуры, поверхности).
  8. '4989332' — Tag
    Обычно это ID элемента из исходной BIM-модели (элемент Revit/Archicad).
  9. .NOTDEFINED. — PredefinedType
    Тип покрытия не указан.
    Возможные варианты: .ROOFING., .INSULATION., .FLOORING., .CLADDING. и др.

Фильтр по GlobalId?

Вариантов много, но нам нужен самый надежный - по уникальному идентификатору. GlobalId

-10
-11

Ctrl C - давайте скопируем этот элемент (Update: бесполезно)

Важно при фильтрации сохранять Заглавные буквы. К примеру, если по IfcClass, то в значении пишем не ifccovering, а IfcCovering

-12

А как всё удалить?

ИНСАЙТ!!!!!Отключить связь с IFC (Unlink) перед удалением!!!!!!,а потом удалить сами элементы. Начнем о второго и вернемся к первому в следующем пункте.

1 способ, который не сработал

Не знаю, как все удалить быстро, но мне удобнее скопировать 1 файл и экспортнуть в IFC отдельно.

-13

Затем откроем чистый проект и через contr V вставим. А далее сохраняем файл, как новый IFC.

-14

И шалость не удалась - при сохранении нулевой файл, а в самом интерфейсе явно что-то сломала. Хотя сохранила всю структура проект-площадка-здание.

справа видно что IfcElement not Found
справа видно что IfcElement not Found

Если вы знаете, как это донастроить - напишите, пожалуйста, в комментарии или в телеграм @nastenkabimcake

2 способ через инвертирование выделения- должен был сработать

  1. Выдели элемент, который нужно оставить
  2. Нажми Ctrl+I — это Inverse Selection, инвертировать выделение.
  3. Нажми XDelete.
  4. Останутся только нужные объекты.

Но на этом действии у меня Blender перестал отвечать...(

-16

Хорошо, а вообще может это не работает?

Подтверждение гипотезы на маленьком примере

Проверяю на маленькой модели. Беру модель с офиц. сайта https://docs-unstable.bonsaibim.org/quickstart/explore_model.html

Оставим только окно с GlobalID = 2ACmFFQhT1Ouf0x4YRUh9m

-17

Найдем этот элемент в Blender:

Поиск справа через искомый параметр
Поиск справа через искомый параметр

Нашли, оставляем его выделенным, и инвертируем все остальное Ctrl+I

И вот дальше пошли нюансы, если просто сделать по шагам, то удалим всё или вообще ничего не изменится. Заметила в чате Всё про IFC, коллеги сталкивались с подобными вопросами.

Удаление объектов в сцене Blender не всегда удаляет соответствующие записи из IFC-проекта. В BlenderBIM (Bonsai) у IFC есть своя «память», и просто нажать DELETE в вьюпорте недостаточно.

Не знаю, правильно ли, но только таким способ я почти получила желаемый результат:

  • Выдели объект(ы), которые хочешь УДАЛИТЬ из IFC (можно множественный выбор).
  • В правой панели перейди в Scene (Properties) → Object Information (значок объекта).
-19
  • Найди панель Object Metadata
  • Нажми маленькую кнопку "Отсоединить объект" рядом с IfcWindow (рядом с классом) — это удалит привязку объекта к элементу IFC (отменит его присутствие в IFC-проекте).
-20
  • После этого можно удалить объект из сцены (X → Delete) — запись в IFC должна исчезнуть.
Примечание: если ты удалишь объект до того, как «отвязал» элемент, IFC-запись может остаться как «сирота».

Результат

По какой-то причине остались помещения и площадка. Они как-то иначе видимо чистятся. Однако элементы модели мы удалили.

-21

Основная идея

Bonsai превращает Blender в полноценный инструмент для работы с BIM и IFC, как например, FreeCAD или другие САПР-программы. Но сами разработчики отмечают, что инструмент для гиков. Поэтому если вы тоже гик, давайте разбираться вместе, как насчет запустить марафон для самообразования. Я начну, вы подхватите, будем делиться успехами освоения Blender вместе!

Приглашение на🏁 7-Day OpenBIM Kickstart Challenge

Я записалась на бесплатный Челленж по обучению основам IFC, IDS, Bonsai

Всего 7 дней и вот программа:

-22

Нюанс - видео на англ. языке

Приглашаю каждого:

BIMvoice Academy

С какими проблемами можно ещё столкнуться?

Reddit — Сердце сети