Rebar Create |
Creates a new instance of a shape driven Rebar element within the project.
Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

public static Rebar CreateFromCurves(
Document doc,
RebarStyle style,
RebarBarType barType,
RebarHookType startHook,
RebarHookType endHook,
Element host,
XYZ norm,
IList<Curve> curves,
RebarHookOrientation startHookOrient,
RebarHookOrientation endHookOrient,
double hookRotationAngleAtStart,
double hookRotationAngleAtEnd,
ElementId endTreatmentTypeIdAtStart,
ElementId endTreatmentTypeIdAtEnd,
bool useExistingShapeIfPossible,
bool createNewShape
)
Parameters
- doc Document
- A document.
- style RebarStyle
- The usage of the bar, "standard" or "stirrup/tie".
- barType RebarBarType
- A RebarBarType element that defines bar diameter, bend radius and material of the rebar.
- startHook RebarHookType
- A RebarHookType element that defines the hook for the start of the bar. If this parameter is , it means to create a rebar with no hook.
- endHook RebarHookType
- A RebarHookType element that defines the hook for the end of the bar. If this parameter is , it means to create a rebar with no hook.
- host Element
- The element to which the rebar belongs. The element must support rebar hosting; [!:Autodesk::Revit::DB::Structure::RebarHostData] .
- norm XYZ
- The normal to the plane that the rebar curves lie on.
- curves IList Curve
- An array of curves that define the shape of the rebar curves. They must belong to the plane defined by the normal and origin. Bends and hooks should not be included in the array of curves.
- startHookOrient RebarHookOrientation
- Defines the orientation of the hook plane at the start of the rebar with respect to the orientation of the first curve and the plane normal. Only two values are permitted: Value = Right: The hook is on your right as you stand at the end of the bar, with the bar behind you, taking the bar's normal as "up." Value = Left: The hook is on your left as you stand at the end of the bar, with the bar behind you, taking the bar's normal as "up."
- endHookOrient RebarHookOrientation
- Defines the orientation of the hook plane at the end of the rebar with respect to the orientation of the last curve and the plane normal. Only two values are permitted: Value = Right: The hook is on your right as you stand at the end of the bar, with the bar behind you, taking the bar's normal as "up." Value = Left: The hook is on your left as you stand at the end of the bar, with the bar behind you, taking the bar's normal as "up."
- hookRotationAngleAtStart Double
- The out of plane hook rotation angle at the start of the bar.
- hookRotationAngleAtEnd Double
- The out of plane hook rotation angle at the end of the bar.
- endTreatmentTypeIdAtStart ElementId
- The end treatment type id at the start of the bar.
- endTreatmentTypeIdAtEnd ElementId
- The end treatment type id at the end of the bar.
- useExistingShapeIfPossible Boolean
- Attempts to assign a RebarShape from those existing in the document. If no shape matches, this function returns if createNewShape is false or it will create a new shape if createNewShape is true. When both parameters are "true", the behavior is the same as sketching rebar in the UI. At least one of these parameters must be "true". If the RebarShapeDefinesHooks flag in ReinforcementSettings has been set to false, and a RebarShape cannot be found with both matching curves and hooks, then this method will perform a second search, ignoring hook information.
- createNewShape Boolean
- Creates a shape in the document to match the curves, hooks, and style specified, and assigns it to the new rebar instance. Shape creation will not succeed unless one or more other shapes already exist in the document, and these shapes have enough shape parameters to define a shape for these curves.
Return Value
RebarThe newly created Rebar instance, or if the operation fails.

Exception | Condition |
---|---|
ArgumentException | The element host was not found in the given document. -or- host is not a valid rebar host. -or- The input curves is empty. -or- The input curves contains at least one curve which is not a bound Line or bound Arc and is not supported for this operation. -or- curves do not form a valid CurveLoop. -or- The input curves contains at least one helical curve and is not supported for this operation. -or- the parameter endTreatmentTypeIdAtStart is not an EndTreatmentType element. -or- the parameter endTreatmentTypeIdAtEnd is not an EndTreatmentType element. |
ArgumentNullException | A non-optional argument was null |
ArgumentOutOfRangeException | norm has zero length. -or- A value passed for an enumeration argument is not a member of that enumeration |
ArgumentsInconsistentException | Both useExistingShapeIfPossible and createNewShape are false. -or- curves contains non-fillet arcs with radii that are less than the minimum bend radius for the RebarBarType and bar style. |
