版本对应: Revit2011使用VS2008,Revit2012-2014使用VS2010,Revit2015使用VS2013,Revit2016/17使用VS2015。本人使用vs2015+revit2016.
打开Revit2016安装程序(Setup.exe),安装工具和实用程序,安装位置自己定。工具和实用程序就是Revit SDK文件,包含了Revit API帮助文档和开发样例等。默认位置都在C盘。
自己去网上下载必须的两个.addin文件,否则Revit的工具栏不会出来“Add-In Manager(插件管理器)”。当然如果你不想去下载,可以新建两个.txt文件,把以下内容拷贝进去,改一下文件名和后缀名为如下的两个.addin。将addin文件放入C:\ProgramData\Autodesk\Revit\Addins\2016,将下面文件中AddInManager.dll文件地址改成你的实际地址即可。成功后打开Revit应该有如图所示:
Autodesk.AddInManager.addin文件
<RevitAddIns>
<AddIn Type="Command">
<Assembly>C:\Revit SDK 2016\Software Development Kit\Add-In Manager\AddInManager.dllAssembly>
<ClientId>8C0A9E25-B7C5-421c-A1AB-702F73FA551FClientId>
<FullClassName>AddInManager.CAddInManagerFullClassName>
<Text>Add-In Manager (Manual Mode)Text>
<VisibilityMode>AlwaysVisibleVisibilityMode>
<LanguageType>UnknownLanguageType>
<VendorId>ADSKVendorId>
<VendorDescription>Autodesk, www.autodesk.comVendorDescription>
AddIn>
<AddIn Type="Command">
<Assembly>C:\Revit SDK 2016\Software Development Kit\Add-In Manager\AddInManager.dllAssembly>
<ClientId>6FDB8EC7-CCD3-4fc0-ADB7-B459D298FB93ClientId>
<FullClassName>AddInManager.CAddInManagerFacelessFullClassName>
<Text>Add-In Manager (Manual Mode, Faceless)Text>
<VisibilityMode>AlwaysVisibleVisibilityMode>
<LanguageType>UnknownLanguageType>
<VendorId>ADSKVendorId>
<VendorDescription>Autodesk, www.autodesk.comVendorDescription>
AddIn>
<AddIn Type="Command">
<Assembly>C:\Revit SDK 2016\Software Development Kit\Add-In Manager\AddInManager.dllAssembly>
<ClientId>91A2419C-5FCA-491A-BAA3-29A497EC07C7ClientId>
<FullClassName>AddInManager.CAddInManagerReadOnlyFullClassName>
<Text>Add-In Manager (ReadOnly Mode)Text>
<VisibilityMode>AlwaysVisibleVisibilityMode>
<LanguageType>UnknownLanguageType>
<VendorId>ADSKVendorId>
<VendorDescription>Autodesk, www.autodesk.comVendorDescription>
AddIn>
RevitAddIns>
Autodesk.AddInManager-Automatic.addin文件
<RevitAddIns>
<AddIn Type="Command">
<Assembly>C:\Revit SDK 2016\Software Development Kit\Add-In Manager\AddInManager.dllAssembly>
<ClientId>FF6DB199-BAAB-496e-A452-623B977B2320ClientId>
<FullClassName>AddInManager.CAddInManagerAutomaticFullClassName>
<Text>Add-In Manager (Automatic Mode)Text>
<VisibilityMode>AlwaysVisibleVisibilityMode>
<LanguageType>UnknownLanguageType>
<VendorId>ADSKVendorId>
<VendorDescription>Autodesk, www.autodesk.comVendorDescription>
AddIn>
RevitAddIns>
在编写程序中,经常要查询文档中图元的信息。而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文件地址改成实际地址即可。成功后如图所示:
这个有别人写好的,很详细,大家可以直接参考,包括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;
}
}
}
加载方式有两种,一种是编写.addin文件放到对应位置,另一种是使用Add-In Manager(插件管理器),建议用后者Add-In Manager,对开发者来说,非常好用。打开Revit,点击安装的“外部工具”菜单条:
此处注意4个下来按钮的选择:跟你的代码中的两句话有关,若是Manual选第一个,若是Automatic用最后一个,现在新版好像Automatic慢慢不用了,具体原因可以去查查,跟二次开发有关。
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]