CeilingCreate(Document, IListCurveLoop, ElementId, ElementId) Method |
Creates a new instance of ceiling within the project.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 27.0.4.0 (27.0.4.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.
Exceptions| Exception | 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;
}
See Also