将宏集成到 Revit IDE

执行以下步骤将宏集成到 Revit 宏项目。

如果“使用 SDK 中的 Revit 宏示例”中描述的示例满足您的需求,则可以跳过本主题。

本主题介绍在 IDE 项目中创建对应于文件系统资源的文件夹的位置,如何添加所需引用,以及如何定义属性。 这些步骤在内置到 Revit_Macro_Samples.rvt(在 SDK 中提供)内的宏中执行。

添加所需引用

如果宏具有用户界面,需要向项目添加所需引用。 例如,在 SDK SampleRooms 宏中,我们需要参照下列内容:

  1. System.Windows.Forms
  2. System.Drawing

启动宏管理器,选择项目类型并单击“编辑”。

在 IDE 中,转到项目浏览器。默认情况下,它固定在显示区域的右侧。

对于宏项目(示例:AppCSharp),在“引用”区域中单击鼠标右键,并从菜单中选择“添加引用”。

在“添加引用”对话框中,在列表中找到并选择 System.DrawingSystem.Windows.Forms。按住 Ctrl 键可进行多选操作。例如:

完成后单击“确定”。

IDE 的项目浏览器将使用以下引用更新:

在 Revit IDE 中创建文件夹

在 IDE 的项目浏览器中,在宏项目中单击鼠标右键,然后从菜单中选择“添加”“新建文件夹”。 例如:

为该文件夹命名。 在本示例中,我们将其称为“Samples”。然后,在“Samples”文件夹项上单击鼠标右键,再次单击“添加”“新建文件夹”再添加一个文件夹,例如“Rooms”。

在 IDE 外部,使用 Windows 资源管理器定位到 Revit 安装文件夹,并找到 AppHookup 文件夹。 请注意,相应的 \Samples\Rooms 子文件夹已经在该位置创建。

将宏复制到文件系统文件夹

还是在 Revit IDE 外部,将宏文件复制到创建的子文件夹。

注: 如果宏使用 ResX 文件,也请复制该文件。

在 IDE 中将现有文件添加到宏项目

返回到 Revit IDE。 在项目浏览器中(继续该示例),在为宏创建的文件夹上单击鼠标右键,然后从菜单中选择“添加”“现有项目”。 例如:

在生成的 IDE 对话框中,浏览到 Revit 安装文件夹下文件系统(如“Revit SDK 宏样例”目录)上的相应子文件夹,选择组成宏的所有文件,然后单击“添加”。

在本例中,GetTimeElapsed_CSharp 的刷新的 IDE 项目浏览器包含:

创建和构建宏

将文件添加到项目中后,可以编写运行宏的方法:例如,在 C# 中:

///
Sample Rooms testpublic
void RunSampleRooms(){
SamplesRoom
sample = new SamplesRoom(this);sample.Run();
}

确保为宏的命名空间添加 using 指令。 例如:

using Revit.SDK.Samples.Rooms.CS;

保存项目,然后从 IDE 工具栏菜单中单击“构建”。 在 Revit 中,启动宏管理器,并从分类列表中选择宏。 在 SDK 上,Rooms 样例可能被编码为文档级的宏,在这种情况下,需要进行代码修改,以便在此部分的屏幕上显示的 AppCSharp 项目中运行该宏。

从宏管理器运行宏时,宏将从您的模型收集数据,并显示汇总信息。请看以下示例:

Resources.resx 属性

请注意,GridCreation(Revit 宏示例之一)依赖于 resources.resx 文件。 在练习使用 GridCreation 示例之前,请在 Revit 宏 IDE 中设置 ResX 文件。 在内置到 Revit_Macro_Samples.rvt(位于 SDK 中)的文档级示例中,已经设置了该文件。 但是,对于您自己开发的宏,可能需要在项目的 resources.resx 文件中定义属性。 本部分给出了一个示例。

在项目浏览器中,定位到宏的“Properties”文件夹。 例如:“YourMacro”“Samples”“GridCreation”“Properties”。

高亮显示 resources.resx 文件。

在“属性”窗格中,选择“自定义工具”属性,然后在值列中输入 ResXFileCodeGenerator