CreateFromCurvesAndShape Method (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.

Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 22.0.0.0 (22.1.0.0)
Since: 2021

Syntax

C#
public static Rebar CreateFromCurvesAndShape(
	Document doc,
	RebarShape rebarShape,
	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
)
Visual Basic
Public Shared Function CreateFromCurvesAndShape ( _
	doc As Document, _
	rebarShape As RebarShape, _
	barType As RebarBarType, _
	startHook As RebarHookType, _
	endHook As RebarHookType, _
	host As Element, _
	norm As XYZ, _
	curves As IList(Of Curve), _
	startHookOrient As RebarHookOrientation, _
	endHookOrient As RebarHookOrientation, _
	hookRotationAngleAtStart As Double, _
	hookRotationAngleAtEnd As Double, _
	endTreatmentTypeIdAtStart As ElementId, _
	endTreatmentTypeIdAtEnd As ElementId _
) As Rebar
Visual C++
public:
static Rebar^ CreateFromCurvesAndShape(
	Document^ doc, 
	RebarShape^ rebarShape, 
	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
)

Parameters

doc
Type: Autodesk.Revit.DB Document
A document.
rebarShape
Type: Autodesk.Revit.DB.Structure RebarShape
A RebarShape element that defines the shape of the rebar. A RebarShape element that matches curves, hooks, hook rotation angles and End Treatment. A RebarShape element that provides the RebarStyle of the rebar.
barType
Type: Autodesk.Revit.DB.Structure RebarBarType
A RebarBarType element that defines bar diameter, bend radius and material of the rebar.
startHook
Type: Autodesk.Revit.DB.Structure RebarHookType
A RebarHookType element that defines the hook for the start of the bar. If this parameter is a null reference ( Nothing in Visual Basic) , it means to create a rebar with no hook.
endHook
Type: Autodesk.Revit.DB.Structure RebarHookType
A RebarHookType element that defines the hook for the end of the bar. If this parameter is a null reference ( Nothing in Visual Basic) , it means to create a rebar with no hook.
host
Type: Autodesk.Revit.DB Element
The element to which the rebar belongs. The element must support rebar hosting; [!:Autodesk::Revit::DB::Structure::RebarHostData] .
norm
Type: Autodesk.Revit.DB XYZ
The normal to the plane that the rebar curves lie on.
curves
Type: System.Collections.Generic 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
Type: Autodesk.Revit.DB.Structure 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
Type: Autodesk.Revit.DB.Structure 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
Type: System Double
The out of plane hook rotation angle at the start of the bar.
hookRotationAngleAtEnd
Type: System Double
The out of plane hook rotation angle at the end of the bar.
endTreatmentTypeIdAtStart
Type: Autodesk.Revit.DB ElementId
The end treatment type id at the start of the bar.
endTreatmentTypeIdAtEnd
Type: Autodesk.Revit.DB ElementId
The end treatment type id at the end of the bar.

Return Value

The newly created Rebar instance, or a null reference ( Nothing in Visual Basic) if the operation fails.

Exceptions

Exception Condition
Autodesk.Revit.Exceptions 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.
Autodesk.Revit.Exceptions ArgumentNullException A non-optional argument was null
Autodesk.Revit.Exceptions ArgumentOutOfRangeException norm has zero length. -or- A value passed for an enumeration argument is not a member of that enumeration
Autodesk.Revit.Exceptions ArgumentsInconsistentException curves contains non-fillet arcs with radii that are less than the minimum bend radius for the RebarBarType and RebarShape style.
Autodesk.Revit.Exceptions DisabledDisciplineException None of the following disciplines is enabled: Structural.
Autodesk.Revit.Exceptions InvalidOperationException rebarShape does not match curves.

See Also