CeilingCreate(Document, IListCurveLoop, ElementId, ElementId) Method |
Creates a new instance of ceiling within the project.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntaxpublic static Ceiling Create(
Document document,
IList<CurveLoop> curveLoops,
ElementId ceilingTypeId,
ElementId levelId
)
Public Shared Function Create (
document As Document,
curveLoops As IList(Of CurveLoop),
ceilingTypeId As ElementId,
levelId As ElementId
) As Ceiling
public:
static Ceiling^ Create(
Document^ document,
IList<CurveLoop^>^ curveLoops,
ElementId^ ceilingTypeId,
ElementId^ levelId
)
static member Create :
document : Document *
curveLoops : IList<CurveLoop> *
ceilingTypeId : ElementId *
levelId : ElementId -> Ceiling
Parameters
- document Document
-
The document in which the new ceiling is created.
- curveLoops IListCurveLoop
-
An array of planar curve loops that represent the profile of the ceiling.
- ceilingTypeId ElementId
-
Id of the ceiling type to be used by the new ceiling. If InvalidElementId is passed, the default type will be used.
- levelId ElementId
-
Id of the level on which the ceiling is to be placed.
Return Value
Ceiling
If successful a new ceiling object within the project.
ExceptionsException | Condition |
---|
ArgumentException |
The ElementId levelId is not a Level.
-or-
The ElementId ceilingTypeId does not correspond to a CeilingType.
-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.
|
Remarks
ExampleCeiling CreateCeilingAtElevation(Document document, Level level, double elevation)
{
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));
var ceiling = Ceiling.Create(document, new List<CurveLoop> { profile }, ElementId.InvalidElementId, level.Id);
Parameter param = ceiling.get_Parameter(BuiltInParameter.CEILING_HEIGHTABOVELEVEL_PARAM);
param.Set(elevation);
return ceiling;
}
Private Function CreateCeilingAtElevation(ByVal document As Document, ByVal level As Level, ByVal elevation As Double) 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, 15, 0)
Dim fourth As XYZ = New XYZ(0, 15, 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 ceiling = Autodesk.Revit.DB.Ceiling.Create(document, New List(Of CurveLoop) From {
profile
}, ElementId.InvalidElementId, level.Id)
Dim param As Parameter = ceiling.Parameter(BuiltInParameter.CEILING_HEIGHTABOVELEVEL_PARAM)
param.[Set](elevation)
Return ceiling
End Function
Private Function IExternalCommand_Execute(commandData As ExternalCommandData, ByRef message As String, elements As ElementSet) As Result Implements IExternalCommand.Execute
Throw New NotImplementedException()
End Function
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also