如果要为宏使用 SDK 示例代码,则需要进行修改。
Revit SDK 包含两个示例文件夹:
\Revit SDK <版本>\Software Development Kit\Samples\...
\Revit SDK <版本>\Software Development Kit\Macro Samples\...
SDK 的 \Samples\ 文件夹中的程序使用标准 Revit API。 本主题将这些示例称为“SDK 示例代码”,以区别于“Revit 宏示例”。
请按照本部分中的步骤执行操作。 对于编程语言,将显示 C# 示例。但是,这些说明也同样适用于 SDK 示例的 VB.NET 版本。
将标准 API 示例从 SDK 移植到 Revit 宏 IDE 项目中的初始步骤与将宏集成到 Revit IDE 部分中的相似。不同的是您不是从 SDK 的 \Macro Samples\<示例名>\... 文件夹复制文件,而是从 SDK 的 \Samples\<示例名>\... 文件夹复制文件。
要进行复查,步骤是:
在 Revit 宏 IDE 中,IExternalCommand 接口不可用或未使用。 在 SDK 的标准 API 示例代码中,必须更新从该接口继承的类:
以下代码段摘自使用标准 Revit API 的程序:
在 Revit 宏 IDE 中,必须按以下方式更新代码。 该示例中显示了一个应用程序级宏。 RunSampleRooms() 方法是该宏示例的入口。 请注意,我们使用了 this 指针代替 commandData.Application。
namespace AppCSharp.csproj
但是,由于 Revit IDE 中的限制,我们无法设置项目相关性,并且无法移植 RevitViewer 示例。 因此,您需要将 RevitViewer 作为独立的 SDK 示例进行编译,然后在 Revit IDE 项目中将其 DLL 添加为引用: