Найти в Дзене

pyRevit. Он вам не просто плагин

Оглавление

Ссылки

Мой ТГ, чтобы не пропустить ничего.

pyRevit | BIM. Илья Нистратов

А тут собраны остальные статьи по пай

pyRevit | Первые шаги | pyRevit | BIM. Илья Нистратов | Дзен

Введение

Многие посты про pyRevit (далее «пай») просто говорят, что есть такой плагин и там есть полезные кнопки. Это в целом правда, но это лишь верхушка айсберга.

-2

Давайте попробуем разобраться что он еще умеет

Добавление своих кнопок

Для того что бы на панели Ревита появилась твоя личная вкладка достаточно в папку extension по пути поместить следующую структуру

—Extension

——МоеРасширение.extension

———МоеНазваниеВкладки.tab

————ИмяМоейПанели.panel

—————ИмяМоейКнопки.pushbutton

——————script.py

——————icon.png

-3

Перезагружаем панель (ПАНЕЛЬ, НЕ РЕВИТ!) и вуаля наша кнопка отобразилась.

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

Я специально пометил белым .extension, .tab и прочее, пай ищет эти указатели чтобы правильно сформировать структуру.

А теперь мы можем открывать файл script.py и удобно писать код. После чего активировать кнопку на панели и сразу проверять как оно работает. Это безумно удобно! Кстати, окно, используемое в пай для вывода информации, (принты текста, ошибки, таблицы и прочее) в случае ошибки указывает строчку на которой она произошла.

В более всем знакомом RevitPythonShell такой функции нет, и очень сложно было отлавливать ошибки.

Ко всему прочему кнопки могут быть разные и по разному расположены: условно если мы нашу кнопку MyButton.pushbutton поместим в папку папка.stack то сможем по другому сформировывать панель. Или можно сменить тип кнопки .smartbutton .pulldown .urlbutton

Читаем тут.

pyRevit Bundles | Notion

Пример построения структуры папок и их наименования в вкладке pyRevit
Пример построения структуры папок и их наименования в вкладке pyRevit

Все добавляется и удаляется без потребности перезапускать ревит. Просто нажимаем Reload на вкладке pyRevit.

Готовые интерфейсы и формы

Заботливые разработчики пай поместили кучу готовых форм как для ввода, вывода информации так и ее визуализацию

Effective Output | Notion
Effective Input | Notion
Visualizing Data | Notion

А если нам станет мало заготовок, можем подключить к нашим скриптам .xmal и отрисовывать пользовательские интерфейсы.