Autodesk.Revit.DB.InstanceBinding
类型是用于创建实例绑定的 API 类型。实例绑定允许将一组元素与另一个元素关联起来,从而实现元素实例的相关性。在 Revit 中,实例绑定可用于将一组管道与一组设备连接起来,例如将水龙头与水暖设施连接起来。
public class InstanceBinding : ElementBinding
实例绑定类具有以下属性:
public ElementId Category { get; set; }
获取或设置与实例绑定关联的类别。
public InstanceDefinition Definition { get; set; }
获取或设置与实例绑定关联的实例定义。
实例绑定类具有以下构造函数:
public InstanceBinding(Document document, ElementId categoryId, InstanceDefinition definition);
创建一个新的实例绑定对象。
实例绑定类具有以下方法:
public override ElementBinding Duplicates(IEnumerable<Element> elements);
获取基类 ElementBinding
在指定元素集合上执行的复制操作的结果。
以下示例演示如何创建实例绑定:
// 创建实例定义
InstanceDefinition instanceDefinition = new InstanceDefinition(
new XYZ(0, 0, 0),
new XYZ(1, 0, 0),
new XYZ(1, 1, 0),
new XYZ(0, 1, 0)
);
// 获取文档
Document document = commandData.Application.ActiveUIDocument.Document;
// 获取管道和设备
IEnumerable<Element> pipes = new FilteredElementCollector(document)
.OfClass(typeof(Pipe));
IEnumerable<Element> devices = new FilteredElementCollector(document)
.OfClass(typeof(FixtureUnit));
// 创建实例绑定
InstanceBinding instanceBinding = new InstanceBinding(document,
Category.GetCategory(document, BuiltInCategory.OST_Casework).Id,
instanceDefinition);
// 创建绑定实例
Binding binding = new Binding(pipes.Concat(devices), instanceBinding);
// 关联绑定实例
document.ParameterBindings.Insert(binding);
实例绑定必须包含与它关联的类别和实例定义。此外,实例绑定还必须与 ElementBinding
类型一起使用。