DirectShapeLibrary 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
SystemObject
  Autodesk.Revit.DBDirectShapeLibrary

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
 NameDescription
Public propertyIsValidObject Specifies whether the .NET object represents a valid Revit entity.
Top
Methods
 NameDescription
Public methodAddDefinition(String, GeometryObject) Add a definition to be reused by instances. A definition is a single geometry object.
Public methodAddDefinition(String, IListGeometryObject) Add a definition to be reused by instances. A definition is a collection of geometry objects.
Public methodAddDefinitionType 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 methodContains A quick check whether a definition already exists in the library. Checks for stored geometry objects only.
Public methodContainsType A quick check whether a definition type already exists in the library. Checks for type objects only.
Public methodDisposeReleases all resources used by the DirectShapeLibrary
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodFindDefinition Find a definition by id
Public methodFindDefinitionType Find a DirectShapeType element by definition id. The element will be used for creating instances of that definition.
Public methodStatic memberGetDirectShapeLibrary Get the currently active Library object
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodReset 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 methodToStringReturns 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