REVIT API. PyRevit: Как массово синхронизировать модели.
Введение
В прошлый раз мы разобрали как открывать модели:
https://dzen.ru/a/ZfAbg4vb_0qKqHTV
А теперь надо понять как это все закрывать. В идеале сделать так, чтобы появлялось окно с настройками закрытия по типу того, которое мы видим при использование кнопки синхронизации:
Значит надо придумать, чем в этот раз отрисовать форму. В Pyrevit нет возможности создавать произвольные пользовательские интерфейсы, поэтому воспользуемся еще одним модулем rpw.
https://revitpythonwrapper.readthedocs.io/en/latest/
Окно настроек синхронизации
В rpw есть возможность создавать простые произвольные формы. Посмотрим как это было реализовано у меня:
try:
components = [ui.forms.flexform.CheckBox ('sinhr', 'Синхронизироваться', default=True),
ui.forms.flexform.CheckBox ('flatting', 'Сжать', default=True),
ui.forms.flexform.CheckBox ('reloadlatest', 'Обновить до последней версии', default=True),
ui.forms.flexform.CheckBox ('relinquish_all', 'Отдать все рабочие наборы', default=True),
ui.forms.flexform.CheckBox ('closed', 'Закрыть', default=True),
ui.forms.flexform.CheckBox ('save', 'Сохранить', default=True),
ui.forms.flexform.Label («Комментарий»),
ui.forms.flexform.TextBox («comment», Text="Synchronisation from pyIN Panel»),
ui.forms.Separator (), ui.forms.Button ('Выбрать')]
form = ui.forms.FlexForm («Настройка закрытия моделей», components) form.ShowDialog ()
flatting = form.values[«flatting»]
relinquish_all = form.values[«relinquish_all»]
reloadlatest = form.values[«reloadlatest»]
closed = form.values[«closed»]