Create Method (Document, Element, IList(Curve), Boolean, ElementId, ElementId, ElementId, ElementId)


Creates a new PathReinforcement object from an array of curves. The newly created object will use a default Rebar Shape.

Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 16.0.0.0 (16.0.0.0)
Since: 2015

Syntax

C#
public static PathReinforcement Create(
	Document document,
	Element hostElement,
	IList<Curve> curveArray,
	bool flip,
	ElementId pathReinforcementTypeId,
	ElementId rebarBarTypeId,
	ElementId startRebarHookTypeId,
	ElementId endRebarHookTypeId
)
Visual Basic
Public Shared Function Create ( _
	document As Document, _
	hostElement As Element, _
	curveArray As IList(Of Curve), _
	flip As Boolean, _
	pathReinforcementTypeId As ElementId, _
	rebarBarTypeId As ElementId, _
	startRebarHookTypeId As ElementId, _
	endRebarHookTypeId As ElementId _
) As PathReinforcement
Visual C++
public:
static PathReinforcement^ Create(
	Document^ document, 
	Element^ hostElement, 
	IList<Curve^>^ curveArray, 
	bool flip, 
	ElementId^ pathReinforcementTypeId, 
	ElementId^ rebarBarTypeId, 
	ElementId^ startRebarHookTypeId, 
	ElementId^ endRebarHookTypeId
)

Parameters

document
Type: Autodesk.Revit.DB Document
The document.
hostElement
Type: Autodesk.Revit.DB Element
The element that will host the PathReinforcement. The host can be a Structural Floor, Structural Wall, Structural Slab, or a Part created from a structural layer belonging to one of those element types.
curveArray
Type: System.Collections.Generic IList Curve
An array of curves that will define the outline of the PathReinforcement.
flip
Type: System Boolean
A flag controlling the bars relative to the curves.
pathReinforcementTypeId
Type: Autodesk.Revit.DB ElementId
The id of the PathReinforcementType.
rebarBarTypeId
Type: Autodesk.Revit.DB ElementId
The id of the RebarBarType.
startRebarHookTypeId
Type: Autodesk.Revit.DB ElementId
The id of the RebarHookType for the start of the bar. If this parameter is InvalidElementId, it means to create a rebar with no start hook.
endRebarHookTypeId
Type: Autodesk.Revit.DB ElementId
The id of the RebarHookType for the end of the bar. If this parameter is InvalidElementId, it means to create a rebar with no end hook.

Return Value

The newly created PathReinforcement.

Remarks

The method sets Rebar Shape of primary bars only.

Examples

Copy C#
PathReinforcement CreatePathReinforcement(Autodesk.Revit.DB.Document document, Wall wall)
{
    // Create a geometry line in the selected wall as the path
    List<Curve> curves = new List<Curve>();
    LocationCurve location = wall.Location as LocationCurve;
    XYZ start = location.Curve.GetEndPoint(0);
    XYZ end = location.Curve.GetEndPoint(1);
    curves.Add(Line.CreateBound(start, end));

    // Obtain the default types
    ElementId defaultRebarBarTypeId = document.GetDefaultElementTypeId(ElementTypeGroup.RebarBarType);
    ElementId defaultPathReinforcementTypeId = document.GetDefaultElementTypeId(ElementTypeGroup.PathReinforcementType);
    ElementId defaultHookTypeId = ElementId.InvalidElementId;

    // Begin to create the path reinforcement
    PathReinforcement rein = PathReinforcement.Create(document, wall, curves, true, defaultPathReinforcementTypeId, defaultRebarBarTypeId, defaultHookTypeId, defaultHookTypeId);
    if (null == rein)
    {
        throw new Exception("Create path reinforcement failed.");
    }

    // Give the user some information
    TaskDialog.Show("Revit","Create path reinforcement succeed.");

    return rein;
}
Copy VB.NET
Private Function CreatePathReinforcement(document As Autodesk.Revit.DB.Document, wall As Wall) As PathReinforcement
    ' Create a geometry line in the selected wall as the path
    Dim curves As New List(Of Curve)()
    Dim location As LocationCurve = TryCast(wall.Location, LocationCurve)
    Dim start As XYZ = location.Curve.GetEndPoint(0)
    Dim [end] As XYZ = location.Curve.GetEndPoint(1)
    curves.Add(Line.CreateBound(start, [end]))

    ' Obtain the default types
    Dim defaultRebarBarTypeId As ElementId = document.GetDefaultElementTypeId(ElementTypeGroup.RebarBarType)
    Dim defaultPathReinforcementTypeId As ElementId = document.GetDefaultElementTypeId(ElementTypeGroup.PathReinforcementType)
    Dim defaultHookTypeId As ElementId = ElementId.InvalidElementId

    ' Begin to create the path reinforcement
    Dim rein As PathReinforcement = PathReinforcement.Create(document, wall, curves, True, defaultPathReinforcementTypeId, defaultRebarBarTypeId, _
        defaultHookTypeId, defaultHookTypeId)
    If rein Is Nothing Then
        Throw New Exception("Create path reinforcement failed.")
    End If

    ' Give the user some information
    TaskDialog.Show("Revit", "Create path reinforcement succeed.")

    Return rein
End Function

Exceptions

Exception Condition
Autodesk.Revit.Exceptions ArgumentException The input curveArray is empty. -or- The input curveArray contains at least one helical curve and is not supported for this operation. -or- The element hostElement was not found in the given document. -or- the host Element is not a valid host for Area Reinforcement, Path Reinforcement, Fabric Area or Fabric Sheet. -or- curves in curveArray are not continuous and open. -or- pathReinforcementTypeId should refer to an Path Reinforcement Type element. -or- rebarBarTypeId should refer to an RebarBarType element. -or- startRebarHookTypeId should be invalid or refer to an RebarHookType element. -or- endRebarHookTypeId should be invalid or refer to an RebarHookType element.
Autodesk.Revit.Exceptions ArgumentNullException A non-optional argument was NULL
Autodesk.Revit.Exceptions DisabledDisciplineException None of the following disciplines is enabled: Structural.
Autodesk.Revit.Exceptions ForbiddenForDynamicUpdateException This method may not be called during dynamic update.

See Also