Autodesk.Revit.DB.ExtensibleStorage.SchemaBuilder
是 Revit API 中一个用于创建 Extensible Storage Schema 的类,它允许您定义自定义数据存储方案,以存储和检索 Revit 中的实体数据。
在 Revit 中添加自定义数据存储方案时, SchemaBuilder
类是必需的。您可以在 SchemaBuilder
中定义数据存储方案,并将其与特定的 Revit 实体相关联。
使用此类,您可以定义数据字段和类型,以及确保所创建的方案与所有相关实体类型具有一致的结构和行为。
以下是 SchemaBuilder
类的主要方法:
以下是 SchemaBuilder
类的示例代码,其中将创建一个包含三个数据字段的新 Schema 对象:
// 创建一个新的 SchemaBuilder 对象
SchemaBuilder builder = new SchemaBuilder(new Guid("11111111-1111-1111-1111-111111111111"));
// 添加简单的数据字段
FieldBuilder intFieldBuilder = builder.AddSimpleField("Integer", typeof(int));
// 添加数组型的数据字段
FieldBuilder doubleArrayFieldBuilder = builder.AddArrayField("DoubleArray", typeof(double));
// 添加 Map 型的数据字段
FieldBuilder stringMapFieldBuilder = builder.AddMapField("StringMap", typeof(string));
// 使用 SchemaBuilder 创建一个新的 Schema 对象
Schema schema = builder.Finish();
// 完成后从 schema 中获取所创建的字段对象
IList<Field> fields = schema.ListFields();
SchemaBuilder
对象时,必须为其提供一个唯一的 Schema ID,以确保与 Revit 中的其他存储方案不冲突。SchemaBuilder
类仅用于创建 Schema 对象。要将 Schema 关联到 Revit 中的实体,必须使用 Schema.Lookup()
方法。