DirectShapeLibrary Class


Direct Shape Library Class

DirectShapeLibrary is used to store pre-created geometry for further referencing via the definition/instance mechanism. It is not persistent: the scope of a library object is usually a single data creation session. DirectShape::createGeometryInstance and DirectShape::CreateElementInstance will use the current DirectShapeLibrary to look up the definitions. store a collection of GNodes as definition end class DirectShapeDefinition
Inheritance Hierarchy
System Object
Autodesk.Revit.DB DirectShapeLibrary

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class DirectShapeLibrary : IDisposable

The DirectShapeLibrary type exposes the following members.

Properties
Name Description
Public property IsValidObject Specifies whether the .NET object represents a valid Revit entity.
Top
Methods
Name Description
Public method AddDefinition(String, GeometryObject) Add a definition to be reused by instances. A definition is a single geometry object.
Public method AddDefinition(String, IList GeometryObject ) Add a definition to be reused by instances. A definition is a collection of geometry objects.
Public method AddDefinitionType Add a definition to be reused by instances. Adding a definition type will change how the instances are created. When asked to create a definition, the library object will look for a corresponding type object. If one is found, it will create an instance of geometry stored in the type object. If it is not found, the library will look for a list of geometry objects stored as definition, and will copy and transform these to create an instance.
Public method Contains A quick check whether a definition already exists in the library. Checks for stored geometry objects only.
Public method ContainsType A quick check whether a definition type already exists in the library. Checks for type objects only.
Public method Dispose Releases all resources used by the DirectShapeLibrary
Public method Equals Determines whether the specified object is equal to the current object.
(Inherited from Object )
Public method FindDefinition Find a definition by id
Public method FindDefinitionType Find a DirectShapeType element by definition id. The element will be used for creating instances of that definition.
Public method Static member GetDirectShapeLibrary Get the currently active Library object
Public method GetHashCode Serves as the default hash function.
(Inherited from Object )
Public method GetType Gets the Type of the current instance.
(Inherited from Object )
Public method Reset Removes all definitions from library. This is useful when importing several self-contained data sets within one session. Once a data set is imported, keeping the definitions specific to that data set will slow down the searches.
Public method ToString Returns a string that represents the current object.
(Inherited from Object )
Top
Remarks
There are two ways to add a definition to the library. The first is to add the definition as an array of geometry objects. A DirectShape created as an instance of that definition will hold a copy of predefined geometry, transformed as requested. If the definition was added as a DirectShapeType, a DirectShape object created as an instance of that definition will reference the type. Its geometry would be an instance of type geometry.
See Also