Skip to content

About

Плагин для Autodesk Revit 2021–2025: автоматизация выпуска документации по сборкам.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Repository files navigation

Assembling Manager

C#-плагин для Autodesk Revit 2021–2025, автоматизирующий полный цикл выпуска документации по сборкам (AssemblyInstance): от создания видов и спецификаций до листов, позиций и марок.

Revit 2021–2025 Версия Скачивания Лицензия

Вкладка Assembling Manager на ленте Revit: панели «Настройки», «Сборки», «Листы», «Оформление», «Трубы»

Установка · Быстрый старт · Возможности · Releases · Сообщить о проблеме

Быстрый старт

  1. Скачайте AssemblingManager-<версия>-setup.exe со страницы Releases и запустите.
  2. Откройте Revit — на ленте появится вкладка Assembling Manager (панели «Сборки», «Листы», «Оформление», «Трубы», «Настройки»).
  3. Нажмите «Сформировать виды» — плагин создаст по каждой сборке план, четыре разреза, 3D-вид и сборочную спецификацию.

Главное окно «Сформировать виды»: параметр фильтра, виды, шаблоны и мастер-спецификация
Главное окно: параметр фильтра, набор видов, шаблоны и мастер-спецификация

Возможности

📐 Сформировать виды

Основной модуль. По каждой сборке модели создаёт комплект видов: план, четыре разреза (фронт, тыл, слева, справа) и 3D-вид, плюс сборочные спецификации (дубликаты мастер-спецификации с фильтром по имени сборки).

Как это работает:

  1. Видимые элементы сборки определяются по параметру AssemblyParameter (или существующему ADSK_Группирование) — на видах остаётся только «своё», посторонние элементы скрываются фильтрами. Категории параметра и фильтров формируются из категорий элементов всех сборок.
  2. Вложенные общие семейства обрабатываются рекурсивно.
  3. Границы видов вычисляются по габариту элементов сборки (обрезка плана, рамки разрезов); 3D-виды автоматически запираются и создаются без границ 3D-вида — видимость на 3D управляется фильтром, а не обрезкой.
  4. Применяются выбранные шаблоны видов (план / разрезы / 3D / спецификация).
  5. Настройки главного окна запоминаются в проекте: после первого нажатия «Сформировать» окно при следующих запусках открывается с тем же выбором видов, шаблонов и типов.

Если виды уже существуют, открывается окно конфликтов с выбором действия для каждого вида:

  • Оставить как есть — вид не трогается вообще: ни геометрия, ни значения параметра, ни фильтры этой сборки не проверяются;
  • Обновить — геометрия вида (обрезки рамок, развороты разрезов, секущий бокс 3D) и оформление проектировщика не меняются. Плагин записывает значение параметра только элементам сборки с пустым или устаревшим значением (например, в сборку добавились новые элементы) и при необходимости обновляет фильтры и привязку параметра;
  • Заменить — вид удаляется и создаётся заново по шаблону.

Спецификации при «Обновлении» не пересоздаются — их поля и форматирование сохраняются. Все операции выполняются в одной транзакции: при ошибке ничего не меняется.

Свои разрезы: если создать разрез вручную и назвать его, начав с имени сборки и подчёркивания (например, «Трубопровод 1.9_Узел А»), плагин считает его разрезом этой сборки — модули «Проставить позиции», «Ближайшие оси» и «Оси трубопроводов» обрабатывают его наравне со своими разрезами.

✏️ Переименовать виды

Переименовали сборку вручную? Один клик находит все несоответствия и приводит их к текущему имени сборки: имена видов и спецификаций, имена своих пользовательских разрезов (с префиксом имени сборки), значения параметра AssemblyParameter на элементах — включая «существующие» элементы вне сборки, фильтры видов и фильтры спецификаций. Новый фильтр назначается и пользовательским разрезам сборки. Перед применением показывает список переименований, после — отчёт.

➕ Добавить существующее

Существующие элементы (стадия «Существующее») нельзя включить в сборку, но им нужно значение параметра, чтобы они попадали на виды сборки и под её фильтр. Раньше его вписывали вручную — у каждого элемента и у каждого вложенного семейства. Теперь это один прогон:

  1. Выбираете элементы рамкой или через Ctrl и жмёте «Готово».
  2. В окне выбираете параметр (AssemblyParameter или существующий ADSK_Группирование) и одну сборку из списка.
  3. Плагин записывает имя выбранной сборки в параметр выбранным элементам и их вложенным семействам (рекурсивно).
  4. Категории параметра и фильтров формируются из сборок: если категория выбранного элемента не встречается ни в одной сборке, элемент пропускается с предупреждением — в сводке указаны пропущенные категории.
  5. Если у части элементов параметр уже заполнен — плагин предупредит о перезаписи; после выполнения показывает сводку.

