Обзорная статья, чтобы решить задачи здесь и сейчас. А в конце приглашение на челлендж, не пропусти, ведь решить задачу так и не получилось, так что давайте учиться)
Сценарии BIM-менеджера BIM-product
Для каких сценариев я использую Blender:
- Открыть файл IFC для просмотра (корректности импорта, свойств)
- Быстро создать файл с необходимым сущностями по стандарту IFC для отладки работы Larix.Manager перед выпуском релизов
- И самое главное - отредактировать IFC. Передомной часто стоит задача подготовить тестовую модельку. И если мы говорим про обычное, ненагрузочное тестирование, то порой достаточно и пары элементов.
Для каких сценариев можно использовать Blender:
- Ещё можно проверить модели, например, на соответствие IDS
- Подсчитать метрики проекта
Но это уже другая история..) К этим сценариям я не смогла перейти из-за низкой производительности.
Путь воина BIM-менеджера
1. Устанавливаем Blender. Я обновилась до 5.0.1 (в ПО пишет 5.0.0 почему-то).
Нюанс: рекомендуется устанавливать на диск С, так работает стабильнее.
Дальше можем даже не пытаться открыть файлы IFC - получите ошибку "Формат файла не поддерживается", значит, надо его поддержать, а точнее поставить надстройку для работы с IFC :)
По умолчанию можно открыть проекты в формате .blend.
2. Устанавливаем расширение Bonsai
- В Blender перейдите в Edit (Правка) -> Preferences (Настройки) -> Add-ons (Расширения).
- Нажмите на стрелочку в самом правом верхнем углу, далее Install (Установить с диска) и выберите скачанный .zip файл аддона. Разархивировать не нужно.
При повторном открытии надстройка не подхватилась, но требуется поставить галочку у Bonsai в верхнем левом углу и дальше всё будет работать бесперебойно:
Что изменилось?
Всё! Теперь возможно работать не только с внутренним форматом, а разрешено говорить на "международном языке".
Едем дальше. Видим кнопку Открыть (Open IFC), Создать (New IFC Project). Давайте откроем любую модельку. И попробуем пошалить ее отредактировать.
Магия, доступная каждому: редактирование IFC без САПР и нативных файлов
Итак, задачка: удалить все, кроме конкретного элемента.
Кейс: разбираюсь в связях IFC между элементами модели линейных объектов. Проще оставить,к примеру, 1 берму, вместо работы с условно одинаковыми бермами, но раскиданными по всей протяженного объекта.
Но не на каждой модели
У меня иногда возникают проблемы из-за того, что модельки большие и вот в правом окне появляется уведомление Large Model may clow down Bonsai/ Warning: large model. Please review advanced settings to continue. Поэтому для работы с большими моделями я использую Larix.Manager, а Bonsai исключительно для внесения правок и экспорта откорректированной IFC.
Я оставила 30000 элементов и мне повезло, что искомый элемент отобразился. Ошибка ушла.
Если бы элемент не отобразился, то надо посмотреть в каком классе располагается данный элемент и отфильтровать при импорте загрузку только этой категории (Filter Mode).
И как "нести" эту тяжесть? И вообще, какие модели для Blender BIM являются большими?
Ну как минимум с количеством элементов более 100к.
Я пока не разобралась. Так что читайте в следующих сериях. А пока давайте почитаем документацию. Кстати для бесплатного продукта оч классно сделано. Интересно почему заяц?
https://docs.bonsaibim.org/
Как найти элемент?
Если это какой-то непроектный элемент, и вы знаете, где его искать - задача простая, можно даже не разбираться в стандарте IFC, сразу найти в окне визуализации нужное. А вот если у вас есть только ID, то уже посложнее.
Собственно, моя ситуация, у меня вот есть только исходный ID:
- открываю IFC через блокнот
- нахожу нужный тег
- далее сразу понимаю, что это класс покрытий и нахожу GlobalId
Что здесь написано?
IFCCOVERING — это элемент покрытия (слои отделки, кровли, фасадные панели, утеплители, стяжки, облицовка и т.д.).
Разбор параметров по порядку
- '14UBEpucr8fRCwA3HrVK9k' — GlobalId
Уникальный глобальный идентификатор объекта (GUID IFC). - #18 — OwnerHistory
Ссылка на объект IFLOWNERHISTORY — информация о создателе, времени создания и ПО. - Name (параметр 3)
'Базовая крыша:Плоская без плиты, с уклонообразующим слоем:4989332' — название элемента в прикладной программе (Revit, ArchiCAD и т.п.) - Description (параметр 4) = $
Пустое значение (нет описания). - ObjectType (параметр 5)
'Базовая крыша:Плоская без плиты, с уклонообразующим слоем' — тип объекта, часто соответствует типу семейства или стилю. - #110189 — ObjectPlacement
Ссылка на IFCLocalPlacement — положение в модели (координаты, матрица трансформации). - #110839 — Representation
Ссылка на IFCPRODUCTDEFINITIONSHAPE — геометрия (тело, контуры, поверхности). - '4989332' — Tag
Обычно это ID элемента из исходной BIM-модели (элемент Revit/Archicad). - .NOTDEFINED. — PredefinedType
Тип покрытия не указан.
Возможные варианты: .ROOFING., .INSULATION., .FLOORING., .CLADDING. и др.
Фильтр по GlobalId?
Вариантов много, но нам нужен самый надежный - по уникальному идентификатору. GlobalId
Ctrl C - давайте скопируем этот элемент (Update: бесполезно)
Важно при фильтрации сохранять Заглавные буквы. К примеру, если по IfcClass, то в значении пишем не ifccovering, а IfcCovering
А как всё удалить?
ИНСАЙТ!!!!!Отключить связь с IFC (Unlink) перед удалением!!!!!!,а потом удалить сами элементы. Начнем о второго и вернемся к первому в следующем пункте.
1 способ, который не сработал
Не знаю, как все удалить быстро, но мне удобнее скопировать 1 файл и экспортнуть в IFC отдельно.
Затем откроем чистый проект и через contr V вставим. А далее сохраняем файл, как новый IFC.
И шалость не удалась - при сохранении нулевой файл, а в самом интерфейсе явно что-то сломала. Хотя сохранила всю структура проект-площадка-здание.
Если вы знаете, как это донастроить - напишите, пожалуйста, в комментарии или в телеграм @nastenkabimcake
2 способ через инвертирование выделения- должен был сработать
- Выдели элемент, который нужно оставить
- Нажми Ctrl+I — это Inverse Selection, инвертировать выделение.
- Нажми X → Delete.
- Останутся только нужные объекты.
Но на этом действии у меня Blender перестал отвечать...(
Хорошо, а вообще может это не работает?
Подтверждение гипотезы на маленьком примере
Проверяю на маленькой модели. Беру модель с офиц. сайта https://docs-unstable.bonsaibim.org/quickstart/explore_model.html
Оставим только окно с GlobalID = 2ACmFFQhT1Ouf0x4YRUh9m
Найдем этот элемент в Blender:
Нашли, оставляем его выделенным, и инвертируем все остальное Ctrl+I
И вот дальше пошли нюансы, если просто сделать по шагам, то удалим всё или вообще ничего не изменится. Заметила в чате Всё про IFC, коллеги сталкивались с подобными вопросами.
Удаление объектов в сцене Blender не всегда удаляет соответствующие записи из IFC-проекта. В BlenderBIM (Bonsai) у IFC есть своя «память», и просто нажать DELETE в вьюпорте недостаточно.
Не знаю, правильно ли, но только таким способ я почти получила желаемый результат:
Отключить связь с IFC (Unlink) перед удалением
- Выдели объект(ы), которые хочешь УДАЛИТЬ из IFC (можно множественный выбор).
- В правой панели перейди в Scene (Properties) → Object Information (значок объекта).
- Найди панель Object Metadata
- Нажми маленькую кнопку "Отсоединить объект" рядом с IfcWindow (рядом с классом) — это удалит привязку объекта к элементу IFC (отменит его присутствие в IFC-проекте).
- После этого можно удалить объект из сцены (X → Delete) — запись в IFC должна исчезнуть.
Примечание: если ты удалишь объект до того, как «отвязал» элемент, IFC-запись может остаться как «сирота».
Результат
По какой-то причине остались помещения и площадка. Они как-то иначе видимо чистятся. Однако элементы модели мы удалили.
Основная идея
Bonsai превращает Blender в полноценный инструмент для работы с BIM и IFC, как например, FreeCAD или другие САПР-программы. Но сами разработчики отмечают, что инструмент для гиков. Поэтому если вы тоже гик, давайте разбираться вместе, как насчет запустить марафон для самообразования. Я начну, вы подхватите, будем делиться успехами освоения Blender вместе!
Приглашение на🏁 7-Day OpenBIM Kickstart Challenge
Я записалась на бесплатный Челленж по обучению основам IFC, IDS, Bonsai
Всего 7 дней и вот программа:
Нюанс - видео на англ. языке
Приглашаю каждого: