Creates a new instance of floor within the project.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 22.0.0.0 (22.1.0.0)
Since:
2022
Syntax
| Visual Basic |
|---|
Public Shared Function Create ( _
document As Document, _
profile As IList(Of CurveLoop), _
floorTypeId As ElementId, _
levelId As ElementId, _
isStructural As Boolean, _
slopeArrow As Line, _
slope As Double _
) As Floor |
Parameters
- document
- Type: Autodesk.Revit.DB..::..Document
The document in which the new floor is created.
- profile
- Type: System.Collections.Generic..::..IList<(Of <(<'CurveLoop>)>)>
An array of planar curve loops that represent the profile of the floor.
- floorTypeId
- Type: Autodesk.Revit.DB..::..ElementId
Id of the floor type to be used by the new Floor.
- levelId
- Type: Autodesk.Revit.DB..::..ElementId
Id of the level on which the floor is to be placed.
- isStructural
- Type: System..::..Boolean
True if new floor should be structural, false if architectural.
- slopeArrow
- Type: Autodesk.Revit.DB..::..Line
A line used to control the slope angle of the Floor. It must be horizontal.
If slopeArrow is nullNothingnullptra null reference (Nothing in Visual Basic), the horizontal floor will be created.
- slope
- Type: System..::..Double
The slope angle. If slopeArrow is nullNothingnullptra null reference (Nothing in Visual Basic), this parameter will be ignored.
Return Value
If successful a new floor object within the project.
Remarks
Examples
CopyC#
Floor CreateFloor(UIApplication application, Level level)
{
Autodesk.Revit.DB.Document document = application.ActiveUIDocument.Document;
FilteredElementCollector collector = new FilteredElementCollector(document);
collector.OfClass(typeof(FloorType));
FloorType floorType = collector.FirstElement() as FloorType;
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 }, floorType.Id, level.Id, true, null, 0.0);
}
CopyC#
Floor CreateFloor(UIApplication application, Level level)
{
Autodesk.Revit.DB.Document document = application.ActiveUIDocument.Document;
FilteredElementCollector collector = new FilteredElementCollector(document);
collector.OfClass(typeof(FloorType));
FloorType floorType = collector.FirstElement() as FloorType;
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 }, floorType.Id, level.Id, true, null, 0.0);
}
CopyVB.NET
Private Function CreateFloor(application As UIApplication, level As Level) As Floor
Dim document As Autodesk.Revit.DB.Document = application.ActiveUIDocument.Document
Dim appCreation As Autodesk.Revit.Creation.Application = application.Application.Create
Dim collector As New FilteredElementCollector(document)
collector.OfClass(GetType(FloorType))
Dim floorType As FloorType = TryCast(collector.FirstElement(), FloorType)
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 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(Of CurveLoop)({profile}), floorType.Id, level.Id, True, Nothing, 0.0)
End Function
Exceptions
See Also