Revit二次开发实战01(第一个插件RevitHello)
Revit二次开发实战
第一个程序 RevitHello插件
安装Revit2019并注册 |
安装、注册教程百度一下; |
安装VS2019 Community |
安装教程百度一下; |
安装两个Revit插件 |
RevitLookup和AddInManager; AddInManager.dll、Autodesk.AddInManager.addin、RevitLookup.dll、RevitLookup.addin; 将上述4个文件拷贝到插件Addins目录中; C:\Users\Administrator\AppData\Roaming\Autodesk\Revit\Addins\2019;
|
创建一个类库项目 |
创建.NET Framework类库项目; 到revit.exe所在文件夹添加两个dll引用; RevitAPI.dll、RevitAPIUI.dll; 让类实现外部命令接口 : IExternalCommand; 实现Execute函数; 通过ExternalCommandData参数可以获取UIApplication对象uiApp; 通过uiApp可以获取Application对象app和活动文档UIDocument对象 uiDoc ; 通过uiDoc 对象可以获取Document doc和活动视图View 对象view; 通过TaskDialog.Show("view.Name", view.Name)弹出对话框,并显示指定信息; |
生成dll |
类库编辑完成后,Ctrl+B生成dll文件; 在bin/Debug文件夹下; |
Revit调用外部命令 |
使用AddInManager工具将生成的dll添加到Revit中; 选中创建的外部命令类,并点击运行按钮,即可运行外部命令; |
源码
using Autodesk.Revit.ApplicationServices; using Autodesk.Revit.Attributes; using Autodesk.Revit.DB; using Autodesk.Revit.UI; using System; namespace RevitHello { [Transaction(TransactionMode.Manual)] public class Class1 : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication uiApp = commandData.Application;//获取UI程序对象 Application app = uiApp.Application;//获取程序对象 TaskDialog.Show(" app.VersionName", app.VersionName); UIDocument uiDoc = uiApp.ActiveUIDocument;//获取UI文档对象(当前文档) Document doc = uiDoc.Document;//获取文档对象 TaskDialog.Show("doc.PathName", doc.PathName); View view = uiDoc.ActiveView;//获取视图对象(当前视图) TaskDialog.Show("view.Name", view.Name); string guid = Guid.NewGuid().ToString();//创建一个guid字符串 TaskDialog.Show("guid", guid);//显示guid return Result.Succeeded; } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具