Autodesk.Revit.DB.ExtensibleStorage.ExtensibleStorageFilter 是 Revit API 中的类,用于筛选可扩展存储的内容。
该类有一个构造函数:
public ExtensibleStorageFilter(params ElementId[] schemaIds)
参数是扩展存储模式标识符的数组。如果有多个标识符,该过滤器将匹配这些标识符中的任意一个。
该类有以下属性:
IList<ElementId> SchemaIds { get; set; }
可读可写。返回或设置过滤器所匹配的扩展存储模式标识符的列表。
bool ExcludeIfNoData { get; set; }
可读可写。返回或设置该过滤器在用户试图读取未存储数据时的行为。如果设置为 true
,则不包含未存储任何数据的元素。
该类有以下方法:
bool PassesFilter(Entity entity)
返回一个布尔值,表示给定的实体是否满足过滤器条件。如果实体符合匹配的任意扩展存储模式标识符中的一个,则返回 true
。
以下示例演示如何使用 ExtensibleStorageFilter
筛选具有特定扩展存储模式标识符的元素。
// 使用扩展存储模式标识符获取示例元素
ElementId schemaId = new ElementId(BuiltInExtensibleStorageTypes.Material);
FilteredElementCollector collector = new FilteredElementCollector(doc);
ExtensibleStorageFilter filter = new ExtensibleStorageFilter(schemaId);
IList<Element> elements = collector.WherePasses(filter).ToElements();
Autodesk.Revit.DB.ExtensibleStorage.ExtensibleStorageFilter
可以帮助开发人员在 Revit 中筛选具有特定扩展存储模式标识符的元素。它具有方便的属性和方法,易于使用。