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: 25.3.0.0 (25.3.0.0)
Syntax
C#
public static PathReinforcement Create( Document document, Element hostElement, IList<Curve> curveArray, bool flip, ElementId pathReinforcementTypeId, ElementId rebarBarTypeId, ElementId startRebarHookTypeId, ElementId endRebarHookTypeId )
Parameters
- document Document
- The document.
- hostElement 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 IList<Curve>
- An array of curves that will define the outline of the PathReinforcement.
- flip Boolean
- A flag controlling the bars relative to the curves.
- pathReinforcementTypeId ElementId
- The id of the PathReinforcementType.
- rebarBarTypeId ElementId
- The id of the RebarBarType.
- startRebarHookTypeId 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 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
PathReinforcementThe newly created PathReinforcement.
Exceptions
Exception | Condition |
---|---|
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. |
ArgumentNullException | A non-optional argument was null |
ForbiddenForDynamicUpdateException | This method may not be called during dynamic update. |
Remarks
The method sets Rebar Shape of primary bars only.Example
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; }
VB
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