Rebar
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
AssemblyInstanceId
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
GroupId
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
IncludeFirstBar
Identifies if the first bar in rebar set is shown.
Public Property
IncludeLastBar
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
LayoutRule
Identifies the layout rule of rebar set.
Public Property
LevelId
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
MaxSpacing
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
OwnerViewId
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
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.
Public Property
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.
Public Property
TotalLength
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
ViewSpecific
Identifies if the element is owned by a view.
(Inherited from Element)
Public Property
Volume
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
CanApplyPresentationMode
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
CanBeLocked
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
CanDeleteSubelement
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
CanSuppressFirstOrLastBar
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
ClearPresentationMode
Sets the presentation mode for this rebar set to the default (either for a single view, or for all views).
Public Method
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
Public Method
Static Member
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
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
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.
Public Method
Static Member
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.
Public Method
Static Member
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
Public Method
Static Member
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.
Public Method
Static Member
Code Example
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.
Public Method
DeleteEntity
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
Dispose
(Inherited from Element)
Public Method
DoesBarExistAtPosition
Checks whether a bar is included at the specified position.
Public Method
EnableHookLengthOverride
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
EvaluateAllParameterValues
Evaluates all the parameters’ values of the element.
(Inherited from Element)
Public Method
EvaluateParameterValues
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
GetCouplerId
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
GetEndTreatmentTypeId
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
GetEntitySchemaGuids
Returns the Schema guids of any Entities stored in this element.
(Inherited from Element)
Public Method
GetExternalFileReference
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
GetFreeFormAccessor
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
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.
Public Method
GetHookRotationAngle
Gets the out of plane hook rotation angle at the specified end.
Public Method
GetHookTypeId
Get the id of the RebarHookType to be applied to the rebar.
Public Method
GetHostId
The element that contains the rebar.
Public Method
GetLapLength
Gets the lap length that is used for the specified end - 0 for start, 1 for end.
Public Method
GetMaterialArea
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
GetMaterialVolume
Gets the volume of the material with the given id.
(Inherited from Element)
Public Method
GetMonitoredLinkElementIds
Provides the link instance IDs when the element is monitoring.
(Inherited from Element)
Public Method
GetMonitoredLocalElementIds
Provides the local element IDs when the element is monitoring.
(Inherited from Element)
Public Method
GetMovedBarTransform
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
GetParameterFormatOptions
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
GetPhaseStatus
Gets the status of a given element in the input phase
(Inherited from Element)
Public Method
GetPresentationMode
Gets the presentation mode for this rebar set when displayed in the given view.
Public Method
GetRebarConstraintsManager
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
GetReinforcementRoundingManager
Returns an object for managing reinforcement rounding override settings.
Public Method
GetShapeDrivenAccessor
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
GetSpliceStaggerLength
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
GetValidTypes.
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
IsBarHidden
Identifies if a given bar in this rebar set is hidden in this view.
Public Method
IsCreatedPhaseOrderValid
Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element)
Public Method
IsDemolishedPhaseOrderValid
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
IsHookLengthOverrideEnabled
Returns True if the ability to override hook lengths is enabled for this rebar instance, False otherwise.
Public Method
IsMonitoringLinkElement
Indicate whether an element is monitoring any elements in any linked models.
(Inherited from Element)
Public Method
IsMonitoringLocalElement
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
IsRebarFreeForm
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
IsRebarShapeDriven
Returns true if the rebar is shape driven and false if free form.
Public Method
IsUnobscuredInView
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
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.
Public Method
Static Member
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.
Public Method
Static Member
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.
Public Method
RefersToExternalResourceReference
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
RemoveSplice
Removes the splice relation at the specified end and all the Rebar Constraints involved in splice.
Public Method
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.
Public Method
SetBarHiddenStatus
Sets the bar in this rebar set to be hidden or unhidden in the given view.
Public Method
SetBarIncluded
Sets if the bar at the desired index is included or not.
Public Method
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.
Public Method
SetEntity
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
SetHookRotationAngle
Sets the out of plane hook rotation angle at the specified end.
Public Method
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.
Public Method
SetHostId
The element that contains the rebar.
Public Method
SetPresentationMode
Sets the presentation mode for this rebar set when displayed in the given view.
Public Method
SetUnobscuredInView
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);}