ТИМ-ориентированная аналитика. Современные инструменты работы с даннымиСредний

Курс по программированию инструментов ТИМ-аналитики для анализа BIM-моделей в открытых форматах данных. Разработан в рамках совместного образовательного проекта с Департаментом строительства города Москвы.

Вы поймете структуру IFC-файла и научитесь получать из него информацию, напишете свои системы для получения данных, структуризации и представлении в виде графических отчетов.
Макс. длительность: 5 часов 37 минут

Аналитика ifc и xml в Python

Урок
Блоки можно проходить в любом порядке
Длительность
Минут
Делаем вводную для последующих уроков курса, связанных с разработкой. Рассматриваемым классы ifcopenshell (file, entity, guid) для работы с простым IFC-файлом, уделяем внимание методам получения IFC-сущностей (объектов) путем выборки из файла либо получения вложенных/связанных с данным объектов.
Создаем ifc файл
Длительность: 75 мин.
Описывается логика создания с нуля своего IFC-файла из «шаблона»: 1. Создаются верхнеуровневые элементы: IfcBuilding, IfcSite, IfcBuildingStorey; 2. Создаются объекты IfcWall, IfcRoof на уровне в виде геометрии SolidModel; 3. Для стены создается набор произвольных свойств — IfcPropertySet а также набор расчетных свойств — IfcQuantity. В процессе написания кода уделяется внимание отладке и устранению ошибок. Все действия выполняются по актуальной IFC спецификации (сверяются поля, которыми обладает или наследует объект класса ifcopenshell.entity.
Инструменты чтения ifc
Длительность: 40 мин.
Создаются функции для последующего использования как шаблонные под процессы получения объектных свойств, а также рассматривается процесс получения геометрии колонны в представлении Faceted Brep (дано для общего ознакомления), в курсе мы более это не используем.
Описываются приемы для чтения информации из IFC-файлов, привязанной к уровням зданий на примере получения общего строительного объема стен, отсортированного по уровням файла. Здесь же знакомимся с уровням файла IFC – объектами класса IfcBuildingStorey. В качестве второго примера — рассматриваем логику работы с файловой системой на примере чтения нескольких IFC файлов из папки и получением по ним метрик.
Работа с xml
Длительность: 12 мин.
Описание логики работы с xml-файлами (на примере анализа Landxml) в Python при помощи класса xml.etree.ElementTree. Вводим понятие элементов xml-файла и их дочерних объектов и атрибутов. Также касаемся термина «пространство имен» xmlns. Из файла получаем наименование поверхностей и атрибуты поверхности в виде словаря.
Обработка инженерных сетей в landxml
Длительность: 37 мин.
Данное видео частично связано с блоком 4 (Postgresql), так как в процессе чтения файла мы формируем геометрическое представление объектов примитивами Postgis. Рекомендуется смотреть после блока 4.
Описание процесса получения данных об инженерных сетях (свойства и геометрия) и геометрии поверхности из файла landxml. Уделяем внимание логике взаимосвязи параметров в файле (связи Труб и Колодцев). Записываем полученные данные в табличный вид, в локальные текстовые файла для последующего использования в блоке 4 (https://bim.vc/edu/courses/tim-orientirovannaya-analitika-sovremennye-instrumenty-raboty-s-dannymi/p....