Fabric |
Creates a FabricArea based on a host boundary.
Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

public static FabricArea Create(
Document aDoc,
Element hostElement,
XYZ majorDirection,
ElementId fabricAreaTypeId,
ElementId fabricSheetTypeId
)
Parameters
- aDoc Document
- The document.
- hostElement Element
- The element that will host the FabricArea. 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.
- majorDirection XYZ
- A vector to define the major direction of the FabricArea.
- fabricAreaTypeId ElementId
- The id of the FabricAreaType.
- fabricSheetTypeId ElementId
- The id of the FabricSheetType.
Return Value
FabricAreaThe newly created FabricArea.

Exception | Condition |
---|---|
ArgumentException | 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- fabricAreaTypeId should refer to an FabricAreaType element. -or- fabricSheetTypeId should refer to an FabricSheetType element. |
ArgumentNullException | A non-optional argument was null |
ArgumentOutOfRangeException | majorDirection has zero length. |

private FabricArea CreateNewFabricArea(Document document, Element wall)
{
FabricArea system = null;
// create default types if they aren't already in the model
ElementId fabricAreaTypeId = FabricAreaType.CreateDefaultFabricAreaType(document);
ElementId fabricSheetTypeId = FabricSheetType.CreateDefaultFabricSheetType(document);
system = FabricArea.Create(document, wall, new XYZ(1, 0, 0), fabricAreaTypeId, fabricSheetTypeId);
// call regenerate to generate fabric sheets in fabric area
document.Regenerate();
// get the list of elementIds for the sheets automatically generated in the fabric area
IList<ElementId> sheetIds = system.GetFabricSheetElementIds();
TaskDialog.Show("Revit", string.Format("{0} fabric sheets created", sheetIds.Count));
return system;
}
