Revit API 开发 (1): Hello World

来源:互联网 发布:海岛大亨5 mac 汉化 编辑:程序博客网 时间:2024/05/23 01:19

* 参考Revit 官方 help 写的,设置为原创而不是翻译,是因为内容虽然大致相同,但是风格迥异。

Revit API 的二次开发的环境通常是C#或者VB,原因是Autodesk一直是和微软的脚步一致的。下面是以C#为例。

1.新建一个Class Library的project。


2. 增加引用,又击添加引用,然后找到你自己的Revit安装目录,把RevitAPI.dll和RevitAPIUI.dll添加进来,记住最后不要勾选把dll复制到本地的选项,否则就会浪费不少空间。

3. 添加如下代码:

using System;using Autodesk.Revit.UI;using Autodesk.Revit.DB;namespace HelloWorld{   [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]   public class Class1 : IExternalCommand   {      public Autodesk.Revit.UI.Result Execute(ExternalCommandData revit,         ref string message, ElementSet elements)      {         TaskDialog.Show("Revit", "Hello World");         return Autodesk.Revit.UI.Result.Succeeded;      }   }}

我相信大家最初写程序都是通过照葫芦画瓢的方式来的,这里也一样。从上面我们可以看到Revit为API开发者提供了一套框架,而这套框架的入口就是接口IExternalCommnad的Execute函数。用户所要做的就是创建自己的一个新类,这里是Class1,实现接口的这个方法即可。

4.让Revit可以找到这个DLL。

<?xml version="1.0" encoding="utf-8" standalone="no"?><RevitAddIns>        <AddIn Type="Command">                <Assembly>D:\Sample\HelloWorld\bin\Debug\HelloWorld.dll</Assembly>                <AddInId>239BD853-36E4-461f-9171-C5ACEDA4E721</AddInId>                <FullClassName>HelloWorld.Class1</FullClassName>                <Text>HelloWorld</Text>                 <VendorId>NAME</VendorId>                <VendorDescription>Your Company Info</VendorDescription>         </AddIn></RevitAddIns>

这是一个后缀为.addin的文件,在XP里面我们把它存在C:\Documents and Settings\All Users\Application Data\Autodesk\Revit\Addins\2014\,在Vista和Win7则存在C:\ProgramData\Autodesk\Revit\Addins\2014\。

5.调试

在项目的Debug菜单下,把外部程序的位置设上。C:\Program Files\Autodesk\Revit Architecture 2014\Program\Revit.exe


你可以打开Revit,把程序attach上去,并且在程序上设置好断点。比如就设置在,

TaskDialog.Show("Revit", "Hello World");

进入Revit,打开Add-Ins面板,点击:


你就会发现,断点被执行到了。在程序中点击继续,即可看到:



至此,Revit API 开发的基本流程就走完了。

0 0
原创粉丝点击