Skip to content

Repository files navigation

MyProjectInRevit

Автоматическая генерация листов в Revit из видов проекта: группировка по ADSK-параметрам, раскладка на листе, размещение спецификаций и рамки. Плагин работает в Revit 2021–2026.

Release Build Tests License Revit

Возможности

  • Создание листов из видов — виды группируются по паре значений «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 с кнопкой «Сформировать листы».

Использование

  1. Откройте проект, на вкладке MyProjectInRevit нажмите «Сформировать листы».
  2. Выберите режим («Создать новые листы» или «Обновить существующие листы плагина»), шаблонный лист, пару «Назначение вида / Штамп Раздел проекта» и группу спецификаций.
  3. Нажмите «Сформировать листы» — листы создаются и раскладываются автоматически. Ошибки и предупреждения показываются в отчёте.

Диагностический лог генерации: %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.

BugFix Bot

Автоматический анализ и фикс багов из issues (GitHub Actions + tools/bugbot.ps1): комментарий /analyze — диагностика и план фикса, /fix — AI-генерация diff и PR. Нужен секрет BOT_AI_API_KEY (OpenAI-совместимый API).

Лицензия

MIT

About

Revit plugin: sheet generator from views

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages