Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CL Design

CL Design - плагин Autodesk Revit для автоматизации рутинных BIM-задач в проектах электрики и слаботочных систем.

Возможности

  • Закрепление связанных моделей, уровней и осей.
  • Проверка и изменение рабочих наборов связанных моделей.
  • Создание цепочек размеров между осями на планах.
  • Создание листов и размещение ведомостей на листах.
  • Настройка ширины столбцов спецификаций и кабельных журналов.
  • Размещение помещений из связанной архитектурной модели.
  • Размещение кабельных проходок по коробам и стенам из связанной модели.
  • Создание электрических цепей для выбранного оборудования.
  • Обмен заданиями между смежными инженерными разделами.
  • Расчет длины труб по кабельным трассам в коробах.

Стек

  • C#
  • .NET Framework 4.8
  • Autodesk Revit API
  • WPF
  • Prism
  • EPPlus
  • NLog
  • WixSharp

Требования

  • Windows
  • Visual Studio 2022
  • Autodesk Revit 2023 или другая установленная версия Revit для сборки против ее API
  • .NET Framework 4.8 Developer Pack

Проект ссылается на RevitAPI.dll и RevitAPIUI.dll из локальной установки Revit. Для настройки локальных путей используется файл Directory.Build.props.

Локальная настройка

  1. Скопируйте Directory.Build.props.example в Directory.Build.props.
  2. Укажите версию Revit и путь к установленному Revit:
<Project>
  <PropertyGroup>
    <RevitVersion>2023</RevitVersion>
    <RevitInstallDir>C:\Program Files\Autodesk\Revit $(RevitVersion)</RevitInstallDir>
    <RevitAddinsDir>$(APPDATA)\Autodesk\Revit\Addins\$(RevitVersion)</RevitAddinsDir>
  </PropertyGroup>
</Project>

Directory.Build.props является локальным файлом и не должен попадать в репозиторий.

Сборка плагина

  1. Откройте CL Design.sln в Visual Studio.
  2. Восстановите NuGet-пакеты: Restore NuGet Packages.
  3. Выберите конфигурацию Release|Any CPU.
  4. Соберите решение.

После сборки DLL плагина появится в:

CL Design/bin/Release

Файл манифеста Revit находится здесь:

CL Design/CL Design.addin

Сборка установщика

Проект CL Design является библиотекой Revit и не запускается напрямую из Visual Studio. Для генерации MSI нужно запускать проект Build.

Порядок сборки:

  1. Откройте CL Design.sln в Visual Studio.
  2. Восстановите NuGet-пакеты.
  3. Выберите конфигурацию Build|Any CPU.
  4. В Solution Explorer нажмите правой кнопкой на проект Build.
  5. Выберите Set as Startup Project.
  6. Соберите решение.
  7. Нажмите Start или запустите BuildMsi.cmd.

MSI будет создан в папке:

Build/output

Конфигурация Build|Any CPU сначала собирает CL Design в Release, затем проект Build упаковывает содержимое CL Design/bin/Release в папки add-in для Revit 2019, 2020, 2021, 2022, 2023, 2024 и 2025.

Если Visual Studio показывает ошибку A project with an Output Type of Class Library cannot be started directly, значит стартовым проектом выбран CL Design. Выберите Build как startup project. Если Visual Studio продолжает запускать старый проект, закройте Visual Studio, удалите локальную папку .vs, откройте решение заново и снова выберите Build как startup project.

Текущий проект собирается под .NET Framework 4.8. Установка для Revit 2025 включена в раскладку установщика, но миграция плагина на net8.0-windows пока не выполнена.

Видеоинструкции

Видео с демонстрацией отдельных функций плагина доступны в Google Drive:

Открыть папку с видеоинструкциями

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

  • CL Design - основной проект плагина Revit.
  • Build - консольный проект для генерации MSI через WixSharp.
  • CL Design/Views - WPF-окна.
  • CL Design/ViewModels - ViewModel для окон.
  • CL Design/Services - бизнес-логика операций Revit.
  • CL Design/Utilities - вспомогательные классы для транзакций и параметров.
  • CL Design/Constants - константы параметров и шаблонов.
  • Build/output - папка для готового MSI.

Примечания для репозитория

Сгенерированные папки bin, obj, .vs и NuGet packages не хранятся в репозитории. Они восстанавливаются или создаются локально при сборке.

Контекст портфолио

Проект демонстрирует практическую автоматизацию Revit API, разработку WPF-интерфейса, MVVM-подход, работу с ведомостями и листами, обработку параметров Revit, сервисное разделение бизнес-логики и генерацию MSI-установщика для desktop BIM-плагина.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages