Rebar Class |
Represents a rebar element in Autodesk Revit.

Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

The Rebar type exposes the following members.

Name | Description | |
---|---|---|
![]() | AssemblyInstanceId | The id of the assembly instance to which the element belongs. (Inherited from Element ) |
![]() ![]() | BoundingBox | Retrieves a box that circumscribes all geometry of the element. (Inherited from Element ) |
![]() | CanHaveVaryingLengthBars | Identifies if a set can have varying length bars or not. |
![]() | Category | Retrieves a Category object that represents the category or sub category in which the element resides. (Inherited from Element ) |
![]() ![]() | CreatedPhaseId | Id of a Phase at which the Element was created. (Inherited from Element ) |
![]() ![]() | DemolishedPhaseId | Id of a Phase at which the Element was demolished. (Inherited from Element ) |
![]() ![]() | DesignOption | Returns the design option to which the element belongs. (Inherited from Element ) |
![]() | DistributionType | Obsolete. The type of rebar distribution(also known as Rebar Set Type). |
![]() | Document | Returns the Document in which the Element resides. (Inherited from Element ) |
![]() ![]() | Geometry | Retrieves the geometric representation of the element. (Inherited from Element ) |
![]() | GroupId | The id of the group to which an element belongs. (Inherited from Element ) |
![]() | HasVariableLengthBars | Identifies if a set has varying length bars or not. |
![]() ![]() | Id | A unique identifier for an Element in an Autodesk Revit project. (Inherited from Element ) |
![]() | IncludeFirstBar | Identifies if the first bar in rebar set is shown. |
![]() | IncludeLastBar | Identifies if the last bar in rebar set is shown. |
![]() | IsModifiable | Identifies if the element is modifiable. (Inherited from Element ) |
![]() | IsTransient | Indicates whether an element is transient or permanent. (Inherited from Element ) |
![]() | IsValidObject | Specifies whether the .NET object represents a valid Revit entity. (Inherited from Element ) |
![]() | LayoutRule | Identifies the layout rule of rebar set. |
![]() | LevelId | The id of the level associated with the element. (Inherited from Element ) |
![]() ![]() | Location | This property is used to find the physical location of an element within a project. (Inherited from Element ) |
![]() | MaxSpacing | Identifies the maximum spacing between rebar in rebar set. |
![]() | Name | A human readable name for the Element. (Inherited from Element ) |
![]() | NumberOfBarPositions | The number of potential bars in the set. |
![]() | OwnerViewId | The id of the view that owns the element. (Inherited from Element ) |
![]() ![]() | Parameter BuiltInParameter | Retrieves a parameter from the element given a parameter id. (Inherited from Element ) |
![]() | Parameter Definition | Retrieves a parameter from the element based on its definition. (Inherited from Element ) |
![]() | Parameter Guid | Retrieves a parameter from the element given a GUID for a shared parameter. (Inherited from Element ) |
![]() ![]() | Parameters | Retrieves a set containing all of the parameters that are contained within the element. (Inherited from Element ) |
![]() | ParametersMap | Retrieves a map containing all of the parameters that are contained within the element. (Inherited from Element ) |
![]() | Pinned | Identifies if the element has been pinned to prevent changes. (Inherited from Element ) |
![]() | Quantity | Identifies the number of bars in rebar set. |
![]() | ReadOnlyParameters | 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. |
![]() | ScheduleMark | 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. |
![]() | TotalLength | The length of an individual bar multiplied by Quantity. |
![]() ![]() | UniqueId | A stable unique identifier for an element within the document. (Inherited from Element ) |
![]() | VersionGuid | Get the element version Guid. (Inherited from Element ) |
![]() | ViewSpecific | Identifies if the element is owned by a view. (Inherited from Element ) |
![]() | Volume | The volume of an individual bar multiplied by Quantity. |
![]() | WorksetId | Get Id of the Workset which owns the element. (Inherited from Element ) |

Name | Description | |
---|---|---|
![]() | ArePhasesModifiable | Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element. (Inherited from Element ) |
![]() | CanApplyPresentationMode | Checks if a presentation mode can be applied for this rebar in the given view. |
![]() | CanBeHidden | Indicates if the element can be hidden in the view. (Inherited from Element ) |
![]() | CanBeLocked | Identifies if the element can be locked. (Inherited from Element ) |
![]() | CanBeMatchedWithMultipleShapes | Checks if this Rebar can be matched with multiple Rebar Shapes. |
![]() | CanDeleteSubelement | Checks if given subelement can be removed from the element. (Inherited from Element ) |
![]() | CanHaveTypeAssigned | Identifies if the element can have a type assigned. (Inherited from Element ) |
![]() | CanSuppressFirstOrLastBar | Checks if the first or last bar in rebar set can be hidden in the given view. |
![]() | CanUseHookType | Checks if the specified RebarHookType id is of a valid RebarHookType for the Rebar's RebarBarType |
![]() | ChangeTypeId(ElementId) | Changes the type of the element. (Inherited from Element ) |
![]() | ClearPresentationMode | Sets the presentation mode for this rebar set to the default (either for a single view, or for all views). |
![]() | ConstraintsCanBeEdited | 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 |
![]() ![]() | ContainsValidArcRadiiForStyleAndBarType | Checks that all arcs in the chain of curves have radii that are not less than minimum bend radius for bar type and style |
![]() ![]() | CreateFreeForm(Document, Guid, RebarBarType, Element) | Creates a free form rebar that can have constraints. |
![]() ![]() | 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. |
![]() ![]() | 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. |
![]() ![]() ![]() | CreateFromCurves(Document, RebarStyle, RebarBarType, RebarHookType, RebarHookType, Element, XYZ, IList Curve , RebarHookOrientation, RebarHookOrientation, Boolean, Boolean) | Creates a new instance of a shape driven Rebar element within the project. |
![]() ![]() | CreateFromCurves(Document, RebarStyle, RebarBarType, RebarHookType, RebarHookType, Element, XYZ, IList Curve , RebarHookOrientation, RebarHookOrientation, Double, Double, ElementId, ElementId, Boolean, Boolean) | Creates a new instance of a shape driven Rebar element within the project. |
![]() ![]() | CreateFromCurvesAndShape(Document, RebarShape, RebarBarType, RebarHookType, RebarHookType, Element, XYZ, IList Curve , RebarHookOrientation, RebarHookOrientation) | 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 |
![]() ![]() | CreateFromCurvesAndShape(Document, RebarShape, RebarBarType, RebarHookType, RebarHookType, Element, XYZ, IList Curve , RebarHookOrientation, RebarHookOrientation, Double, Double, ElementId, ElementId) | 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. |
![]() ![]() ![]() | CreateFromRebarShape | 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. |
![]() | DeleteEntity | Deletes the existing entity created by %schema% in the element (Inherited from Element ) |
![]() | DeleteSubelement | Removes a subelement from the element. (Inherited from Element ) |
![]() | DeleteSubelements | Removes the subelements from the element. (Inherited from Element ) |
![]() | Dispose | (Inherited from Element ) |
![]() | DoesBarExistAtPosition | Checks whether a bar is included at the specified position. |
![]() | EnableHookLengthOverride | Enables or disables the ability to override hook lengths for this rebar instance. |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object ) |
![]() | EvaluateAllParameterValues | Evaluates all the parameters' values of the element. (Inherited from Element ) |
![]() | EvaluateParameterValues | Evaluate the parameters' values of the element on the given parameter ID set. (Inherited from Element ) |
![]() | FindMatchingPredefinedPresentationMode | Determines if there is a matching RebarPresentationMode for the current set of selected hidden and unhidden bars assigned to the given view. |
![]() | GetAllRebarShapeIds | Gets the ids of the RebarShapes elements that defines the shapes of the rebar. |
![]() | GetBarIndexFromReference | Given a reference that represents a part of a bar, this method will return the bar index. |
![]() | GetBendData | Gets the RebarBendData, containing bar and hook information, of the instance. |
![]() | GetCenterlineCurves | A chain of curves representing the centerline of the rebar. |
![]() | GetCouplerId | Get the id of the Rebar Coupler that is applied to the rebar at the specified end. |
![]() | GetDependentElements | Get all elements that, from a logical point of view, are the children of this Element. (Inherited from Element ) |
![]() ![]() | GetEndTreatmentTypeId | Get the id of the EndTreatmentType to be applied to the rebar. |
![]() | 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 ) |
![]() | GetEntitySchemaGuids | Returns the Schema guids of any Entities stored in this element. (Inherited from Element ) |
![]() | GetExternalFileReference | Gets information pertaining to the external file referenced by the element. (Inherited from Element ) |
![]() | GetExternalResourceReference | Gets the ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) |
![]() | GetExternalResourceReferenceExpanded | Gets the collection of ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) |
![]() | GetExternalResourceReferences | Gets the map of the external resource references referenced by the element. (Inherited from Element ) |
![]() | GetExternalResourceReferencesExpanded | Gets the expanded map of the external resource references referenced by the element. (Inherited from Element ) |
![]() | GetFreeFormAccessor | Returns an interface providing access to free-form properties and methods for this Rebar element. |
![]() | GetFullGeometryForView | Generates full geometry for the Rebar for a specific view. |
![]() ![]() | GetGeneratingElementIds | Returns the ids of the element(s) that generated the input geometry object. (Inherited from Element ) |
![]() | GetGeometryObjectFromReference | Retrieve one geometric primitive contained in the element given a reference. (Inherited from Element ) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object ) |
![]() | GetHookOrientation | 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. |
![]() | GetHookRotationAngle | Gets the out of plane hook rotation angle at the specified end. |
![]() | GetHookTypeId | Get the id of the RebarHookType to be applied to the rebar. |
![]() | GetHostId | The element that contains the rebar. |
![]() | GetLapLength | Gets the lap length that is used for the specified end - 0 for start, 1 for end. |
![]() | GetMaterialArea | Gets the area of the material with the given id. (Inherited from Element ) |
![]() | GetMaterialIds | Gets the element ids of all materials present in the element. (Inherited from Element ) |
![]() | GetMaterialVolume | Gets the volume of the material with the given id. (Inherited from Element ) |
![]() | GetMonitoredLinkElementIds | Provides the link instance IDs when the element is monitoring. (Inherited from Element ) |
![]() | GetMonitoredLocalElementIds | Provides the local element IDs when the element is monitoring. (Inherited from Element ) |
![]() | GetMovedBarTransform | Returns a transform representing the movement of the bar relative to its default position along the distribution path. |
![]() | GetOrderedParameters | Gets the parameters associated to the element in order. (Inherited from Element ) |
![]() | GetOverridableHookParameters | Outputs the formula parameter ids defined in the RebarShape family which are associated with hook length and hook tangent length parameters. |
![]() | GetParameter | Retrieves a parameter from the element given identifier. (Inherited from Element ) |
![]() | GetParameterFormatOptions | Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists. (Inherited from Element ) |
![]() | GetParameters | Retrieves the parameters from the element via the given name. (Inherited from Element ) |
![]() | GetParameterValueAtIndex | Get the parameter value for a bar at the specified index. |
![]() | GetPhaseStatus | Gets the status of a given element in the input phase (Inherited from Element ) |
![]() | GetPresentationMode | Gets the presentation mode for this rebar set when displayed in the given view. |
![]() | GetRebarConstraintsManager | Returns an object for managing the external constraints on the Rebar element |
![]() | GetRebarSplice | Gets the rebar splice at the specified bar end - 0 for start, 1 for end. |
![]() | GetReinforcementRoundingManager | Returns an object for managing reinforcement rounding override settings. |
![]() | GetShapeDrivenAccessor | Returns an interface providing access to shape-driven properties and methods for this Rebar element. |
![]() | GetShapeId | Returns the id of the RebarShape element that defines the shape of the rebar. |
![]() | GetSpliceStaggerLength | Gets the stagger length that is used for the specified end - 0 for start, 1 for end. |
![]() | GetSubelements | Returns the collection of element subelements. (Inherited from Element ) |
![]() | GetTransformedCenterlineCurves | A chain of curves representing the centerline of the rebar. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object ) |
![]() ![]() | GetTypeId | Returns the identifier of this element's type. (Inherited from Element ) |
![]() | GetValidTypes | Obtains a set of types that are valid for this element. (Inherited from Element ) |
![]() | HasPhases | Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId. (Inherited from Element ) |
![]() | HasPresentationOverrides | Identifies if this Rebar has overridden default presentation settings for the given view. |
![]() | 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. |
![]() | IsBarHidden | Identifies if a given bar in this rebar set is hidden in this view. |
![]() | IsCreatedPhaseOrderValid | Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) |
![]() | IsDemolishedPhaseOrderValid | Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) |
![]() | IsExternalFileReference | Determines whether this Element represents an external file. (Inherited from Element ) |
![]() | IsHidden | Identifies if the element has been permanently hidden in the view. (Inherited from Element ) |
![]() | IsHookLengthOverrideEnabled | Returns True if the ability to override hook lengths is enabled for this rebar instance, False otherwise. |
![]() | IsMonitoringLinkElement | Indicate whether an element is monitoring any elements in any linked models. (Inherited from Element ) |
![]() | IsMonitoringLocalElement | Indicate whether an element is monitoring other local elements. (Inherited from Element ) |
![]() | IsPhaseCreatedValid | Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element. (Inherited from Element ) |
![]() | IsPhaseDemolishedValid | Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element. (Inherited from Element ) |
![]() | IsRebarFreeForm | Returns true if the rebar is free form and false if shape driven. |
![]() | IsRebarInSection | Identifies if this Rebar is cut by the view plane of the given view. |
![]() | IsRebarShapeDriven | Returns true if the rebar is shape driven and false if free form. |
![]() | IsUnobscuredInView | Checks if this rebar element is shown unobscured in a view. |
![]() | IsValidType(ElementId) | Checks if given type is valid for this element. (Inherited from Element ) |
![]() | LookupParameter | Attempts to find a parameter on the element which has the given name. (Inherited from Element ) |
![]() | MoveBarInSet | 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. |
![]() ![]() | RebarShapeMatchesCurvesAndHooks | 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. |
![]() ![]() | RebarShapeMatchesCurvesHooksAndEndTreatment | 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. |
![]() | RefersToExternalResourceReference | Determines whether this Element uses external resources associated with a specified external resource type. (Inherited from Element ) |
![]() | RefersToExternalResourceReferences | Determines whether this Element uses external resources. (Inherited from Element ) |
![]() | RemoveSplice | Removes the splice relation at the specified end and all the Rebar Constraints involved in splice. |
![]() | ResetMovedBarTransform | 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. |
![]() | SetBarHiddenStatus | Sets the bar in this rebar set to be hidden or unhidden in the given view. |
![]() | SetBarIncluded | Sets if the bar at the desired index is included or not. |
![]() | SetEndTreatmentTypeId | 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. |
![]() | SetEntity | Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten. (Inherited from Element ) |
![]() | 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. |
![]() | SetHookRotationAngle | Sets the out of plane hook rotation angle at the specified end. |
![]() | SetHookTypeId | 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. |
![]() | SetHostId | The element that contains the rebar. |
![]() | SetPresentationMode | Sets the presentation mode for this rebar set when displayed in the given view. |
![]() | SetUnobscuredInView | Sets this rebar element to be shown unobscured in a view. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object ) |

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);
}
