RVTDocs.com

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.
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.