了解用于预制施工图命令的 API
预制施工图命令基于预制配置中指定的类型特定设置为预制图元创建图形。单个图元需要多个施工图十分常见,例如,一个用于模板,一个用于钢筋。对施工图进行标记和尺寸标注的不同需求也是一个因素。
预制 API 的每一个部分都在单个 dll 中实现,API 的用户不需要参照预制中的任何内容,但此单个 dll 除外。预制本身不以任何方式依赖于预制 API 中的任何内容,甚至不依赖于 API dll 本身的存在。
启动施工图创建。当 API 调用施工图创建时,它可以提供“预制配置”使用的相同设置。将通过“预制配置”使用未指定到 API 的设置。为此,该创建方法需要一个 IShopDrawingOptions 接口的实例。调用方可以在任何类上实现它,并让它指示可以定义的选项以及不可以定义的选项。API 不需要或无法访问“预制配置”。如果设置未由 API 调用方定义,则内部代码将读取配置。“预制配置”只能由用户通过 UI 工具访问。
在 Revit 预制中,创建施工图的类专用于每种类型的图元。例如,有一个“空心施工图创建器”和“实体墙施工图创建器”。任何一个都继承自公共基类。API 使用“工厂”类和由这些类(定义将对公共 API 可见的部分类)实现的公共接口公开这些类。
施工图创建的事件。施工图创建过程由创建步骤、详细信息以及移动视图和视口组成。详图视图由尺寸标注和标记视图组成。每个步骤都有一个关联的前期事件和后期事件,其中事件处理程序可以取消前期事件。处理程序可以自己完成工作或完全不进行工作(如果需要)。
当注册事件处理程序时,预制 API 会为对公共 API 不可见的内部事件注册自身。然后,它将转到注册的第三方事件处理程序,在其自身的子事务中保护每一个事件处理程序。
在这里,事件处理程序参数定义为接口,从而有效地将预制 API 与内部事务分离,使得以后更改内部代码更容易,而不会影响预制 API。