Add-In Manager插件管理器:revit二次开发环境搭建流程:Add-In Manager(插件管理器)及首个HelloWorld程序
- 1.安装VS和Revit软件
版本对应: Revit2011使用VS2008,Revit2012-2014使用VS2010,Revit2015使用VS2013,Revit2016/17使用VS2015。本人使用vs2015+revit2016.
- 2.安装Revit的SDK
打开Revit2016安装程序(Setup.exe),安装工具和实用程序,安装位置自己定。工具和实用程序就是Revit SDK文件,包含了Revit API帮助文档和开发样例等。默认位置都在C盘。
- 3.配置Add-In Manager和RevitLookUp工具
- 3.1 Add-In Manager(插件管理器)
自己去网上下载必须的两个.addin文件,否则Revit的工具栏不会出来“Add-In Manager(插件管理器)”。当然如果你不想去下载,可以新建两个.txt文件,把以下内容拷贝进去,改一下文件名和后缀名为如下的两个.addin。将addin文件放入C:\ProgramData\Autodesk\Revit\Addins\2016,将下面文件中AddInManager.dll文件地址改成你的实际地址即可。成功后打开Revit应该有如图所示:
Autodesk.AddInManager.addin文件
<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
<AddIn Type="Command">
<Assembly>C:\Revit SDK 2016\Software Development Kit\Add-In Manager\AddInManager.dll</Assembly>
<ClientId>8C0A9E25-B7C5-421c-A1AB-702F73FA551F</ClientId>
<FullClassName>AddInManager.CAddInManager</FullClassName>
<Text>Add-In Manager (Manual Mode)</Text>
<VisibilityMode>AlwaysVisible</VisibilityMode>
<LanguageType>Unknown</LanguageType>
<VendorId>ADSK</VendorId>
<VendorDescription>Autodesk, www.autodesk.com</VendorDescription>
</AddIn>
<AddIn Type="Command">
<Assembly>C:\Revit SDK 2016\Software Development Kit\Add-In Manager\AddInManager.dll</Assembly>
<ClientId>6FDB8EC7-CCD3-4fc0-ADB7-B459D298FB93</ClientId>
<FullClassName>AddInManager.CAddInManagerFaceless</FullClassName>
<Text>Add-In Manager (Manual Mode, Faceless)</Text>
<VisibilityMode>AlwaysVisible</VisibilityMode>
<LanguageType>Unknown</LanguageType>
<VendorId>ADSK</VendorId>
<VendorDescription>Autodesk, www.autodesk.com</VendorDescription>
</AddIn>
<AddIn Type="Command">
<Assembly>C:\Revit SDK 2016\Software Development Kit\Add-In Manager\AddInManager.dll</Assembly>
<ClientId>91A2419C-5FCA-491A-BAA3-29A497EC07C7</ClientId>
<FullClassName>AddInManager.CAddInManagerReadOnly</FullClassName>
<Text>Add-In Manager (ReadOnly Mode)</Text>
<VisibilityMode>AlwaysVisible</VisibilityMode>
<LanguageType>Unknown</LanguageType>
<VendorId>ADSK</VendorId>
<VendorDescription>Autodesk, www.autodesk.com</VendorDescription>
</AddIn>
</RevitAddIns>
Autodesk.AddInManager-Automatic.addin文件
<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
<AddIn Type="Command">
<Assembly>C:\Revit SDK 2016\Software Development Kit\Add-In Manager\AddInManager.dll</Assembly>
<ClientId>FF6DB199-BAAB-496e-A452-623B977B2320</ClientId>
<FullClassName>AddInManager.CAddInManagerAutomatic</FullClassName>
<Text>Add-In Manager (Automatic Mode)</Text>
<VisibilityMode>AlwaysVisible</VisibilityMode>
<LanguageType>Unknown</LanguageType>
<VendorId>ADSK</VendorId>
<VendorDescription>Autodesk, www.autodesk.com</VendorDescription>
</AddIn>
</RevitAddIns>
- 3.2 Revit Lookup工具安装
在编写程序中,经常要查询文档中图元的信息。而Revit提供给使用者的信息又过少,这时可以用Revit Lookup工具进行查询。下载地址:http://www.360doc.com/content/15/1217/22/14129723_521160458.shtml(引用别人的,在此感谢!);
配置方法和addin manager一样,将解压后的RevitLookup.addin文件和.dll文件分别放入C:\ProgramData\Autodesk\Revit\Addins\2017,当然RevitLookup.dll文件也可以放到别处,将文件中RevitLookup.dll文件地址改成实际地址即可。成功后如图所示:
- 4.第一个命令:HelloWorld
这个有别人写好的,很详细,大家可以直接参考,包括C#项目的新建类库和代码:https://blog.csdn.net/swety_gxy/article/details/52625597;来自下面这位:
自己写的如下,大同小异,一个用的MessageBox一个用的TaskDialog(revit样式风格对话框)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;
using System.Windows.Forms;
using Autodesk.Revit.UI.Selection;
namespace RevitStudy
{
//HelloWorld!
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class HelloWorld : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements)
{
MessageBox.Show("Hello,World!");
return Result.Succeeded;
}
}
}
- 5.命令HelloWorld的加载
加载方式有两种,一种是编写.addin文件放到对应位置,另一种是使用Add-In Manager(插件管理器),建议用后者Add-In Manager,对开发者来说,非常好用。打开Revit,点击安装的“外部工具”菜单条:
此处注意4个下来按钮的选择:跟你的代码中的两句话有关,若是Manual选第一个,若是Automatic用最后一个,现在新版好像Automatic慢慢不用了,具体原因可以去查查,跟二次开发有关。
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
点击后弹出加载对话框,如下:
点击load去寻找你编译的.dll文件,加载,选中以后点击“Run”就行了。