Creates a new AreaReinforcement object from an array of curves.
This method replaces the NewAreaReinforcement method, which has been deprecated.
Namespace: Autodesk.Revit.DB.StructureAssembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since: 2015
Syntax
C# |
---|
public static AreaReinforcement Create( Document document, Element hostElement, IList<Curve> curveArray, XYZ majorDirection, ElementId areaReinforcementTypeId, ElementId rebarBarTypeId, ElementId rebarHookTypeId ) |
Visual Basic |
---|
Public Shared Function Create ( _ document As Document, _ hostElement As Element, _ curveArray As IList(Of Curve), _ majorDirection As XYZ, _ areaReinforcementTypeId As ElementId, _ rebarBarTypeId As ElementId, _ rebarHookTypeId As ElementId _ ) As AreaReinforcement |
Visual C++ |
---|
public: static AreaReinforcement^ Create( Document^ document, Element^ hostElement, IList<Curve^>^ curveArray, XYZ^ majorDirection, ElementId^ areaReinforcementTypeId, ElementId^ rebarBarTypeId, ElementId^ rebarHookTypeId ) |
Parameters
- document
- Type: Autodesk.Revit.DB..::..Document
The document.
- hostElement
- Type: Autodesk.Revit.DB..::..Element
The element that will host the AreaReinforcement. 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<(Of <(<'Curve>)>)>
An array of curves that will define the outline of the AreaReinforcement.
- majorDirection
- Type: Autodesk.Revit.DB..::..XYZ
A vector to define the major direction of the AreaReinforcement.
- areaReinforcementTypeId
- Type: Autodesk.Revit.DB..::..ElementId
The id of the AreaReinforcementType.
- rebarBarTypeId
- Type: Autodesk.Revit.DB..::..ElementId
The id of the RebarBarType.
- rebarHookTypeId
- Type: Autodesk.Revit.DB..::..ElementId
The id of the RebarHookType. If this parameter is InvalidElementId, it means to create a rebar with no hooks.
Return Value
The newly created AreaReinforcement.
Examples

AreaReinforcement CreateAreaReinforcementInWall(Wall wall, Autodesk.Revit.DB.Document document) { // Get the wall analytical profile whose curves will define the boundary of the the area reinforcement AnalyticalModel analytical = wall.GetAnalyticalModel() as AnalyticalModel; if (null == analytical) { throw new Exception("Can't get AnalyticalModel from the selected wall"); } IList<Curve> curves = analytical.GetCurves(AnalyticalCurveType.ActiveCurves); //define the Major Direction of AreaReinforcement, //we get direction of first Line on the Wall as the Major Direction Line firstLine = (Line)(curves[0]); XYZ majorDirection = new XYZ( firstLine.GetEndPoint(1).X - firstLine.GetEndPoint(0).X, firstLine.GetEndPoint(1).Y - firstLine.GetEndPoint(0).Y, firstLine.GetEndPoint(1).Z - firstLine.GetEndPoint(0).Z); // Obtain the default types ElementId defaultRebarBarTypeId = document.GetDefaultElementTypeId(ElementTypeGroup.RebarBarType); ElementId defaultAreaReinforcementTypeId = document.GetDefaultElementTypeId(ElementTypeGroup.AreaReinforcementType); ElementId defaultHookTypeId = ElementId.InvalidElementId; // Create the area reinforcement AreaReinforcement rein = AreaReinforcement.Create(document, wall, curves, majorDirection, defaultAreaReinforcementTypeId, defaultRebarBarTypeId, defaultHookTypeId); return rein; }

Private Function CreateAreaReinforcementInWall(wall As Wall, document As Autodesk.Revit.DB.Document) As AreaReinforcement ' Get the wall analytical profile whose curves will define the boundary of the the area reinforcement Dim analytical As AnalyticalModel = TryCast(wall.GetAnalyticalModel(), AnalyticalModel) If analytical Is Nothing Then Throw New Exception("Can't get AnalyticalModel from the selected wall") End If Dim curves As IList(Of Curve) = analytical.GetCurves(AnalyticalCurveType.ActiveCurves) 'define the Major Direction of AreaReinforcement, 'we get direction of first Line on the Wall as the Major Direction Dim firstLine As Line = DirectCast(curves(0), Line) Dim majorDirection As New XYZ(firstLine.GetEndPoint(1).X - firstLine.GetEndPoint(0).X, firstLine.GetEndPoint(1).Y - firstLine.GetEndPoint(0).Y, firstLine.GetEndPoint(1).Z - firstLine.GetEndPoint(0).Z) ' Obtain the default types Dim defaultRebarBarTypeId As ElementId = document.GetDefaultElementTypeId(ElementTypeGroup.RebarBarType) Dim defaultAreaReinforcementTypeId As ElementId = document.GetDefaultElementTypeId(ElementTypeGroup.AreaReinforcementType) Dim defaultHookTypeId As ElementId = ElementId.InvalidElementId ' Create the area reinforcement Dim rein As AreaReinforcement = AreaReinforcement.Create(document, wall, curves, majorDirection, defaultAreaReinforcementTypeId, defaultRebarBarTypeId, _ defaultHookTypeId) 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 closed and continuous. -or- areaReinforcementTypeId should refer to an AreaReinforcementType element. -or- rebarBarTypeId should refer to an RebarBarType element. -or- rebarHookTypeId should be invalid or refer to an RebarHookType element. |
Autodesk.Revit.Exceptions..::..ArgumentNullException | A non-optional argument was NULL |
Autodesk.Revit.Exceptions..::..ArgumentOutOfRangeException | majorDirection has zero length. |
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. |