DirectShape
Description:
This class is used to store externally created geometric shapes. Primary intended use is for importing shapes from other data formats such as IFC or STEP. A DirectShape object may be assigned a category.
This class is used to store externally created geometric shapes. Primary intended use is for importing shapes from other data formats such as IFC or STEP. A DirectShape object may be assigned a category.
Remarks:
DirectShape is not a replacement for "real" Wall, Roof, Window, etc. It would typically be used where there is not enough information to create, e.g., a Wall, or full functionality of a Wall object is not needed. Some category-specific functionality may be available. If you need to modify a shape held by a DirectShape object, use Revit Geometry API, and then store the modified shape back to the DirectShape object.
DirectShape is not a replacement for "real" Wall, Roof, Window, etc. It would typically be used where there is not enough information to create, e.g., a Wall, or full functionality of a Wall object is not needed. Some category-specific functionality may be available. If you need to modify a shape held by a DirectShape object, use Revit Geometry API, and then store the modified shape back to the DirectShape object.
public class DirectShape : Element
// Create a DirectShape Sphere
public void CreateSphereDirectShape(Document doc)
{
List<Curve> profile = new List<Curve>();
// first create sphere with 2' radius
XYZ center = XYZ.Zero;
double radius = 2.0;
XYZ profile00 = center;
XYZ profilePlus = center + new XYZ(0, radius, 0);
XYZ profileMinus = center - new XYZ(0, radius, 0);
profile.Add(Line.CreateBound(profilePlus, profileMinus));
profile.Add(Arc.Create(profileMinus, profilePlus, center + new XYZ(radius, 0, 0)));
CurveLoop curveLoop = CurveLoop.Create(profile);
SolidOptions options = new SolidOptions(ElementId.InvalidElementId, ElementId.InvalidElementId);
Frame frame = new Frame(center, XYZ.BasisX, -XYZ.BasisZ, XYZ.BasisY);
if (Frame.CanDefineRevitGeometry(frame) == true)
{
Solid sphere = GeometryCreationUtilities.CreateRevolvedGeometry(frame, new CurveLoop[] { curveLoop }, 0, 2 * Math.PI, options);
using (Transaction t = new Transaction(doc, "Create sphere direct shape"))
{
t.Start();
// create direct shape and assign the sphere shape
DirectShape ds = DirectShape.CreateElement(doc, new ElementId(BuiltInCategory.OST_GenericModel));
ds.ApplicationId = "Application id";
ds.ApplicationDataId = "Geometry object id";
ds.SetShape(new GeometryObject[] { sphere });
t.Commit();
}
}
}
| Name | Return Type | Description | Inherited From |
|---|---|---|---|
| AddExternallyTaggedGeometry(ExternallyTaggedGeometryObject) | None | Adds the externally tagged geometry object to the DirectShape. | |
| AddReferenceCurve(Curve) | None | Adds a reference curve to the DirectShape. | |
| AddReferenceCurve(Curve, DirectShapeReferenceOptions) | None | Adds a reference curve to the DirectShape. | |
| AddReferencePlane(Plane) | None | Adds a reference plane to the DirectShape. The reference plane can either be bounded or unbounded. | |
| AddReferencePlane(Plane, BoundingBoxUV) | None | Adds a reference plane to the DirectShape. The reference plane can either be bounded or unbounded. | |
| AddReferencePlane(Plane, BoundingBoxUV, DirectShapeReferenceOptions) | None | Adds a reference plane to the DirectShape. The reference plane can either be bounded or unbounded. | |
| AddReferencePlane(Plane, DirectShapeReferenceOptions) | None | Adds a reference plane to the DirectShape. The reference plane can either be bounded or unbounded. | |
| AddReferencePoint(XYZ) | None | Adds a reference point to the DirectShape. | |
| AddReferencePoint(XYZ, DirectShapeReferenceOptions) | None | Adds a reference point to the DirectShape. | |
| AppendShape(IList<GeometryObject>) | None | Appends the collection of GeometryObjects into the model shape representation stored in this DirectShape. | |
| AppendShape(IList<GeometryObject>, DirectShapeTargetViewType) | None | Appends the collection of GeometryObjects into the model or view specific shape representation stored in this DirectShape. Passing DirectShapeTargetViewType.Default as view type will cause the model shape to be updated. | |
| AppendShape(ShapeBuilder) | None | Appends shape built by the supplied ShapeBuilderObject to shape representation stored in this DirectShape. The data stored in the supplied ShapeBuilder object will be cleared. | |
| AreOptionsValidForTransientDirectShape(DirectShapeOptions) | bool | Validates that the given DirectShapeOptions are allowed if this DirectShape is transient. | |
| AreOptionsValid(DirectShapeOptions) | bool | Validates that the given DirectShapeOptions are allowed for this particular DirectShape. | |
| AreValidDirectShapeReferenceOptions(DirectShapeReferenceOptions) | bool | Validates that the input DirectShapeReferenceOptions are suitable for creating a direct shape reference object. If the options specify an ExternalGeometryId, it must not correspond to any existing reference object belonging to the DirectShape. | |
| CanCreateParts() | bool | Indicates if it is possible to create parts from this DirectShape element. | |
| CreateElementInstance(Document, ElementId, ElementId, String, Transform) | DirectShape | Creates a DirectShape object and adds it to document. | |
| CreateElement(Document, ElementId) | DirectShape | Creates a DirectShape object and adds it to document. | |
| CreateGeometryInstance(Document, String, Transform) | IList<GeometryObject> | Creates a copy of a definition shape that was created earlier. | |
| GetExternallyTaggedGeometry(ExternalGeometryId) | nullNothingnullptr | Gets the externally tagged geometry by its external ID that is stored in this DirectShape. | |
| GetExternallyTaggedReference(ExternalGeometryId) | nullNothingnullptr | Retrieve a Reference to reference geometry of the DirectShape that is associated with a particular ExternalGeometryId. | |
| GetOptions() | DirectShapeOptions | Gets a copy of the current options for this DirectShape. | |
| HasExternalGeometry(ExternalGeometryId) | bool | Checks whether the externally tagged geometry is already present in this DirectShape. | |
| HasExternallyTaggedReference(ExternalGeometryId) | bool | Checks if the externally tagged reference is already present in this DirectShape. | |
| IsSupportedDocument(Document) | bool | Tests whether a DirectShape or a DirectShapeType may be created in this document. | |
| IsValidCategoryId(ElementId, Document) | bool | Test the category id to make sure the category is allowed for a DirectShape or DirectShapeType. | |
| IsValidGeometry(Solid) | bool | Validates geometry to be stored in a DirectShape. Suitable geometry validation is performed. Additionally, the geometry must make sense as a shape representation for the category assigned to this DirectShape object. | |
| IsValidReferenceCurve(Curve) | bool | Validates that the input curve is suitable for creating a direct shape reference curve. Bounded and unbounded lines are accepted. Other bounded and unbounded curve types with natural bounds are accepted if they are not closed. | |
| IsValidReferencePlaneBoundingBoxUV(BoundingBoxUV) | bool | Validates that the input BoundingBoxUV is suitable for bounding a reference plane surface. The input BoundingBoxUV must be set and not degenerate. | |
| IsValidShape(ExternallyTaggedGeometryObject) | bool | Validates shape to be stored in a DirectShape. | |
| IsValidShape(IList<GeometryObject>) | bool | Validates shape to be stored in a DirectShape. Supercedes and extends IsValidGeometry(). | |
| IsValidShape(IList<GeometryObject>, DirectShapeTargetViewType) | bool | Validates view-specific shape to be stored in a DirectShape. Expects a non-default view type. | |
| IsValidTypeId(ElementId) | bool | Tests the type id to make sure it satisfies the following conditions It is a valid element id.It corresponds to a valid DirectShapeType.The DirectShapeType has the same category assigned. | |
| IsValidUsage(ExternallyTaggedGeometryObject) | bool | Validates that the ExternallyTaggedGeometryObject's usage is set to an allowed value for a DirectShape. | |
| RemoveAllReferenceObjects() | None | Removes all reference objects (if any) from the DirectShape. | |
| RemoveExternallyTaggedGeometry(ExternalGeometryId) | None | Removes the externally tagged geometry object by its external ID from this DirectShape. | |
| RemoveReferenceObject(ExternalGeometryId) | None | Removes any reference object associated with the provided ExternalGeometryId from the DirectShape. Nothing is done if no reference object has the given external ID or if the external ID is an empty string. | |
| RemoveReferenceObject(String) | None | Removes any reference objects with the given name from the DirectShape. Nothing is done if no reference objects have the given name or if the name is the empty string. | |
| ResetExternallyTaggedGeometry() | None | Removes all of the externally tagged geometry in this DirectShape. | |
| SetName(String) | None | Sets the name for the DirectShape element. | |
| SetOptions(DirectShapeOptions) | None | Sets the options to use for this DirectShape. | |
| SetShape(IList<GeometryObject>) | None | Builds the shape of this object from the supplied collection of GeometryObjects. The objects are copied. If the new shape is identical to the old one, the old shape will be kept. | |
| SetShape(IList<GeometryObject>, DirectShapeTargetViewType) | None | Builds the shape of this object from the supplied collection of GeometryObjects. The objects are copied. If the new shape is identical to the old one, the old shape will be kept. | |
| SetShape(ShapeBuilder) | None | Sets the shape of this object to the one accumulated in the supplied Builder object. If the new shape is identical to the old one, the old shape will be kept. | |
| SetTypeId(ElementId) | None | Sets the DirectShapeType for the DirectShape element. | |
| UpdateExternallyTaggedGeometry(ExternallyTaggedGeometryObject) | None | Updates the externally tagged geometry object in the DirectShape. | |
| ArePhasesModifiable() | bool | Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element. | Element |
| CanBeHidden(View) | bool | Indicates if the element can be hidden in the view. | Element |
| CanBeLocked() | bool | Identifies if the element can be locked. | Element |
| CanDeleteSubelement(Subelement) | bool | Checks if given subelement can be removed from the element. | Element |
| CanHaveTypeAssigned() | bool | Identifies if the element can have a type assigned. | Element |
| CanHaveTypeAssigned(Document, ICollection<ElementId>) | bool | Checks if all elements in the set can have a type assigned. | Element |
| ChangeTypeId(Document, ICollection<ElementId>, ElementId) | IDictionary | Changes the type of all elements in the given set. | Element |
| ChangeTypeId(ElementId) | ElementId | Changes the type of the element. | Element |
| DeleteEntity(Schema) | bool | Deletes the existing entity created by %schema% in the element | Element |
| DeleteSubelement(Subelement) | bool | Removes a subelement from the element. | Element |
| DeleteSubelements(IList<Subelement>) | bool | Removes the subelements from the element. | Element |
| Dispose() | None | Releases all resources used by the | Element |
| EvaluateAllParameterValues() | EvaluatedParameter | Evaluates all the parameters' values of the element. | Element |
| EvaluateParameterValues(ISet<ElementId>) | EvaluatedParameter | Evaluate the parameters' values of the element on the given parameter ID set. | Element |
| GetChangeTypeAny() | ChangeType | Returns ChangeType associated with any change in an element. | Element |
| GetChangeTypeElementAddition() | ChangeType | Returns ChangeType associated with element addition | Element |
| GetChangeTypeElementDeletion() | ChangeType | Returns ChangeType associated with element deletion. | Element |
| GetChangeTypeGeometry() | ChangeType | Returns ChangeType associated with a change in the geometry of an element | Element |
| GetChangeTypeParameter(ElementId) | ChangeType | Returns ChangeType associated with a change in a parameter's value | Element |
| GetChangeTypeParameter(Parameter) | ChangeType | Returns ChangeType associated with a change in a parameter's value | Element |
| GetDependentElements(ElementFilter) | IList<ElementId> | Get all elements that, from a logical point of view, are the children of this Element. | Element |
| GetEntity(Schema) | The returned Entity. | Returns the existing entity corresponding to the Schema if it has been saved in the Element, or an invalid entity otherwise. | Element |
| GetEntitySchemaGuids() | IList<Guid> | Returns the Schema guids of any Entities stored in this element. | Element |
| GetExternalFileReference() | ExternalFileReference | Gets information pertaining to the external file referenced by the element. | Element |
| GetExternalResourceReferenceExpanded(ExternalResourceType) | IList<ExternalResourceReference> | Gets the collection of ExternalResourceReference associated with a specified external resource type. | Element |
| GetExternalResourceReference(ExternalResourceType) | ExternalResourceReference | Gets the ExternalResourceReference associated with a specified external resource type. | Element |
| GetExternalResourceReferencesExpanded() | IDictionary | Gets the expanded map of the external resource references referenced by the element. | Element |
| GetExternalResourceReferences() | IDictionary | Gets the map of the external resource references referenced by the element. | Element |
| GetGeneratingElementIds(GeometryObject) | ICollection<ElementId> | Returns the ids of the element(s) that generated the input geometry object. | Element |
| GetGeometryObjectFromReference(Reference) | GeometryObject | Retrieve one geometric primitive contained in the element given a reference. | Element |
| GetMaterialArea(ElementId, Boolean) | double | Gets the area of the material with the given id. | Element |
| GetMaterialIds(Boolean) | ICollection<ElementId> | Gets the element ids of all materials present in the element. | Element |
| GetMaterialVolume(ElementId) | double | Gets the volume of the material with the given id. | Element |
| GetMonitoredLinkElementIds() | IList<ElementId> | Provides the link instance IDs when the element is monitoring. | Element |
| GetMonitoredLocalElementIds() | IList<ElementId> | Provides the local element IDs when the element is monitoring. | Element |
| GetOrderedParameters() | IList<Parameter> | Gets the parameters associated to the element in order. | Element |
| GetParameterFormatOptions(ElementId) | FormatOptions | Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists. | Element |
| GetParameter(ForgeTypeId) | Parameter | Retrieves a parameter from the element given identifier. | Element |
| GetParameters(String) | IList<Parameter> | Retrieves the parameters from the element via the given name. | Element |
| GetPhaseStatus(ElementId) | ElementOnPhaseStatus | Gets the status of a given element in the input phase | Element |
| GetSubelements() | IList<Subelement> | Returns the collection of element subelements. | Element |
| GetTypeId() | ElementId | Returns the identifier of this element's type. | Element |
| GetValidTypes() | ICollection<ElementId> | Obtains a set of types that are valid for this element. | Element |
| GetValidTypes(Document, ICollection<ElementId>) | ICollection<ElementId> | Obtains a set of types that are valid for all given elements. | Element |
| HasPhases() | bool | Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId. | Element |
| IsCreatedPhaseOrderValid(ElementId) | bool | Returns true if createdPhaseId and demolishedPhaseId are in order. | Element |
| IsDemolishedPhaseOrderValid(ElementId) | bool | Returns true if createdPhaseId and demolishedPhaseId are in order. | Element |
| IsExternalFileReference() | bool | Determines whether this Element represents an external file. | Element |
| IsHidden(View) | bool | Identifies if the element has been permanently hidden in the view. | Element |
| IsMonitoringLinkElement() | bool | Indicate whether an element is monitoring any elements in any linked models. | Element |
| IsMonitoringLocalElement() | bool | Indicate whether an element is monitoring other local elements. | Element |
| IsPhaseCreatedValid(ElementId) | bool | Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element. | Element |
| IsPhaseDemolishedValid(ElementId) | bool | Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element. | Element |
| IsValidType(Document, ICollection<ElementId>, ElementId) | bool | Checks if given type is valid for the set of elements. | Element |
| IsValidType(ElementId) | bool | Checks if given type is valid for this element. | Element |
| LookupParameter(String) | nullNothingnullptr | Attempts to find a parameter on the element which has the given name. | Element |
| RefersToExternalResourceReference(ExternalResourceType) | bool | Determines whether this Element uses external resources associated with a specified external resource type. | Element |
| RefersToExternalResourceReferences() | bool | Determines whether this Element uses external resources. | Element |
| SetEntity(Entity) | None | Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten. | Element |
| Name | Return Type | Description | Inherited From |
|---|---|---|---|
| ApplicationDataId | string | A text string that identifies the data to the creating application. | |
| ApplicationId | string | A text string that identifies the creating application. | |
| TypeId | ElementId | Element id of a DirectShapeType object that holds properties to be shared by this element. Optional. | |
| AssemblyInstanceId | ElementId | The id of the assembly instance to which the element belongs. | Element |
| BoundingBox | BoundingBoxXYZ | Retrieves a box that circumscribes all geometry of the element. | Element |
| Category | Category | Retrieves a Category object that represents the category or sub category in which the element resides. | Element |
| CreatedPhaseId | ElementId | Id of a Phase at which the Element was created. | Element |
| DemolishedPhaseId | ElementId | Id of a Phase at which the Element was demolished. | Element |
| DesignOption | DesignOption | Returns the design option to which the element belongs. | Element |
| Document | Document | Returns the Document in which the Element resides. | Element |
| Geometry | GeometryElement | Retrieves the geometric representation of the element. | Element |
| GroupId | ElementId | The id of the group to which an element belongs. | Element |
| Id | ElementId | A unique identifier for an Element in an Autodesk Revit project. | Element |
| IsModifiable | bool | Identifies if the element is modifiable. | Element |
| IsTransient | bool | Indicates whether an element is transient or permanent. | Element |
| IsValidObject | bool | Specifies whether the .NET object represents a valid Revit entity. | Element |
| LevelId | ElementId | The id of the level associated with the element. | Element |
| Location | Location | This property is used to find the physical location of an element within a project. | Element |
| Name | string | A human readable name for the Element. | Element |
| OwnerViewId | ElementId | The id of the view that owns the element. | Element |
| Parameter | Parameter | Retrieves a parameter from the element given a parameter id. | Element |
| Parameter | Parameter | Retrieves a parameter from the element based on its definition. | Element |
| Parameter | Parameter | Retrieves a parameter from the element given a GUID for a shared parameter. | Element |
| ParametersMap | ParameterMap | Retrieves a map containing all of the parameters that are contained within the element. | Element |
| Parameters | ParameterSet | Retrieves a set containing all of the parameters that are contained within the element. | Element |
| Pinned | bool | Identifies if the element has been pinned to prevent changes. | Element |
| UniqueId | string | A stable unique identifier for an element within the document. | Element |
| VersionGuid | Guid | Get the element version Guid. | Element |
| ViewSpecific | bool | Identifies if the element is owned by a view. | Element |
| WorksetId | WorksetId | Get Id of the Workset which owns the element. | Element |