Приложение «Связь параметров»

Предлагаю оценить моё первое более-менее серьезное приложение для Revit.
Предназначено для автоматической передачи значения параметра от одного элемента к другому (либо в одном элементе — от одного параметра в другой). Процесс работает в фоновом режиме, срабатывает сразу после изменения элемента. Дополнительные связи добавляются через диалоговое окно.
Видео:

Это старая версия приложения, обновление тут.
Для чего можно использовать приложение? Можно много чего придумать:

  • Передача в семейство узла информации о размерах балки и колонны;
  • Передача в семейство «лягушки» информации о площади плиты;
  • Передача для трубы значения системного параметра «Смещение от уровня» в общий параметр «Рзм.СмещениеОтУровня»;
  • Передача в отделочную стену номера помещения, и т.д.

Если придумаете еще интересные способы использования приложения — делитесь в  комментариях!
Скачать архив — яндекс-диск, гугл-диск. Установочные файлы я пока делать не умею, так что просто распакуйте архив в  C:ProgramDataAutodeskRevitAddins2015
Кнопки появятся на новой вкладке на ленте «Weandrevit»:

В 2017 почему-то не срабатывает IUpdater, но в 2014-2016 работает нормально.
Больше информации — дальше в статье.


Поддерживаемые категории элементов: все загружаемые семейства, стены, перекрытия, помещения, трубы, воздуховоды.
Поддерживаемые типы параметров: текст, число, длина, площадь и т.д.; также должны работать любые другие параметры.
Список связей сохраняется в txt-файл рядом с файлом проекта. При открытии проекта приложение считывает этот файл автоматически. Также этот txt-файл может использоваться для пакетного добавления связей. Синтаксис строки файла:
ID исходного элемента;Имя исходного параметра;ID связанного элемента;Имя связанного параметра


При помощи кнопки «Show links» можно посмотреть связи, активные в данном документе:

LinkView — экспериментальная функция, при создании элементов передает в эти элементы информацию о виде, в котором они созданы (например, план в комплекте КЖ2, в создаваемые на этом плане стены сразу передается КЖ2). Тоже попробуйте.

Планируемые улучшения:

  • Конвертирование текст-число
  • Обработка события закрытия документа без сохранения (сейчас запись в txt-файле сохраняется, даже если документ закрыт без сохранения)
  • Считывание значений из параметров типа (сейчас только из параметров экземпляра)
  • Добавление связей для нескольких элементов одновременно
  • Добавление в базу информации о последнем значении параметра (чтобы скрипт не срабатывал, если значение параметра не изменилось);
  • Формулы для параметров
  • При добавлении связи — проверка, не связан ли данный параметр с другим элементом
  • Удаление ссылок при удалении элементов
Приложение распространяется абсолютно свободно, можете применять для любых целей. Если интересно — выложу исходники, оцените мой индусский код :)

Такие дела.

P.S. Если вылезает ошибка при запуске — возможно, Windows заблокировала стороннюю dll. Зайдите в свойства файла «TransferParameters.dll» и нажмите «Разблокировать», как на картинке: