欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Add-In Manager插件管理器:revit二次开发环境搭建流程:Add-In Manager(插件管理器)及首个HelloWorld程序

程序员文章站 2022-05-22 10:15:50
...

- 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盘。
Add-In Manager插件管理器:revit二次开发环境搭建流程:Add-In Manager(插件管理器)及首个HelloWorld程序

- 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应该有如图所示:
Add-In Manager插件管理器:revit二次开发环境搭建流程:Add-In Manager(插件管理器)及首个HelloWorld程序

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文件地址改成实际地址即可。成功后如图所示:
Add-In Manager插件管理器:revit二次开发环境搭建流程:Add-In Manager(插件管理器)及首个HelloWorld程序

- 4.第一个命令:HelloWorld

   这个有别人写好的,很详细,大家可以直接参考,包括C#项目的新建类库和代码:https://blog.csdn.net/swety_gxy/article/details/52625597;来自下面这位:
Add-In Manager插件管理器:revit二次开发环境搭建流程:Add-In Manager(插件管理器)及首个HelloWorld程序

自己写的如下,大同小异,一个用的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,点击安装的“外部工具”菜单条:
Add-In Manager插件管理器:revit二次开发环境搭建流程:Add-In Manager(插件管理器)及首个HelloWorld程序

此处注意4个下来按钮的选择:跟你的代码中的两句话有关,若是Manual选第一个,若是Automatic用最后一个,现在新版好像Automatic慢慢不用了,具体原因可以去查查,跟二次开发有关。

 [Transaction(TransactionMode.Manual)]
 [Regeneration(RegenerationOption.Manual)]

点击后弹出加载对话框,如下:
Add-In Manager插件管理器:revit二次开发环境搭建流程:Add-In Manager(插件管理器)及首个HelloWorld程序

点击load去寻找你编译的.dll文件,加载,选中以后点击“Run”就行了。
Add-In Manager插件管理器:revit二次开发环境搭建流程:Add-In Manager(插件管理器)及首个HelloWorld程序

相关标签: revit二次开发