Revit二次开发--Hello World

时间:2021-03-25 05:39:40

部署完开发环境,就要进行每次学习新的技能,必写的Hello World。

1、打开VS开发环境,新建一个项目类库RevitDemo。

2、修改Class1名称为Command。

3、在引用中添加RevitAPI,RevitAPIUI的dll,注意将这两个dll的复制本地改为flase,否则将复制大量的dll到运行目录。

4、写下以下代码,保存,因为我的Revit为2017,.net框架运行版本需设置为4.5.2.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Autodesk.Revit;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.Attributes;

namespace RevitDemo
{
    [Transaction(TransactionMode.Manual)]
    public class Command : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            try
            {
                TaskDialog.Show("Hello", "Hello World.");
            }
            catch (Exception e)
            {
                message = e.Message;
                return Result.Failed;
            }
            return Result.Succeeded;
        }
    }
}

5、选择【项目】→【属性】→【调试】→【启动外部程序】,找到Revit安装目录,选择Revit.exe,例如:我的是C:\Program Files\Autodesk\Revit 2017\Revit.exe,点击保存

6、完成以上步骤后,便可以启动项目了,为了看到效果我们还需要做其他操作

7、到找到文件夹【C:\Users\linbi\AppData\Roaming\Autodesk\Revit\Addins\2017】(我使用的是Win10系统,其他系统自行对应) 
新建一个记事本【Hello World.addin】文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
  <AddIn Type="Command">
    <Assembly>RevitDemo.dll</Assembly>
    <ClientId>85063e45-e4b5-4621-b142-bce195e0bacc</ClientId>
    <FullClassName>RevitDemo.Command</FullClassName>
    <Text>RevitDemoCommand</Text>
    <VisibilityMode>AlwaysVisible</VisibilityMode>
    <LanguageType>Unknown</LanguageType>
    <VendorId>cnsb</VendorId>
    <VendorDescription>cnsb, www.cnsb.top</VendorDescription>
  </AddIn>
</RevitAddIns>
Assembly填写你刚才编写的dll的全路径

ClientId 为生成一个新的GUID
FullClassName为启动的类名,为完整的命名空间+类名
Text插件名称
VendorId 为开发者名称

8、完成以上所有步骤后,打开Revit应用程序,【附加模块】→【外部工具】→,就可以看见你的Hello World插件了。