Найти в Дзене

Создание плагина для Revit

Использование Revit без плагинов представить сложно, так как плагины помогают заполнять необходимые параметры, создавать отверстия, создавать необходимые элементы ( внутренняя отделка стен). Короче, экономит уйму времени. Возможности исскусственного интелекта помогают нам быстрее писать код, поэтому в этой статье опишу, как быстро создать и добавить плагин к себе в Revit. Код для плагина возможно писать с помощью Visual Studio code, Visual Studio или других IDE. Каждый выбирает то, что им нравится, я остановился на Visual Studio: понятный интерфейс, встроенная нейросеть GitHub Copilot, которая помогает дописывать код. В большинстве случаев используется язык C# для написания кода. Из плюсов выделяют следующее: Также рекомендую You-tude канал (кликабельно) для изучения языка. Шаблоны для написания кода Для облегчения взаимодействия кода с Revit используются преднастроенные шаблоны для Visual Studio. Nice3point является готовой коллекцией шаблонов и инструментов для разработки плагин
Оглавление

Использование Revit без плагинов представить сложно, так как плагины помогают заполнять необходимые параметры, создавать отверстия, создавать необходимые элементы ( внутренняя отделка стен). Короче, экономит уйму времени.

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

Инструменты для написания кода плагина

Код для плагина возможно писать с помощью Visual Studio code, Visual Studio или других IDE. Каждый выбирает то, что им нравится, я остановился на Visual Studio: понятный интерфейс, встроенная нейросеть GitHub Copilot, которая помогает дописывать код.

Язык для написания кода плагина

В большинстве случаев используется язык C# для написания кода. Из плюсов выделяют следующее:

  • Высокая производительность, так как C# является компилируемым (машиночитаемым) языком
  • Полный доступ к функциям .NET Framework и Revit API
  • Более строгая типизация, что может облегчить отладку и обнаружение ошибок на этапе компиляции ( сборки).

Также рекомендую You-tude канал (кликабельно) для изучения языка.

Шаги для написания кода

Шаблоны для написания кода

Для облегчения взаимодействия кода с Revit используются преднастроенные шаблоны для Visual Studio.

Nice3point является готовой коллекцией шаблонов и инструментов для разработки плагинов к программе Revit. Для создания плагина этот шаблон хорошо себя зарекомендовал, однако данные шаблоны используют NuGet пакеты, которые у меня ( возможно не только ) не всегда корректно работают.

Поэтому в данной статье покажу, как создавать код вручную.

Создание плагина

1) Заходим в Visual Studio (Обязательно необходимо проверить, что у вас установлено последнее обновления в программе «Visual Studio installer») и нажимаем "Create new project".

2) В поиске вбиваем "Библиотека классов" и выбираем.

-2

3) Называете свой проект понятно и кратко, чтобы потом самому найти. Выбирайте также расположение, которое точно найдете)

-3

4) Доп информация: Тип приложения (Add - in type) : Application.

Далее как на скрине

-4

5) Откроется проект, пора создавать!

Что находится внутри проекта

1) Solution explorer

Показывает, что у вас есть в проекте ( как диспетчер проекта в Revit)

-5

2) Dependencies ( Зависимости)

Это внешние библиотеки проекта. Для работы с Revit API нам необходима библиотка Revit API, соответственно.

3) Подключение Revit API

Чтобы Revit «понял», что мы пишем именно для него, нам нужно добавить две главные библиотеки: RevitAPI.dll и RevitAPIUI.dll.

  • Нажимаем правой кнопкой мыши на Dependencies (или References) → Add Reference...
  • Нажимаем Browse и идем по пути установки вашего Revit (обычно это C:\Program Files\Autodesk\Revit 20xx).
  • Ищем там эти два файла и добавляем их.
  • Важный нюанс: в свойствах этих библиотек в Visual Studio обязательно поставьте Copy Local: False. Revit сам загрузит эти библиотеки при запуске, нам не нужно «тащить» их с собой в плагин.

4) Код для пакетного экспорта файлов (.rvt → .nwc)

Здесь мы подключим ИИ - дадим промпт, чтобы она написала код.

PS. Необходимо указывать версию Revit, а также все детали, которые вас интересуют. Чем больше деталей - тем лучше. Для разных версий Revit существует множество нюансов, о которых в одной статье не рассказать.

5) Сборка проекта (Создание .dll файла)

После того как код написан, нам нужно скомпилировать его в файл библиотеки, который Revit сможет прочитать.

  1. В верхней панели Visual Studio выберите конфигурацию Release (это сделает плагин быстрее и «чище», чем в режиме Debug).
  2. Нажмите правой кнопкой мыши на название вашего проекта в Solution Explorer и выберите Build (Собрать).
  3. Если всё сделано правильно, в нижней панели (Output) вы увидите заветную надпись: Build: 1 succeeded.

Где искать результат?
Зайдите в папку вашего проекта через проводник: Ваш_проект \ bin \ Release. Там появится файл с расширением
.dll (например, MyFirstPlugin.dll). Это и есть «тело» вашего плагина.

6) Создание манифеста (.addin файл)

Revit не умеет искать .dll файлы сам по себе. Ему нужен «указатель» — специальный текстовый файл с расширением .addin, который скажет программе: «Вот плагин, он лежит тут, и его нужно запустить вот так».

Создайте обычный текстовый файл в Блокноте и вставьте в него этот текст:

<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
<AddIn Type="Command">
<Name>Batch Export NWC</Name>
<Assembly>ПУТЬ_К_ВАШЕМУ_ФАЙЛУ_DLL</Assembly>
<AddInId>12345678-1234-1234-1234-1234567890AB</AddInId>
<FullClassName>BatchExportFilesNWC</FullClassName>
<VendorId>MyPlugin</VendorId>
<Text>Пакетный экспорт в NWC</Text>
</AddIn>
</RevitAddIns>

Что здесь важно заменить:

  • Assembly: Полный путь к вашему .dll файлу из Шага 5.
  • FullClassName: Точное название класса из кода (в нашем примере это BatchExportFilesNWC).
  • AddInId: Это уникальный идентификатор (GUID). Его можно сгенерировать онлайн (просто вбейте в поиске "GUID generator") или в Visual Studio через Tools -> Create GUID. Он должен быть уникальным для каждого плагина.

Сохраните этот файл под любым именем, но обязательно с расширением .addin (например, ExportNWC.addin).

7) Подключение к Revit

Теперь нам нужно положить наш «указатель» в ту папку, куда Revit заглядывает при каждом запуске.

Скопируйте ваш .addin файл в одну из следующих папок (зависит от версии Revit):

  • Для всех пользователей: C:\ProgramData\Autodesk\Revit\Addins\2024
  • Только для вас (рекомендуется): %AppData%\Autodesk\Revit\Addins\2024 (просто вставьте этот путь в адресную строку проводника).

.dll файл может оставаться в папке проекта, так как мы указали прямой путь к нему в манифесте.

8) Запуск и тестирование

  1. Запустите Revit. При загрузке появится окно безопасности: "Разработчик этого внешнего приложения не определен...".
  2. Нажмите "Всегда загружать" (Always Load). Это стандартная процедура для самописных плагинов без цифровой подписи.
  3. Откройте любой проект.
  4. Перейдите на вкладку "Надстройки" (Add-ins) -> панель "Внешние инструменты" (External Tools).
  5. Там вы увидите вашу кнопку с названием, которое мы указали в поле <Text> манифеста.

Заключение

Поздравляю! Вы только что прошли путь от пустой страницы в Visual Studio до автоматизации реальной рабочей задачи.