NewFloor Method (CurveArray, FloorType, Level, Boolean, XYZ)


Creates a floor within the project with the given horizontal profile and floor style on the specified level with the specified normal vector.

Namespace: Autodesk.Revit.Creation
Assembly: RevitAPI (in RevitAPI.dll) Version: 16.0.0.0 (16.0.0.0)

Syntax

C#
public Floor NewFloor(
	CurveArray profile,
	FloorType floorType,
	Level level,
	bool structural,
	XYZ normal
)
Visual Basic
Public Function NewFloor ( _
	profile As CurveArray, _
	floorType As FloorType, _
	level As Level, _
	structural As Boolean, _
	normal As XYZ _
) As Floor
Visual C++
public:
Floor^ NewFloor(
	CurveArray^ profile, 
	FloorType^ floorType, 
	Level^ level, 
	bool structural, 
	XYZ^ normal
)

Parameters

profile
Type: Autodesk.Revit.DB CurveArray
An array of planar lines and arcs that represent the horizontal profile of the floor.
floorType
Type: Autodesk.Revit.DB FloorType
A floor type to be used by the new floor instead of the default type.
level
Type: Autodesk.Revit.DB Level
The level on which the floor is to be placed.
structural
Type: System Boolean
If set, specifies that the floor is structural in nature.
normal
Type: Autodesk.Revit.DB XYZ
A vector that must be perpendicular to the profile which dictates which side of the floor is considered to be upper and down.

Return Value

if successful, a new floor object within the project, otherwise a null reference ( Nothing in Visual Basic) .

Remarks

The curves of the profile must be contiguous and the Face formed by profile should be suitable to create floor.

Examples

Copy C#
Floor CreateFloor(UIApplication application, Level level)
{
    // Get the Revit document
    Autodesk.Revit.DB.Document document = application.ActiveUIDocument.Document;

    // Get the application creation object
    Autodesk.Revit.Creation.Application appCreation = application.Application.Create;

    // Get a floor type for floor creation
    FilteredElementCollector collector = new FilteredElementCollector(document);
    collector.OfClass(typeof(FloorType));
    FloorType floorType = collector.FirstElement() as FloorType;

    // 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);
    CurveArray profile = new CurveArray();
    profile.Append(Line.CreateBound(first, second));
    profile.Append(Line.CreateBound(second, third));
    profile.Append(Line.CreateBound(third, fourth));
    profile.Append(Line.CreateBound(fourth, first));

    // The normal vector (0,0,1) that must be perpendicular to the profile.
    XYZ normal = XYZ.BasisZ;

    return document.Create.NewFloor(profile, floorType, level, true, normal);
}
Copy VB.NET
Private Function CreateFloor(application As UIApplication, level As Level) As Floor
    ' Get the Revit document
    Dim document As Autodesk.Revit.DB.Document = application.ActiveUIDocument.Document

    ' Get the application creation object
    Dim appCreation As Autodesk.Revit.Creation.Application = application.Application.Create

    ' Get a floor type for floor creation
    Dim collector As New FilteredElementCollector(document)
    collector.OfClass(GetType(FloorType))
    Dim floorType As FloorType = TryCast(collector.FirstElement(), FloorType)

    ' Build a floor profile for the floor creation
    Dim first As New XYZ(0, 0, 0)
    Dim second As New XYZ(20, 0, 0)
    Dim third As New XYZ(20, 15, 0)
    Dim fourth As New XYZ(0, 15, 0)
    Dim profile As New CurveArray()
    profile.Append(Line.CreateBound(first, second))
    profile.Append(Line.CreateBound(second, third))
    profile.Append(Line.CreateBound(third, fourth))
    profile.Append(Line.CreateBound(fourth, first))

    ' The normal vector (0,0,1) that must be perpendicular to the profile.
    Dim normal As XYZ = XYZ.BasisZ

    Return document.Create.NewFloor(profile, floorType, level, True, normal)
End Function

Exceptions

Exception Condition
Autodesk.Revit.Exceptions ArgumentException Thrown if the floor type does not exist in the given document.
Autodesk.Revit.Exceptions ArgumentException Thrown if the level does not exist in the given document.

See Also