为了实现Revit的二次开发,现在主流的开发方式主要分为以下三种:API开发,宏功能开发和可视化编程开发。接下来笔者就对Revit的开发方式做一个简单的介绍。
RevitAPI开发
API全称为Application Programming Interface,即应用程序编程接口,它是软件之间互相沟通的协定。一般开发较大的程序或软件时,会提供API以增加其扩充性。API就成了这些扩充软件与主程式之间相互沟通的桥梁。这种方式的主要优点是,不同的扩展软件之间相互影响的关系降低,当其中一个扩充软件发生错误或损坏时,不影响主程式的执行,能较容易的找到正确的部分进行维护与扩充的工作。
API会提供一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码或是理解内部工作机制的细节。
使用RevitAPI进行开发有着统一流程,首先在VisualStudio中新建一个类库工程,引用Revit接口定义文件RevitAPI.dll和RevitAPIUI.dll,再引用命名空间,如Using Autodesk.Revit、Using Autodesk.Revit.DB等,进入内部程序设计阶段。接下来进行的第一步是为命令类添加属性;第二步是通过外部命令接口添加应用,新建一个从IExternal Command派生的类;第三步重载Execute()函数;第四步在Execute中添加代码来实现命令功能。
可视化编程技术与Dynamo
可视化编程,亦即可视化程序设计。以“所见即所得”的编程思想为原则,力图实现编程工作的可视化,即随时可以看到结果,结果与程序的调整同步。可视化编程是与传统的编程方式相比而言的,这里的“可视”,指的是无须使用代码编程,仅通过直观的拖拽、连线的操作方式即可完成程序的设计工作。
在Dynamo问世以前,Revit作业大多还是要靠人力手工一笔一画来创建,众多插件只能解决一些固定的问题,无法针对个人需求提出解决方案。而插件的开发时间很长,成本很高,无法应付短时间项目的需要。使用Dynamo之后,很多大批量与机械化的工作可以交付给软件自动创建,而工程师们可以有更多的时间关注于设计本身,是从手工设计向程序自动设计的重大飞跃。