Creates a new instance of ceiling within the project.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 24.0.0.0 (24.0.0.0)
Since:
2022
Syntax
Parameters
- document
- Type: Autodesk.Revit.DB..::..Document
The document in which the new ceiling is created.
- curveLoops
- Type: System.Collections.Generic..::..IList<(Of <(<'CurveLoop>)>)>
An array of planar curve loops that represent the profile of the ceiling.
- ceilingTypeId
- Type: Autodesk.Revit.DB..::..ElementId
Id of the ceiling type to be used by the new ceiling. If InvalidElementId is passed, the default type will be used.
- levelId
- Type: Autodesk.Revit.DB..::..ElementId
Id of the level on which the ceiling is to be placed.
- slopeArrow
- Type: Autodesk.Revit.DB..::..Line
A line used to control the slope angle of the Ceiling. It must be horizontal.
- slope
- Type: System..::..Double
The slope angle.
Return Value
If successful a new ceiling object within the project.
Remarks
Examples
CopyC#
Ceiling CreateSlopedCeiling(Document document, Level level)
{
XYZ first = new XYZ(0, 0, 0);
XYZ second = new XYZ(20, 0, 0);
XYZ third = new XYZ(20, 20, 0);
XYZ fourth = new XYZ(0, 20, 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));
Line slopeArrow = Line.CreateBound(new XYZ(10, 10, 0), new XYZ(11, 10, 0));
return Ceiling.Create(document, new List<CurveLoop> { profile }, ElementId.InvalidElementId, level.Id, slopeArrow, Math.PI / 2);
}
CopyVB.NET
Private Function CreateSlopedCeiling(ByVal document As Document, ByVal level As Level) As Ceiling
Dim first As XYZ = New XYZ(0, 0, 0)
Dim second As XYZ = New XYZ(20, 0, 0)
Dim third As XYZ = New XYZ(20, 20, 0)
Dim fourth As XYZ = New XYZ(0, 20, 0)
Dim profile As CurveLoop = 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))
Dim slopeArrow As Line = Line.CreateBound(New XYZ(10, 10, 0), New XYZ(11, 10, 0))
Return Ceiling.Create(document, New List(Of CurveLoop) From {
profile
}, ElementId.InvalidElementId, level.Id, slopeArrow, Math.PI / 2)
End Function
Exceptions
See Also