Хотите узнать, как визуализировать данные из Autodesk Revit, предварительно связав их с базой данных PostgreSQL, а затем визуализировать в программе Microsoft Power BI? Читайте — и всё узнаете.
1. Установка базы данных PostgreSQL
В первую очередь установим базу данных PostgreSQL, предварительно скачав установщик необходимой версии с официального сайта.
Выбираем дистрибутив для Windows x86-64 версии 15.1
Запускаем установщик и оставляем все по умолчанию, проверяем чтобы все компоненты были выбраны, особенно pgAdmin.
Немного слов о pgAdmin (узнать подробнее). Он представляет графический клиент для работы с сервером, и тем самым упрощает администрирование сервера. С его помощью можно в удобном виде создавать, удалять, редактировать базы данных и всячески управлять ими.
Возвращаемся к установки и придумываем пароль для суперпользователя "postgres" нашей базы данных, как правило используют "root", он нам потребуется для подключения к серверу. Порт оставляем "5432" по умолчанию.
1.1 Stack Builder и установка драйвера psqlODBC
После успешной установки появится окно с предложением запуска Stack Builder, программы для установки дополнительных инструментов, драйверов и т.д.
В дальнейшем он нам понадобиться как раз для установки драйвера.
Затем появится приветственное окно, где необходимо выбрать из списка "PostgreSQL 15 on port 5432" и перейти к следующему этапу, в котором мы можем выбрать дополнительные приложения для установки. Нам понадобиться драйвер "psqlODBC (64 bit)" во вкладке "Database Drivers" для соединения Revit с базой данных PostgreSQL. В следующих окнах оставляем всё как есть и переходим к установки psqlODBC.
Тут всё тоже самое - нажимаем кнопку "Next", оставляем путь по умолчанию и запускаем установку.
1.2 Запуск pgAdmin и создание базы данных
Теперь зайдем в pgAdmin, который установили ранее и создадим тестовую базу данных для последующей передачи информации об элементах из Revit.
После запуска программы, вводим ранее придуманный пароль, напомню - это "root". Слева в окне "Browser" видим уже существующую базу данных postgres, которую и будем использовать для примера.
Развернем дерево с вкладками и провалимся до таблиц, куда в дальнейшем запишутся наши данные из Revit. Соответственно, таблицы пока что пустые.
Примечание: в этой статье не будет более детального разбора pgAdmin и базы данных PostgreSQL, а только конкретный пример. Но если эта тема интересна - пишите в комментариях.
2. Настройки связи с PostgreSQL из Revit
Я буду использовать Revit 2021 английскую версию, так как в случае русской версии происходит ошибка при записи в базу данных, о ней я ещё упомяну позже. В качестве примера возьму стандартный проект, который поставляется с установкой программы.
2.1 Настройка экспорта ODBC в базу данных
Приступим к настройке экспорта OBDC в Revit. Перейдем на вкладку "File" - "Export" - "ODBC Database".
В появившемся окне - "Выбор источника данных" переходим на вкладку "Источник данных компьютера" и нажимаем кнопку "Создать". Если появилось предупреждение нажимаем "ОК" и "Далее". Выбираем установленный драйвер "PostgreSQL ODBC Driver (ANSI)" и завершаем создание нового источника данных.
Теперь необходимо произвести настройку соединения с сервером. Вводим корректное имя базы данных, пользовательское имя, пароль и т.д.
- Data Source - PostgreSQL 15
- Database - postgres
- Server - localhost
- User Name - postgres
- Port - 5432
- Password - root (ранее придуманный)
После нескольких нажатий "ОК" начнется экспорт в базу данных.
2.2 Экспорт и обзор записанных данных
Вернёмся в панель pgAdmin и убедимся, что вся информация по элементам модели передалась. Переходим в раздел "Tables" и видим 274 созданных таблицы. Они разбиты по категориям, экземплярам и типам, в которых содержаться параметры и значения элементов. Например, найдем таблицу "Walls" (данные экземпляров стен) нажмём ПКМ и выберем "View/Edit Data" / "All Rows", и увидим в ней такие параметры, как ID элемента, ID типа, площадь, объем и другие. Теперь когда мы что-то поменяем в Revit, например изменим данные или добавим новые параметры, то при следующем экспорте они перезапишутся в базе данных.
Примечание: а вот такая ошибка при экспорте происходит в русской версии Revit. Если вы знаете в чем может быть проблема - пишите в комментариях.
3. Установка Power BI и связь с базой данных PostgreSQL
В довершение всего, мы настроим связь Power BI с базой данных, чтобы визуально представить наши данные и в интерактивном режиме работать с ними.
3.1 Установка Power BI
Установить Power BI можно с официального сайта и более подробно почитать о программе, если вы вдруг про неё плохо знаете. Я использую английскую версию, вы же можете установить русскую. Сам процесс установки я пропущу, так как там всё стандартно.
3.2 Запуск Power BI и связь с базой данных
После установки и запуска программы, нам опять же необходимо связаться с нашей базой данных. Выбираем "Get data from another source" или по аналогии на русской версии.
В появившемся окне выбираем Database / PostgreSQL database
И следующим этапом, вводим значение сервера и имя базы данных:
- Server - localhost
- Database - postgres
- User name - postgres
- Password - root
Практически тоже самое, что мы вводили для связи с сервером в настройках экспорта Revit.
После чего, мы увидим окно с уже известными нам таблицами данных. Выбрав например таблицу "Walls" - правее, предварительно, отобразиться ее содержимое.
Выбираем нужные таблицы, к примеру "Walls", "WallTypes" и нажимаем загрузить.
3.3 Создание простых графиков и таблиц в Power BI
Как только мы загрузили таблицы "Walls" и "WallTypes", они отобразятся с правой стороны.
Выбираем в таблице "WallTypes" столбец "TypeName" со значениями имён типов стен. Добавим ещё значения с Площадью - "Area", Объёмом "Volume" и Длинной "Length".
Примечание: у типов стен "Exterior Curtain Wall", "Pavillion Curtain Wall" и "Storefront" нет значений Объема, так как это Витражи.
Теперь сделаем отдельно графики для разных величин. Так же выбираем "TypeName" - "Area", "TypeName" - "Length", "TypeName" - "Volume" и подбираем подходящее представление в виде диаграммы, таблицы и т.д.
После определённых настроек визуального представления, можно составлять информативные и динамические дашборды. Они послужат полезным инструментом для принятия взвешенных и правильных решений на основе достоверных данных.
4. Заключение
В статье показан довольно быстрый и простой пример связки Revit + PostgreSQL и Power BI, без углубления в детали, где каждый из этапов заслуживает отдельной, более подробной статьи. Соответственно, есть и другие вариации связи с базами данных, таких как MySQL, Microsoft Access и другие. Для более полноценной связки с БД может понадобиться плагин "Autodesk Revit DB Link", позволяющий вносить изменения в данные и их обратный импорт в проект Revit.
В завершение, для более наглядного понимания финального варианта выше, пример в формате .gif
Спасибо за внимание. Дальше — интереснее.
bimatter - with love for data.