Skip to content

Rebar

Public Class

Represents a rebar element in Autodesk Revit.

Inheritance Hierarchy

System.Object
Autodesk.Revit.DB.Element
Autodesk.Revit.DB.Structure.Rebar

Namespace: Autodesk.Revit.DB.Structure

Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Syntax

public class Rebar : Element

The Rebar type exposes the following members.

Properties

Name

Description


Public Property

The id of the assembly instance to which the element belongs.
(Inherited from Element)


Public Property
Code Example
BoundingBox

Retrieves a box that circumscribes all geometry of the element.
(Inherited from Element)


Public Property
CanHaveVaryingLengthBars

Identifies if a set can have varying length bars or not.


Public Property
Category

Retrieves a Category object that represents the category or sub category in which the element resides.
(Inherited from Element)


Public Property
Code Example
CreatedPhaseId

Id of a Phase at which the Element was created.
(Inherited from Element)


Public Property
Code Example
DemolishedPhaseId

Id of a Phase at which the Element was demolished.
(Inherited from Element)


Public Property
Code Example
DesignOption

Returns the design option to which the element belongs.
(Inherited from Element)


Public Property
DistributionType

Obsolete.
The type of rebar distribution(also known as Rebar Set Type).


Public Property
Document

Returns the Document in which the Element resides.
(Inherited from Element)


Public Property
Code Example
Geometry

Retrieves the geometric representation of the element.
(Inherited from Element)


Public Property

The id of the group to which an element belongs.
(Inherited from Element)


Public Property
HasVariableLengthBars

Identifies if a set has varying length bars or not.


Public Property
Code Example
Id

A unique identifier for an Element in an Autodesk Revit project.
(Inherited from Element)


Public Property

Identifies if the first bar in rebar set is shown.


Public Property

Identifies if the last bar in rebar set is shown.


Public Property
IsModifiable

Identifies if the element is modifiable.
(Inherited from Element)


Public Property
IsTransient

Indicates whether an element is transient or permanent.
(Inherited from Element)


Public Property
IsValidObject

Specifies whether the .NET object represents a valid Revit entity.
(Inherited from Element)


Public Property

Identifies the layout rule of rebar set.


Public Property

The id of the level associated with the element.
(Inherited from Element)


Public Property
Code Example
Location

This property is used to find the physical location of an element within a project.
(Inherited from Element)


Public Property

Identifies the maximum spacing between rebar in rebar set.


Public Property
Name

A human readable name for the Element.
(Inherited from Element)


Public Property
NumberOfBarPositions

The number of potential bars in the set.


Public Property

The id of the view that owns the element.
(Inherited from Element)


Public Property
Code Example
Parameter.BuiltInParameter.

Retrieves a parameter from the element given a parameter id.
(Inherited from Element)


Public Property
Parameter.Definition.

Retrieves a parameter from the element based on its definition.
(Inherited from Element)


Public Property
Parameter.Guid.

Retrieves a parameter from the element given a GUID for a shared parameter.
(Inherited from Element)


Public Property
Code Example
Parameters

Retrieves a set containing all of the parameters that are contained within the element.
(Inherited from Element)


Public Property
ParametersMap

Retrieves a map containing all of the parameters that are contained within the element.
(Inherited from Element)


Public Property
Pinned

Identifies if the element has been pinned to prevent changes.
(Inherited from Element)


Public Property
Quantity

Identifies the number of bars in rebar set.


Public Property

When set to true, Rebar will report all its parameters as read only. For example, the method Parameter::IsReadOnly() for all Rebar Parameters will return true. When set to false, the return value of Parameter::IsReadOnly() will not be affected.


Public Property

The Schedule Mark parameter. On creation, the Schedule Mark is set to a value that is unique to the host, but it can be set to any value.


Public Property

The length of an individual bar multiplied by Quantity.


Public Property
Code Example
UniqueId

A stable unique identifier for an element within the document.
(Inherited from Element)


Public Property
VersionGuid

Get the element version Guid.
(Inherited from Element)


Public Property

Identifies if the element is owned by a view.
(Inherited from Element)


Public Property

The volume of an individual bar multiplied by Quantity.


Public Property
WorksetId

Get Id of the Workset which owns the element.
(Inherited from Element)


Methods

Name

Description


Public Method
ArePhasesModifiable

Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element.
(Inherited from Element)


Public Method

Checks if a presentation mode can be applied for this rebar in the given view.


Public Method
CanBeHidden

Indicates if the element can be hidden in the view.
(Inherited from Element)


Public Method

Identifies if the element can be locked.
(Inherited from Element)


Public Method
CanBeMatchedWithMultipleShapes

Checks if this Rebar can be matched with multiple Rebar Shapes.


Public Method

Checks if given subelement can be removed from the element.
(Inherited from Element)


Public Method
CanHaveTypeAssigned.

Identifies if the element can have a type assigned.
(Inherited from Element)


Public Method

Checks if the first or last bar in rebar set can be hidden in the given view.


Public Method
CanUseHookType

Checks if the specified RebarHookType id is of a valid RebarHookType for the Rebar’s RebarBarType


Public Method
ChangeTypeId(ElementId)

Changes the type of the element.
(Inherited from Element)


Public Method

Sets the presentation mode for this rebar set to the default (either for a single view, or for all views).


Public Method

For ShapeDriven Rebar: returns true, if the Rebar element’s external constraints are available for editing using the RebarConstraintsManager class. It will return false if Rebar is in Group

For FreeForm rebar: constraints can be edited if there is a valid external server Guid assigned to that Rebar


Public Method
Static Member

Checks that all arcs in the chain of curves have radii that are not less than minimum bend radius for bar type and style


Public Method
Static Member
CreateFreeForm(Document, Guid, RebarBarType, Element)

Creates a free form rebar that can have constraints.


Public Method
Static Member
CreateFreeForm(Document, RebarBarType, Element, IList.CurveLoop., RebarFreeFormValidationResult.)

Creates a free form rebar that will be unconstrained. Constraints can’t be added later to this rebar.


Public Method
Static Member
CreateFreeForm(Document, RebarBarType, Element, IList.IList.Curve.., RebarFreeFormValidationResult.)

Creates a free form rebar that will be unconstrained. Constraints can’t be added later to this rebar.


Public Method
Static Member
Code Example

Creates a new instance of a shape driven Rebar element within the project.


Public Method
Static Member

Creates a new instance of a shape driven Rebar element within the project.


Public Method
Static Member

Creates a new instance of a shape driven Rebar element within the project. The instance will have the default shape parameters from the RebarShape. If the RebarShapeDefinesHooks flag in ReinforcementSettings has been set to true, then both the curves and hooks must match the RebarShape definition. Otherwise, the hooks can be different than the defaults specified in the RebarShape


Public Method
Static Member

Creates a new instance of a shape driven Rebar element within the project. The instance will have the default shape parameters from the RebarShape. If the RebarShapeDefinesHooks flag in ReinforcementSettings has been set to true, then curves, hook types and hook rotation angles should match the rebar shape definition. Otherwise, the hooks can be different than the defaults specified in the RebarShape. If the RebarShapeDefinesEndTreatment flag in ReinforcementSettings has been set to true, then curves and end treatment types should match the rebar shape definition. Otherwise, the end treatment types can be different than the defaults specified in the RebarShape.


Public Method
Static Member
Code Example

Creates a new shape driven Rebar, as an instance of a RebarShape. The instance will have the default shape parameters from the RebarShape, and its location is based on the bounding box of the shape in the shape definition. Hooks are removed from the shape before computing its bounding box. If appropriate hooks can be found in the document, they will be assigned arbitrarily.


Public Method

Deletes the existing entity created by %schema% in the element
(Inherited from Element)


Public Method
DeleteSubelement

Removes a subelement from the element.
(Inherited from Element)


Public Method
DeleteSubelements

Removes the subelements from the element.
(Inherited from Element)


Public Method

(Inherited from Element)


Public Method

Checks whether a bar is included at the specified position.


Public Method

Enables or disables the ability to override hook lengths for this rebar instance.


Public Method

Equals

Determines whether the specified object is equal to the current object.
(Inherited from Object)


Public Method

Evaluates all the parameters’ values of the element.
(Inherited from Element)


Public Method

Evaluate the parameters’ values of the element on the given parameter ID set.
(Inherited from Element)


Public Method
FindMatchingPredefinedPresentationMode

Determines if there is a matching RebarPresentationMode for the current set of selected hidden and unhidden bars assigned to the given view.


Public Method
GetAllRebarShapeIds

Gets the ids of the RebarShapes elements that defines the shapes of the rebar.


Public Method
GetBarIndexFromReference

Given a reference that represents a part of a bar, this method will return the bar index.


Public Method
GetBendData

Gets the RebarBendData, containing bar and hook information, of the instance.


Public Method
GetCenterlineCurves

A chain of curves representing the centerline of the rebar.


Public Method

Get the id of the Rebar Coupler that is applied to the rebar at the specified end.


Public Method
GetDependentElements

Get all elements that, from a logical point of view, are the children of this Element.
(Inherited from Element)


Public Method
Code Example

Get the id of the EndTreatmentType to be applied to the rebar.


Public Method
GetEntity

Returns the existing entity corresponding to the Schema if it has been saved in the Element, or an invalid entity otherwise.
(Inherited from Element)


Public Method

Returns the Schema guids of any Entities stored in this element.
(Inherited from Element)


Public Method

Gets information pertaining to the external file referenced by the element.
(Inherited from Element)


Public Method
GetExternalResourceReference

Gets the ExternalResourceReference associated with a specified external resource type.
(Inherited from Element)


Public Method
GetExternalResourceReferenceExpanded

Gets the collection of ExternalResourceReference associated with a specified external resource type.
(Inherited from Element)


Public Method
GetExternalResourceReferences

Gets the map of the external resource references referenced by the element.
(Inherited from Element)


Public Method
GetExternalResourceReferencesExpanded

Gets the expanded map of the external resource references referenced by the element.
(Inherited from Element)


Public Method

Returns an interface providing access to free-form properties and methods for this Rebar element.


Public Method
GetFullGeometryForView

Generates full geometry for the Rebar for a specific view.


Public Method
Code Example
GetGeneratingElementIds

Returns the ids of the element(s) that generated the input geometry object.
(Inherited from Element)


Public Method
GetGeometryObjectFromReference

Retrieve one geometric primitive contained in the element given a reference.
(Inherited from Element)


Public Method

GetHashCode

Serves as the default hash function.
(Inherited from Object)


Public Method

Returns the orientation of the hook plane at the start or at the end of the rebar with respect to the orientation of the first or the last curve and the plane normal.


Public Method

Gets the out of plane hook rotation angle at the specified end.


Public Method

Get the id of the RebarHookType to be applied to the rebar.


Public Method

The element that contains the rebar.


Public Method

Gets the lap length that is used for the specified end - 0 for start, 1 for end.


Public Method

Gets the area of the material with the given id.
(Inherited from Element)


Public Method
GetMaterialIds

Gets the element ids of all materials present in the element.
(Inherited from Element)


Public Method

Gets the volume of the material with the given id.
(Inherited from Element)


Public Method

Provides the link instance IDs when the element is monitoring.
(Inherited from Element)


Public Method

Provides the local element IDs when the element is monitoring.
(Inherited from Element)


Public Method

Returns a transform representing the movement of the bar relative to its default position along the distribution path.


Public Method
GetOrderedParameters

Gets the parameters associated to the element in order.
(Inherited from Element)


Public Method
GetOverridableHookParameters

Outputs the formula parameter ids defined in the RebarShape family which are associated with hook length and hook tangent length parameters.


Public Method
GetParameter

Retrieves a parameter from the element given identifier.
(Inherited from Element)


Public Method

Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists.
(Inherited from Element)


Public Method
GetParameters

Retrieves the parameters from the element via the given name.
(Inherited from Element)


Public Method
GetParameterValueAtIndex

Get the parameter value for a bar at the specified index.


Public Method

Gets the status of a given element in the input phase
(Inherited from Element)


Public Method

Gets the presentation mode for this rebar set when displayed in the given view.


Public Method

Returns an object for managing the external constraints on the Rebar element


Public Method
GetRebarSplice

Gets the rebar splice at the specified bar end - 0 for start, 1 for end.


Public Method

Returns an object for managing reinforcement rounding override settings.


Public Method

Returns an interface providing access to shape-driven properties and methods for this Rebar element.


Public Method
GetShapeId

Returns the id of the RebarShape element that defines the shape of the rebar.


Public Method

Gets the stagger length that is used for the specified end - 0 for start, 1 for end.


Public Method
GetSubelements

Returns the collection of element subelements.
(Inherited from Element)


Public Method
GetTransformedCenterlineCurves

A chain of curves representing the centerline of the rebar.


Public Method

GetType

Gets the Type of the current instance.
(Inherited from Object)


Public Method
Code Example
GetTypeId

Returns the identifier of this element’s type.
(Inherited from Element)


Public Method

Obtains a set of types that are valid for this element.
(Inherited from Element)


Public Method
HasPhases

Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId.
(Inherited from Element)


Public Method
HasPresentationOverrides

Identifies if this Rebar has overridden default presentation settings for the given view.


Public Method
HookAngleMatchesRebarShapeDefinition

Checks that the hook angle of the specified RebarHookType matches the hook angle used in the Rebar’s RebarShape at the specified end of the bar.


Public Method

Identifies if a given bar in this rebar set is hidden in this view.


Public Method

Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element)


Public Method

Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element)


