“这是大部分编程的开始,Revit二次开发也不例外。 ”
本章开始讲Revit二次开发编程内容,后续将以此展开讲API中的一些基础知识。
创建项目
首先,我们需要打开Visual Studio,创建一个新的项目: 因为外部程序需要以类库(dll文件)的形式加载进Revit,所以这里选择类库(.Net Framework): 然后选择路径(即程序集的保存位置):
添加引用
创建好项目后,我们需要在“引用”的位置将Revit的API添加进来:API文件主要是RevitAPI.dll和RevitAPIUI.dll,它们都在Revit的安装路径下,我们找到这个路径添加即可:为了不在我们编译路径下产生大量文件,一般我们会将RevitAPI和RevitAPIUI的属性“复制到本地”改为“False”:然后在代码最前面添加UI、DB和Attributes的命名空间引用。这样API的引用就完成了:
添加特性
因为Revit需要根据外部命令的Transaction特性来判断外部命令的事务模式,因此我们必须在类的前面加上Transaction特性,这里直接设置TransactionMode为手动模式“Manual”即可:
继承接口
同时,外部命令还需要继承Revit提供的外部命令接口,于是我们将IExternalCommand写在类名后面并用“:”(英文冒号)连接在一起,然后实现接口:VS实现接口会自动附上一段抛出异常的代码,如果不注释掉这段代码,那么程序运行到这里就会报错并跳出程序。我们把抛出异常的代码注释掉,并返回一个结果,这里我们选择返回“Result.Succeeded”:
Hello World
完成了上述的步骤后,通过调用TaskDialog.Show的方法,然后传入标题和内容来实现HelloWorld的弹窗:
生成并运行
这时候在Debug文件夹下将会出现两个文件,其中HelloWorld.dll是我们的程序集文件:这里通过Add-In Manager的方式调用程序集。因为我们的特性设置的是“Manual”,所以使用的是Add-In Manager (Manual Mode):在弹出的界面中,我们点击“Load”按钮将Debug路径下的HelloWorld.dll加载进来:然后点击“Run”按钮。此时Revit将弹出HellorWorld的窗口:
至此,Revit二次开发的Hello World便结束了~
|