📄 Разместить на листах

Выбираете лист-образец и группу видов — плагин копирует лист для каждого объекта группы и размещает на нём виды сборок (два режима раскладки: компактный и по сетке). Виды, которые не удалось разместить, попадают на сигнальный лист «(не размещенное)» — по нему видно, что вы забыли разместить или удалить.

🗂 Сортировка листов

Приводит листы выбранной группы к порядку по именам сборок:

  • имена листов приводятся к именам сборок;
  • перенумерация с естественным порядком чисел («Лист 2» раньше «Листа 10»);
  • удаление пустых листов;
  • опциональное удаление сигнальных листов «(не размещенное)» вместе с плагиновыми видами и спецификациями на них (посторонние виды сохраняются с предупреждением);
  • скорость: листы с уже верными номерами не перезаписываются, а занятость проверяется только у листов, которые нужно изменить;
  • в отчёте явно указано, что именно сломалось — нумерация, сортировка по имени или и то и другое — и сколько листов уже имели актуальные номера;
  • отчёт с фактическими счётчиками и предупреждениями о занятых другими пользователями элементах.

🔢 Проставить позиции

  • Нумерация позиций по строкам выбранных спецификаций: диапазон номеров, сортировка по имени сборки, пропуск строк по ключевым словам. Порядок позиций точно совпадает с порядком строк спецификации — числа внутри текста («Труба о89» против «Труба о108», «DN80» против «DN200») сравниваются как числа, как в Revit.
  • Марки позиций на планах и разрезах (включая ваши дополнительные разрезы) с выносками, примыкающими к краю полки, настраиваемыми смещениями и автоподбором свободных мест (пресеты маркировки сохраняются).
  • Режим «Только позиции» — проставить номера без размещения марок.
  • Объединение спецификаций: при сквозной нумерации нескольких спецификаций их куски подписываются именами сборок и соединяются в одну таблицу на листе.

🧭 Ближайшие оси

На планах и разрезах выбранных сборок, где видна только одна ось, ставит маркер «Ближайшие оси — марка» с именами соседних осей. Сборки выбираются в окне с поиском, радиус кружка и рабочий набор осей настраиваются; пресеты сохраняются между запусками.

🧵 Оси трубопроводов

В дисциплине вида «Координация» Revit не показывает оси труб, а в MEP-дисциплинах все элементы теряют скрытие линий и просвечивают. Модуль рисует осевые линии трубопроводов аннотационными линиями на планах и разрезах выбранных сборок — дисциплина вида не меняется:

  1. Выбираете сборки (мультивыбор с поиском, «Выбрать всё») и любой существующий стиль линий проекта — стиль служит меткой линий плагина.
  2. «Нанести оси»: в каждом виде сборки удаляются старые линии выбранного стиля и строятся заново по текущим трубам.
  3. Обрезка перекрытых участков: труба за отводом или фитингом получает ось только на видимых кусках (проверка перекрытий лучами; чекбокс «Пропускать перекрытые участки», по умолчанию включён).
  4. «Удалить оси» убирает линии выбранного стиля в видах выбранных сборок.
  5. Пресет (сборки, стиль, чекбокс) сохраняется в проекте.

Оси статичны: после сдвига трубы повторите «Нанести оси» — линии обновятся, дублей не будет. Вертикальные стояки на планах и трубы вдоль взгляда на разрезах пропускаются (слишком короткая проекция) со счётчиком в отчёте.

📏 Сортаменты труб

В группе Трубы модуль Сортаменты показывает все каталоги размеров (PipeSegment) активного документа. Для выбранного сегмента можно открыть отдельный диалог добавления нового номинального диаметра, изменить наружный диаметр и толщину стенки существующего размера или удалить неиспользуемый размер. Внутренний диаметр рассчитывается автоматически; номинальный диаметр в таблице только для чтения.

Если изменяется любой размер, модуль сначала пытается скопировать исходный сегмент с сохранением материала. Если Revit дублирует материал, копирование откатывается и создаётся замена с исходным материалом и новой Спецификацией/Типом; для сегментов без материала используется только копирование. Затем переносятся все трубы активного документа, обновляются Routing Preferences и удаляется старый сегмент. Изменения нескольких сегментов сохраняются при переключении и применяются одной операцией; успешный отчёт содержит только общие количества изменённых сегментов и размеров, без деталей и предупреждений.

⚙️ Настройки и обновления

Кнопка «Настройки» показывает текущую версию плагина, проверяет обновления на GitHub и показывает «что нового». Обновление скачивается и применяется автоматически после закрытия Revit.

Работа в файл-хранилище

Плагин рассчитан на совместную работу в workshared-моделях:

  • занятые другими пользователями элементы не срывают прогон: операции проверяют занятость, пропускают чужое и подробно отчитываются (кто держит элемент, что не удалено/не перенумеровано);
  • фильтры видов переиспользуются, а не пересоздаются — виды, с которыми работают коллеги, не теряют настройки;
  • всё, что не удалось сделать из-за занятости, видно в отчётах и в логе; детали — в файле лога в %APPDATA%\Autodesk\Revit\Addins\AssemblingManager\Logs.

Установка

Способ 1 — инсталлятор (рекомендуется): скачайте AssemblingManager-<версия>-setup.exe со страницы Releases, запустите — установщик сам найдёт установленные версии Revit (2021–2025) и зарегистрирует плагин.

Способ 2 — zip вручную: скачайте AssemblingManager-R<XX>.zip для вашей версии Revit и распакуйте содержимое в %APPDATA%\Autodesk\Revit\Addins\<Год>\, либо следуйте инструкции внутри архива.

Способ 3 — из исходников: см. раздел «Сборка» ниже и скрипт build-and-deploy.bat.

Обновление из Revit

Откройте Assembling Manager → Настройки → Проверить обновления. Плагин сверится с последним GitHub-релизом, покажет «что нового» и предложит скачать установку; обновление применится после закрытия Revit.

Требования

  • Autodesk Revit 2021 / 2022 / 2023 / 2024 / 2025
  • Windows 10/11 x64
  • .NET SDK 8.0 — только для сборки из исходников.

Сборка

Плагин ссылается на API Revit через NuGet-пакеты Nice3point.Revit.Api.*, поэтому локально установленный Revit для сборки не требуется.

dotnet build build\AssemblingManager.sln -c Debug.R21

Конфигурации: Debug.R21 … Debug.R25 (и соответствующие Release.*). Выходные файлы — в bin\<Конфигурация>\<Год>\.

Скрипт build-and-deploy.bat собирает все версии и устанавливает их в Revit (DLL в %APPDATA%\AssemblingManager\<Год>\, манифесты .addin в %APPDATA%\Autodesk\Revit\Addins\<Год>\). Установленные версии Revit, отсутствующие на машине, пропускаются.

Выпуск релиза: запустите tools\release.bat (нужны GitHub CLI с авторизацией и Inno Setup 6) — он соберёт все конфигурации, упакует zip-архивы и инсталлятор, опубликует GitHub Release по версии из Version.txt.

Структура проекта

assembling-manager
├── src/
│   ├── AssemblingManager.Core/        # Общие модели, константы, утилиты
│   ├── AssemblingManager.Revit/       # Точка входа, команды, сервисы, UI
│   └── AssemblingManager.Updater/     # Консольный применитель обновлений
├── build/AssemblingManager.sln        # Решение Visual Studio
├── addins/                            # Манифесты .addin для каждой версии Revit
├── DOCS/                              # Планы фич (realized / in-progress / future)
│   └── images/                        # Скриншоты для README
├── tools/                             # Релизный конвейер и инсталлятор
├── build-and-deploy.bat               # Сборка и установка в Revit
└── Version.txt                        # Версия плагина (единый источник)

Отладка

  1. Запустите build-and-deploy.bat.
  2. Запустите Revit и любую команду плагина с вкладки Assembling Manager.
  3. В Visual Studio выберите Debug → Attach to Process и подключитесь к Revit.exe.

Лог работы плагина пишется в %APPDATA%\Autodesk\Revit\Addins\AssemblingManager\Logs\.

Важно

  • RevitAPI.dll и RevitAPIUI.dll не входят в репозиторий — приходят через NuGet.
  • AddInId в манифестах задан уникальным GUID. При конфликте с другим плагином замените его.

Обратная связь

Нашли ошибку или есть идея? Создайте issue — приложите версию Revit, версию плагина и фрагмент лога из %APPDATA%\Autodesk\Revit\Addins\AssemblingManager\Logs.

Лицензия

Исходный код распространяется по лицензии MIT: можно использовать, изменять и распространять при сохранении копирайта. Собранный плагин публикуется под VendorId автора — если делаете свою сборку, замените VendorId и VendorDescription в addins/20XX/AssemblingManager.addin, чтобы не путать пользователей с обновлениями.

About

Плагин для Autodesk Revit 2021–2025: автоматизация выпуска документации по сборкам.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages