Floor.Create(Document, IList<CurveLoop>, ElementId, ElementId)
Method
Description:
Creates a new instance of architectural floor within the project.
Creates a new instance of architectural floor within the project.
Remarks:
To validate curve loop profile use BoundaryValidation. To get default floor type use GetDefaultFloorType(Document, Boolean).
To validate curve loop profile use BoundaryValidation. To get default floor type use GetDefaultFloorType(Document, Boolean).
Syntax
Examples
/// The example below shows how to use Floor.Create method to create a new structural floor (slab) on one level
/// using a geometry profile and a floor type.
/// In this sample, the geometry profile is a CurveLoop of lines, you can also use arcs, ellipses and splines.
Floor CreateFloor(Document document, Level level)
{
// Get a floor type for floor creation
ElementId floorTypeId = Floor.GetDefaultFloorType(document, false);
// Build a floor profile for the floor creation
XYZ first = new XYZ(0, 0, 0);
XYZ second = new XYZ(20, 0, 0);
XYZ third = new XYZ(20, 15, 0);
XYZ fourth = new XYZ(0, 15, 0);
CurveLoop profile = new CurveLoop();
profile.Append(Line.CreateBound(first, second));
profile.Append(Line.CreateBound(second, third));
profile.Append(Line.CreateBound(third, fourth));
profile.Append(Line.CreateBound(fourth, first));
return Floor.Create(document, new List<CurveLoop> { profile }, floorTypeId, level.Id);
}
Parameters
Parameter | Type | Description |
---|---|---|
document | Document | The document in which the new floor is created. |
profile | IList | An array of planar curve loops that represent the profile of the floor. |
floorTypeId | ElementId | Id of the floor type to be used by the new Floor. |
levelId | ElementId | Id of the level on which the floor is to be placed. |
Return Value
Type | Description |
---|---|
Floor | If successful a new floor object within the project. |
Exceptions
Exception | Condition |
---|---|
ArgumentException | The ElementId levelId is not a Level. -or- The floorTypeId does not correspond to a FloorType. -or- The input curve loops cannot compose a valid boundary, that means: the "curveLoops" collection is empty; or some curve loops intersect with each other; or each curve loop is not closed individually; or each curve loop is not planar; or each curve loop is not in a plane parallel to the horizontal(XY) plane; or input curves contain at least one helical curve. -or- Input curves build invalid sketch. -or- Failed to create curve elements. |
ArgumentNullException | A non-optional argument was null |
InvalidOperationException | Cannot generate a sketch. -or- Failed to create new element. |
ModificationForbiddenException | The document is in failure mode: an operation has failed, and Revit requires the user to either cancel the operation or fix the problem (usually by deleting certain elements). -or- The document is being loaded, or is in the midst of another sensitive process. |
ModificationOutsideTransactionException | The document has no open transaction. |