Автоматическая генерация листов в Revit из видов проекта: группировка по ADSK-параметрам, раскладка на листе, размещение спецификаций и рамки. Плагин работает в Revit 2021–2026.
- Создание листов из видов — виды группируются по паре значений «ADSK_Назначение вида» + «ADSK_Штамп Раздел проекта» (каскадный выбор в окне), для каждой группы создаётся лист на основе шаблонного листа.
- Спецификации — отдельный выбор группы «Ведомости/спецификации» (по
«ADSK_Назначение вида» у спецификаций); спецификация
X_Спецификацияразмещается на листе элементаX. - Автораскладка — виды раскладываются сеткой без зазоров и наложений (масштаб не меняется); рамка шаблона переносится под последний вид.
- Обновление листов — перераскладка видов на листах, созданных плагином (листы помечаются маркером).
- Нумерация и безопасность — автоматическая нумерация
001…, санитизация имени листа, предупреждения о видах, уже размещённых на других листах. - Настройки запоминаются — шаблонный лист, пара значений и группа спецификаций сохраняются между запусками.
- Проверка обновлений — окно About сравнивает установленную версию с последним релизом.
Вариант 1 — установщик (рекомендуется): скачайте MyProjectInRevit-Setup-<версия>.exe
с Releases и запустите.
Мастер установит плагин и создаст .addin для выбранных версий Revit
(2021–2023 или 2024–2026). Деинсталляция через «Установка и удаление программ».
Вариант 2 — вручную (ZIP): скачайте архив из Releases и скопируйте содержимое
папки нужной версии (Debug.R21 — для Revit 2021–2023, Debug.R25 — для 2024–2026)
в %APPDATA%\Autodesk\Revit\Addins\<год> (например, ...\Addins\2021).
Запустите Revit — появится вкладка MyProjectInRevit с кнопкой «Сформировать листы».
- Откройте проект, на вкладке MyProjectInRevit нажмите «Сформировать листы».
- Выберите режим («Создать новые листы» или «Обновить существующие листы плагина»), шаблонный лист, пару «Назначение вида / Штамп Раздел проекта» и группу спецификаций.
- Нажмите «Сформировать листы» — листы создаются и раскладываются автоматически. Ошибки и предупреждения показываются в отчёте.
Диагностический лог генерации:
%APPDATA%\MyProjectInRevit\logs\plugin.log.
| Конфигурация | Revit | TFM |
|---|---|---|
Debug.R25 / Release.R25 |
2024–2026 | net8.0-windows |
Debug.R21 / Release.R21 |
2021–2023 | net48 |
dotnet build src/MyProjectInRevit.App/MyProjectInRevit.App.csproj -c Debug.R25
dotnet build src/MyProjectInRevit.App/MyProjectInRevit.App.csproj -c Debug.R21
dotnet test src/MyProjectInRevit.Tests/MyProjectInRevit.Tests.csproj -c Debug.R25ВАЖНО: restore нужно делать с конфигурацией:
dotnet restore -p:Configuration=Debug.R21, иначе подтянутся чужие Revit API 2025 при сборке под 2021.
Локальный деплой в Revit: build-and-deploy.bat R21 / build-and-deploy.bat R25
(копирует сборку в %APPDATA%\Autodesk\Revit\Addins\<год>).
MyProjectInRevit/
├── src/
│ ├── MyProjectInRevit.Core/ # Домен: группировка, раскладка, нумерация (без Revit API)
│ ├── MyProjectInRevit.App/ # IExternalApplication, лента, команды, WPF-окна, провайдеры Revit
│ └── MyProjectInRevit.Tests/ # xUnit: 41 тест (группировка, раскладка, нумерация, конфликты)
├── docs/
│ ├── README.md # Индекс документации (SSOT)
│ ├── invariants.md # Жёсткие правила проекта I-01..I-08
│ ├── known-workarounds.md # Реестр workaround'ов
│ └── architecture/ # Архитектура (solution-structure, sheet-generator, dependency-rule)
├── .github/
│ ├── ISSUE_TEMPLATE/ # bug_report.yml, feature_request.yml
│ └── workflows/ # build.yml (CI), codeql.yml, stale.yml, bugfix-bot.yml
├── tools/
│ ├── release.ps1 # Релиз: bump, build, tests, ZIP, tag, GH release
│ ├── deploy.ps1 # Локальный деплой в %APPDATA%\Autodesk\Revit\Addins
│ └── bugbot.ps1 # BugFix Bot: анализ бага, AI-фикс, PR
└── AGENTS.md # Системная инструкция для AI-агентов
Подробная архитектура генератора листов — docs/architecture/sheet-generator.md.
src/MyProjectInRevit.Tests — 41 тест на чистую логику (Core не содержит Revit API,
поэтому тесты выполняются без Revit): группировка видов, прикрепление спецификаций,
раскладка без наложений, нумерация, детекция конфликтов, санитизация имён.
powershell -ExecutionPolicy Bypass -File tools\release.ps1 -MinorIncrement
powershell -ExecutionPolicy Bypass -File tools\release.ps1 -MajorIncrement
powershell -ExecutionPolicy Bypass -File tools\release.ps1 -Prerelease -Version 0.3.0Скрипт: bump версии → сборка всех конфигураций → тесты → publish → ZIP в artifacts/
→ git tag → GitHub release. История версий — CHANGELOG.md.
Автоматический анализ и фикс багов из issues (GitHub Actions + tools/bugbot.ps1):
комментарий /analyze — диагностика и план фикса, /fix — AI-генерация diff и PR.
Нужен секрет BOT_AI_API_KEY (OpenAI-совместимый API).