saury-revit

基于 Saury.Revit.Template 创建 Revit 插件项目。当用户要求创建 Revit 插件、新建 Revit 项目、初始化 Revit 开发环境、使用 saury-revit 模板时触发。覆盖场景:(1) 创建新 Revit 插件项目 (2) 安装/更新 saury-revit dotnet 模板 (3) 在已创建的项目中添加新功能(Command/View/ViewModel/Service)。关键词:Revit、插件、plugin、saury-revit、dotnet new。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "saury-revit" with this command: npx skills add hopesy/skills/hopesy-skills-saury-revit

Saury Revit 项目创建器

基于 Saury.Revit.Template dotnet 模板,通过交互式流程创建完整配置的 Revit 2026 插件项目(MVVM + DI 架构)。

工作流程

按顺序执行以下步骤,每步完成后再进入下一步。

第 1 步:交互式确认项目配置

执行任何命令前,必须向用户确认以下信息:

必问:

  1. 项目名称 — 必须是合法 C# 命名空间名(如 Acme.WallToolsJD.RevitHelper),默认 RevitDemoRevitTest。该名称将用于解决方案、项目文件夹、命名空间、程序集、addin 文件、Ribbon 选项卡。
  2. 项目创建目录 — 默认当前工作目录。

可选(有默认值,仅需确认): 3. Revit 版本 — 默认 2026,通过 --RevitVersion 参数指定。

用户确认后,汇总配置让用户做最终确认再执行。

第 2 步:检查并安装 .NET 环境

检测流程(按顺序执行):

  1. 检测 dotnet CLI 是否存在
where dotnet
  1. 若命令存在,检测 SDK 版本:
dotnet --list-sdks

检查输出中是否包含 8.0 或更高版本的 SDK。

  1. 判断结果
    • dotnet CLI 存在 且 SDK 8.0+ 已安装 → 跳过,进入下一步
    • dotnet CLI 存在 但 无 SDK 或版本不足 → 需要安装 SDK
    • dotnet CLI 不存在 → 需要完整安装

安装方式(按优先级尝试):

winget install Microsoft.DotNet.SDK.8
  • 安装完成后重新验证:where dotnet && dotnet --list-sdks
  • winget 不可用,改用官方脚本安装:
Invoke-WebRequest -Uri https://dot.net/v1/dotnet-install.ps1 -OutFile dotnet-install.ps1
./dotnet-install.ps1 -Channel 8.0
  • 若以上方式均失败,告知用户手动下载 .NET 8.0 SDK

第 3 步:安装模板

# 检查是否已安装
dotnet new list saury-revit
  • 若已安装 → 跳过,告知用户当前已安装
  • 若未安装 → 执行安装:
dotnet new install Saury.Revit.Template
  • 若需更新 → dotnet new install Saury.Revit.Template --force

第 4 步:创建项目

dotnet new saury-revit -n <项目名称> -o <输出目录>
参数说明示例
-n项目名称(替换所有 Saury.Revit.TemplateAcme.WallTools
-o输出目录./Acme.WallTools
--RevitVersionRevit 版本(默认 2026)2026

模板自动完成:

  • 全局替换 Saury.Revit.Template → 用户项目名
  • 自动生成唯一 GUID 替换 ADDIN-GUID-PLACEHOLDER
  • 排除 .template.config/bin/obj/.vs/Logs/*.user

第 5 步:验证项目结构

创建后,列出目录确认结构完整:

<项目名称>/
├── <项目名称>.slnx
└── <项目名称>/
    ├── Commands/AboutCommand.cs
    ├── Extensions/DataContextExtension.cs
    ├── Models/AboutInfo.cs
    ├── ViewModels/AboutViewModel.cs
    ├── Views/AboutView.xaml(.cs)
    ├── Resources/Icons/about.png
    ├── Resources/Styles/ButtonStyles.xaml
    ├── Services/Interfaces/
    ├── Application.cs
    ├── Host.cs
    ├── appsettings.json
    ├── <项目名称>.addin
    └── <项目名称>.csproj

第 6 步:构建验证

cd <输出目录>
dotnet restore
dotnet build --configuration Debug_R26

关键:本项目使用 Debug_R26 / Release_R26禁止使用标准 Debug / Release,否则构建失败。

构建成功后,编译产物自动复制到 C:\ProgramData\Autodesk\Revit\Addins\2026\

第 7 步:告知用户如何使用

构建成功后,向用户展示以下使用说明:

调试启动配置

  1. 修改 Revit 路径 — 打开 <项目名称>.csproj,找到 StartProgram 属性,确认路径指向本机 Revit 安装位置:
<StartProgram>C:\Program Files\Autodesk\Revit 2026\Revit.exe</StartProgram>

若 Revit 安装在非默认路径,需修改为实际路径。

  1. 用 Visual Studio 或 Rider 打开 <项目名称>.slnx
  2. 选择构建配置 Debug_R26(工具栏下拉框,不要选 Debug
  3. 点击启动/F5 — 自动编译 → 产物复制到 Addins 目录 → 启动 Revit → 附加调试器
  4. Revit 启动后 — 在 Ribbon 选项卡中找到插件按钮,点击即可触发断点调试

后续定制

  1. 厂商信息<项目名称>.addin)— VendorId、VendorDescription、VendorEmail
  2. 关于页信息Models/AboutInfo.cs)— GiteeUrl、Description
  3. 添加新功能 — 参见 architecture.md

添加新功能

当用户要求在已创建的项目中添加新功能时,阅读 references/architecture.md 获取完整的代码模板和规则约束,严格按照 A→F 六步流程执行:

  1. ModelModels/ 目录
  2. ViewModelViewModels/ 目录(partial class,继承 ObservableObject
  3. ViewViews/ 目录(构造函数注入 ViewModel)
  4. CommandCommands/ 目录([Transaction(TransactionMode.Manual)]
  5. DI 注册Host.csAddTransient
  6. Ribbon 按钮Application.csCreateRibbon 方法

禁止事项

  • 禁止使用 Debug / Release 配置,只能用 Debug_R26 / Release_R26
  • 禁止手动 new View 或 ViewModel,必须通过 Host.GetService<T>() 获取
  • 禁止在 View code-behind 中编写业务逻辑
  • 禁止在 ViewModel 中直接调用 MessageBox 或操作 Window
  • 禁止硬编码配置值,使用 appsettings.json + IOptions<T>
  • 除非用户明确要求,不要删除示例 About 功能

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

revit-api

No summary provided by upstream source.

Repository SourceNeeds Review
General

OpenClaw Skill Growth

Make OpenClaw Skills observable, diagnosable, and safely improvable over time. Use this when the user wants to maintain many SKILL.md files, inspect repeated...

Registry SourceRecently Updated
00Profile unavailable
General

Find Skills for ClawHub

Search for and discover OpenClaw skills from ClawHub (the official skill registry). Activate when user asks about finding skills, installing skills, or wants...

Registry SourceRecently Updated
2831Profile unavailable
General

Skill Listing Polisher

Improve a skill's public listing before publish. Use when tightening title, description, tags, changelog, and scan-friendly packaging so the listing looks cl...

Registry SourceRecently Updated
1130Profile unavailable