ADN Open CIS
Сообщество программистов Autodesk в СНГ

10/08/2014

Обновление файлов семейств без отображения диалога

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

Есть ли способ загрузить семейства в тихом режиме, т.е. без отображения каких-либо диалогов? Я хочу, чтоб семейство все-таки обновилось, но без предупреждений. Либо чтобы это предупреждение появлялось только один раз.

Если это все же невозможно, то может быть можно узнать, требует ли файл семейства обновления или нет?

Ответ: Спасибо за довольно интересный и актуальный вопрос.

Я могу предложить два совершенно противоположных решения:

  1. Поискать в Google Revit file updater. Поиск возвращает большое количество результатов. Программа по обновлению файлов была написана нами, командой ADN, и она распространяется также в виде исходного кода в качестве инструмента для обучения.
  2. Обработать событие отображения сообщений, таким образом, чтобы пользователь их никогда не увидел. Для этого можно использовать одну из технологий, которые описаны здесь (на англ.)Failure API, DialogBoxShowing event, Windows API.

Что касается вашего последнего вопроса, то это также возможно.  Можно определить версию Revit, в который был сохранен файл.

Для этого можно воспользоваться либо классом BasicFileInfo, либо неофициальным способом с помощью извлечения и парсинга нужной вам информации из файла RVT из Structured Storage.

Источник: http://thebuildingcoder.typepad.com/blog/2014/07/upgrading-family-files-silently.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=902

Опубликовано 10.08.2014
Отредактировано 11.08.2014 в 08:43:41