Schema |
The SchemaBuilder type exposes the following members.
Name | Description | |
---|---|---|
![]() | SchemaBuilder | Constructs a new SchemaBuilder where the resulting Schema will use the input GUID. |
Name | Description | |
---|---|---|
![]() | IsValidObject | Specifies whether the .NET object represents a valid Revit entity. |
Name | Description | |
---|---|---|
![]() | AcceptableName | Checks whether a string is an acceptable name for a Schema or a Field. |
![]() | AddArrayField | Creates a field containing an array of values in the Schema, with given name and type of contained values. |
![]() | AddMapField | Creates a field containing an ordered key-value map in the Schema, with given name and type of contained values. |
![]() | AddSimpleField | Creates a field containing a single value in the Schema, with given name and type. |
![]() | Dispose | Releases all resources used by the SchemaBuilder |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
![]() | Finish | Registers and returns the created Schema object. |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object) |
![]() ![]() | GUIDIsValid | Checks whether the supplied GUID value is valid. |
![]() | Ready | Checks whether the builder may be used. |
![]() | SetApplicationGUID | Sets the GUID of the application or add-in that may access entities of this Schema under the Application acess level. |
![]() | SetDocumentation | Sets the documentation string for the Schema. |
![]() | SetReadAccessLevel | Sets top level read access (for entities) |
![]() | SetSchemaName | Sets the name of the Schema. |
![]() | SetVendorId | Sets the ID of the third-party vendor that may access entities of this Schema under the Vendor acess level, and to generally identify the owner of this Schema. |
![]() | SetWriteAccessLevel | Sets top level write access (for entities) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object) |
![]() ![]() | VendorIdIsValid | Checks whether the given vendor ID string is valid. A valid vendor ID string: 1. Has a length of at least 4 characters and no more than 253 characters, and 2. Contains only letters, digits, or any of the following special characters: ! " # & \ ( ) + , . - : ; < = > ? _ ` | ~ |
// Create a data structure, attach it to a wall, populate it with data, and retrieve the data back from the wall void StoreDataInWall(Wall wall, XYZ dataToStore) { using (Transaction createSchemaAndStoreData = new Transaction(wall.Document, "tCreateAndStore")) { createSchemaAndStoreData.Start(); SchemaBuilder schemaBuilder = new SchemaBuilder(new Guid("720080CB-DA99-40DC-9415-E53F280AA1F0")); schemaBuilder.SetReadAccessLevel(AccessLevel.Public); // allow anyone to read the object schemaBuilder.SetWriteAccessLevel(AccessLevel.Vendor); // restrict writing to this vendor only schemaBuilder.SetVendorId("ADSK"); // required because of restricted write-access schemaBuilder.SetSchemaName("WireSpliceLocation"); FieldBuilder fieldBuilder = schemaBuilder.AddSimpleField("WireSpliceLocation", typeof(XYZ)); // create a field to store an XYZ fieldBuilder.SetSpec(SpecTypeId.Length); fieldBuilder.SetDocumentation("A stored location value representing a wiring splice in a wall."); Schema schema = schemaBuilder.Finish(); // register the Schema object Entity entity = new Entity(schema); // create an entity (object) for this schema (class) Field fieldSpliceLocation = schema.GetField("WireSpliceLocation"); // get the field from the schema entity.Set<XYZ>(fieldSpliceLocation, dataToStore, UnitTypeId.Meters); // set the value for this entity wall.SetEntity(entity); // store the entity in the element // get the data back from the wall Entity retrievedEntity = wall.GetEntity(schema); XYZ retrievedData = retrievedEntity.Get<XYZ>(schema.GetField("WireSpliceLocation"), UnitTypeId.Meters); createSchemaAndStoreData.Commit(); } }