Отладка плагинов Revit – это важный этап разработки, который позволяет избежать неожиданных ошибок. Однако стандартный запуск Revit с плагином может быть неудобным: долгое ожидание загрузки, сложность тестирования, невозможность быстро анализировать переменные. В этой статье мы рассмотрим, как настроить удобную отладку, чтобы ускорить процесс разработки.
Краткая инструкция
Шаг 1: Создаём проект в Visual Studio
1) Необходимо запустить Visual Studio и создать новый проект

2) Создать проект на основе шаблона консольного приложения под .Net Framework

3) Задать имя проекту и указать необходимую версию .Net Framework

Шаг 2: Подключаем Revit API
1) Через контекстное меню у проекта перейти в менеджер пакетов Nuget

2) После в поиске необходимо найти Nuget пакет Revit_All_Main_Versions выбрать и установить необходимую версию под вашу версию Revit
Шаг 3: Настраиваем отладку в Visual Studio
1) Теперь необходимо создать класс приложения, для этого необходимо реализовать интерфейс IExternalApplication.

2) К проекту необходимо добавить два файла, которые можно найти в github репозитории “Runner.txt” и “BimExamples.addin”

3) “BimExamples.addin” данный файл необходим Revit для того, чтобы узнать путь до вашей сборки, а также полный путь в пространстве имен до вашего класса, реализующего интерфейс IExternalApplication. В этом файле необходимо задать имя плагина, путь до dll, можно как абсолютный, так и относительный путь указать, id плагина, после идет полный путь сквозь пространство имен до класса.

4) Оба этих файла (“Runner.txt” и “BimExamples.addin”) можно исключить из проекта, чтобы они в диспетчере не отображались, и не мешали взгляду

5) На текущий момент можно перейти к свойствам проекта и настроить их

6) В событиях перед сборкой необходимо указать эти строки для того, чтобы файлы “Runner.txt” и “BimExamples.addin” копировались выходной каталог, где будет лежать dll после сборки проекта
copy "$(ProjectDir)BimExamples.addin" "$(TargetDir)"
copy "$(ProjectDir)Runner.txt" "$(TargetDir)"
7) В событиях после сборки необходимо указать эту строку, чтобы мусор создаваемый Revit удалялся
for %%f in ("$(TargetDir)*journal*.*") do del "%%f"
8) В итоге мы должны увидеть следующий результат

9) На панели отладки мы должны указать путь до Revit.exe, а в аргумент командной строки передать Revit журнал (в контексте статьи это файл “Runner.txt”)

Шаг 4: Запуск Revit в режиме отладки
1) В результате проведенной работы на текущий момент можно нажимать на кнопку play и Revit запустится с нашим плагином в режиме отладки.

Для теста рекомендую поставить точку остановы в данном месте и нажать кнопку “Start”

2) Далее с помощью данных клавишь мы можем перезапускать Revit и пошагово проходить по строкам кода. А если в режиме отладки есть необходимость внести изменения, то необходимо использовать горячую перезагрузку (иконка огонька)

3) В результате проходясь по строкам кода мы видим значения переменных

Еще одним вариантом запуска плагинов может послужить готовый шаблон проекта.
Теперь ваш Revit-плагин можно запускать в режиме отладки прямо из Visual Studio. Это ускоряет разработку, помогает анализировать переменные и делает разработку комфортнее. Если у вас есть вопросы или вы знаете иные варианты запуска — оставляйте комментарии!
Автор: erikgett