介绍
这个例子介绍了如何查询和删除外部存储,却没有介绍如何创建。差评!
不过以前倒是已经研究过了如何创建:Revit API 开发 (10): ExtensibleStorage 外部存储
内容
这个例子有两个命令:
QueryStorage
用于查询外部存储DeleteStorage
用于删除外部存储
QueryStorage
列出所有 Schemas
List<Schema> schemas = Schema.ListSchemas();
过滤出有 Schema 的构件
ExtensibleStorageFilter
用于过滤出拥有特定 Schema
的 Element
。
private static List<ElementId> ElementsWithStorage(Document doc, Schema schema)
{
List<ElementId> ids = new List<ElementId>();
FilteredElementCollector collector = new FilteredElementCollector(doc);
collector.WherePasses(new ExtensibleStorageFilter(schema.GUID));
ids.AddRange(collector.ToElementIds());
return ids;
}
DeleteStorage
EraseSchemaAndAllEntities
会删除当前 Revit 打开的所有文档的 Schema。
document.EraseSchemaAndAllEntities(schema);