Railing.Create(Document, ElementId, ElementId, RailingPlacementPosition)
Method
Description:
Automatically creates new railings with the specified railing type on all sides of a stairs or ramp element.
Automatically creates new railings with the specified railing type on all sides of a stairs or ramp element.
Syntax
public static ICollection<ElementId> Create(
Document document,
ElementId stairsOrRampId,
ElementId railingTypeId,
RailingPlacementPosition placePosition
)
Examples
private void CreateRailing(Document document, Stairs stairs)
{
using (Transaction trans = new Transaction(document, "Create Railings"))
{
trans.Start();
// Delete existing railings
ICollection<ElementId> railingIds = stairs.GetAssociatedRailings();
foreach (ElementId railingId in railingIds)
{
document.Delete(railingId);
}
// Find RailingType
FilteredElementCollector collector = new FilteredElementCollector(document);
ICollection<ElementId> RailingTypeIds = collector.OfClass(typeof(RailingType)).ToElementIds();
Railing.Create(document, stairs.Id, RailingTypeIds.First(), RailingPlacementPosition.Treads);
trans.Commit();
}
}
Parameters
Parameter | Type | Description |
---|---|---|
document | Document | The document. |
stairsOrRampId | ElementId | The stairs or ramp to which the new railing will host. The stairs or ramp should have no associated railings yet. If the stairs are a part of <a href="8b07cbff-013c-889f-8807-703e63a91923.htm">MultistoryStairs</a> element railings will be populated on all levels. |
railingTypeId | ElementId | The railing type of the new railing to be created. |
placePosition | RailingPlacementPosition | The placement position of the new railing. |
Return Value
Type | Description |
---|---|
ICollection | The new railing instances successfully created on the stairs. |
Exceptions
Exception | Condition |
---|---|
ArgumentException | The stairsOrRampId is not a stairs or ramp element. -or- The railingTypeId is not a railing type. |
ArgumentNullException | A non-optional argument was null |
ArgumentOutOfRangeException | A value passed for an enumeration argument is not a member of that enumeration |
InvalidOperationException | The stairsOrRampId already has associated railings or is in editing mode so association of railings is not permitted. |
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. |