Ceiling.Create(Document, IList<CurveLoop>, ElementId, ElementId, Line, Double)
Method
Description:
Creates a new instance of ceiling within the project.
Creates a new instance of ceiling within the project.
Remarks:
To validate curve loop profile use BoundaryValidation.
To validate curve loop profile use BoundaryValidation.
Syntax
Examples
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);
}
Parameters
Parameter | Type | Description |
---|---|---|
document | Document | The document in which the new ceiling is created. |
curveLoops | IList | 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. |
slopeArrow | Line | A line used to control the slope angle of the Ceiling. It must be horizontal. |
slope | Double | The slope angle. |
Return Value
Type | Description |
---|---|
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- The slopeArrow must be a horizontal line. -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. |