Public Method
IsExternalFileReference

Determines whether this Element represents an external file.
(Inherited from Element)


Public Method
IsHidden

Identifies if the element has been permanently hidden in the view.
(Inherited from Element)


Public Method

Returns True if the ability to override hook lengths is enabled for this rebar instance, False otherwise.


Public Method

Indicate whether an element is monitoring any elements in any linked models.
(Inherited from Element)


Public Method

Indicate whether an element is monitoring other local elements.
(Inherited from Element)


Public Method
IsPhaseCreatedValid

Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element.
(Inherited from Element)


Public Method
IsPhaseDemolishedValid

Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element.
(Inherited from Element)


Public Method

Returns true if the rebar is free form and false if shape driven.


Public Method
IsRebarInSection

Identifies if this Rebar is cut by the view plane of the given view.


Public Method

Returns true if the rebar is shape driven and false if free form.


Public Method

Checks if this rebar element is shown unobscured in a view.


Public Method
IsValidType(ElementId)

Checks if given type is valid for this element.
(Inherited from Element)


Public Method
LookupParameter

Attempts to find a parameter on the element which has the given name.
(Inherited from Element)


Public Method

This method applies the transformation matrix to the rebar bar at the desired position in the rebar set. If the bar was already moved, the method will concatenate the transformation matrix with the existing movement.


Public Method
Static Member

Checks if rebarShape matches curves and hooks. If the RebarShapeDefinesHooks flag in ReinforcementSettings has been set to false, then this method will ignore the hook information.


Public Method
Static Member

Checks if rebarShape matches curves, hooks and end treatment. If the RebarShapeDefinesHooks flag in ReinforcementSettings has been set to false, then this method will ignore the hook information. If the RebarShapeDefinesEndTreatment flag in ReinforcementSettings has been set to false, then this method will ignore the end treatment information.


Public Method

Determines whether this Element uses external resources associated with a specified external resource type.
(Inherited from Element)


Public Method
RefersToExternalResourceReferences

Determines whether this Element uses external resources.
(Inherited from Element)


Public Method

Removes the splice relation at the specified end and all the Rebar Constraints involved in splice.


Public Method

Reset the transformation representing the movement of the bar relative to its default position along the distribution path. The moved bar transform will be set to Identity.


Public Method
SetBarHiddenStatus

Sets the bar in this rebar set to be hidden or unhidden in the given view.


Public Method

Sets if the bar at the desired index is included or not.


Public Method

Sets the id of the EndTreatmentType to be applied to the rebar. This can be done if and only if the end of the bar on which the end treatment is applied has no RebarCoupler on it, otherwise will throw an exception. If a RebarHookType is present at the rebar end, it will automatically set to invalidElementId.


Public Method

Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten.
(Inherited from Element)


Public Method
SetHookOrientation

Defines the orientation of the hook plane at the start or at the end of the rebar with respect to the orientation of the first or the last curve and the plane normal.


Public Method

Sets the out of plane hook rotation angle at the specified end.


Public Method

Set the id of the RebarHookType to be applied to the rebar. If an EndTreatmentType is present at the rebar end, it will automatically set to invalidElementId.


Public Method

The element that contains the rebar.


Public Method

Sets the presentation mode for this rebar set when displayed in the given view.


Public Method

Sets this rebar element to be shown unobscured in a view.


Public Method

ToString

Returns a string that represents the current object.
(Inherited from Object)


Example

private void Getinfo_Rebar(Rebar rebar)
{
string message = "Rebar: ";
//get the bar type of the rebar
message += "\nBar Type: " + (rebar.Document.GetElement(rebar.GetTypeId()) as RebarBarType).Name;
//get the curve information
IList<Curve> curves = rebar.GetCenterlineCurves(false, false, false, MultiplanarOption.IncludeOnlyPlanarCurves, 0);
message += "\n\nThe Curves property has " + curves.Count + " curves:";
foreach (Curve curve in curves)
{
// Get curve start point
message += "\nCurve start point:(" + curve.GetEndPoint(0).X + ", "
+ curve.GetEndPoint(0).Y + ", " + curve.GetEndPoint(0).Z + ")";
// Get curve end point
message += "; Curve end point:(" + curve.GetEndPoint(1).X + ", "
+ curve.GetEndPoint(1).Y + ", " + curve.GetEndPoint(1).Z + ")";
}
//get the host element of the rebar
if (null != rebar.Document.GetElement(rebar.GetHostId())) //maybe some rebars don't have host
{
message += "\n\nThe host element ID : " + rebar.GetHostId().ToString();
}
TaskDialog.Show("Revit", message);
}