Revit 二次开发入门:环境搭建与第一个插件
1. 准备工作
- 安装 Visual Studio 2019 及以上版本(勾选「.NET 桌面开发」工作负载)
- 安装 Revit 2018~2024 中的任意版本(建议与项目目标版本一致)
- Revit SDK:安装目录下自带
RevitAPI.dll与RevitAPIUI.dll
2. 新建工程
新建一个 C# 类库(.NET Framework) 工程,注意 Revit 2018~2023 使用 .NET Framework 4.7.2 / 4.8, Revit 2024 之后才是 .NET 6/8,选错了会直接加载失败。
添加引用时记得把两个 DLL 的「复制本地」设为 False,否则部署目录会多出一堆没用的 Revit 程序集:
RevitAPI.dll
RevitAPIUI.dll
3. 第一个命令
所有插件命令都从 IExternalCommand 接口开始,实现 Execute 方法:
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
namespace HelloRevit
{
[Transaction(TransactionMode.Manual)]
public class HelloCommand : IExternalCommand
{
public Result Execute(ExternalCommandData commandData,
ref string message, ElementSet elements)
{
TaskDialog.Show("Hello", "我的第一个 Revit 插件!");
return Result.Succeeded;
}
}
}
4. 让 Revit 加载插件
两种方式任选其一:
- .addin 清单文件:放到
%AppData%\Autodesk\Revit\Addins\20xx\目录,指向编译出来的 dll; - 注册表:写在
HKCU\Software\Autodesk\Revit\Autodesk Revit 20xx\Components下。
调试小技巧:工程属性里把「启动外部程序」指向 Revit.exe,F5 即可边跑 Revit 边打断点,比手动附加进程省事得多。
5. 小结
跑通第一个命令之后,接下来比较值得学的三块:FilteredElementCollector 过滤取元、
Transaction 事务写模型、以及 ExternalEvent 处理非模态窗口的回调。
后面有空再单独整理笔记。