Creates a new stairs path for the specified stairs with the specified stairs path type only in the plan view.
Namespace: Autodesk.Revit.DB.Architecture
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.4.0.0 (26.4.0.0)
Syntax
C#
public static StairsPath Create( Document document, LinkElementId stairsId, ElementId typeId, ElementId planViewId )
Parameters
- document Document
- The document.
- stairsId LinkElementId
- The id of the stairs element either in the host document or in a linked document.
- typeId ElementId
- The type of stairs path.
- planViewId ElementId
- The plan view in which the stairs path will be shown.
Return Value
StairsPathThe new stairs path.
Exceptions
| Exception | Condition |
|---|---|
| ArgumentException | The stairsId is not a valid stairs. -or- The typeId is not a valid stairs path type. -or- The planViewId is not a valid plan view. -or- The stairsId already has a stairs path. -or- The stairsId is not visible in planViewId. |
| ArgumentNullException | A non-optional argument was null |
Example
C#
private void CreateStairsPath(Document document, Stairs stairs) { Transaction transNewPath = new Transaction(document, "New Stairs Path"); transNewPath.Start(); // Find StairsPathType FilteredElementCollector collector = new FilteredElementCollector(document); ICollection<ElementId> stairsPathIds = collector.OfClass(typeof(StairsPathType)).ToElementIds(); // Find a FloorPlan ElementId planViewId = ElementId.InvalidElementId; FilteredElementCollector viewCollector = new FilteredElementCollector(document); ICollection<ElementId> viewIds = viewCollector.OfClass(typeof(View)).ToElementIds(); foreach (ElementId viewId in viewIds) { View view = document.GetElement(viewId) as View; if (view.ViewType == ViewType.FloorPlan) { planViewId = view.Id; break; } } LinkElementId stairsLinkId = new LinkElementId(stairs.Id); StairsPath.Create(stairs.Document, stairsLinkId, stairsPathIds.First(), planViewId); transNewPath.Commit(); }
VB
Private Sub CreateStairsPath(document As Document, stairs As Stairs) Dim transNewPath As New Transaction(document, "New Stairs Path") transNewPath.Start() ' Find StairsPathType Dim collector As New FilteredElementCollector(document) Dim stairsPathIds As ICollection(Of ElementId) = collector.OfClass(GetType(StairsPathType)).ToElementIds() ' Find a FloorPlan Dim planViewId As ElementId = ElementId.InvalidElementId Dim viewCollector As New FilteredElementCollector(document) Dim viewIds As ICollection(Of ElementId) = viewCollector.OfClass(GetType(View)).ToElementIds() For Each viewId As ElementId In viewIds Dim view As View = TryCast(document.GetElement(viewId), View) If view.ViewType = ViewType.FloorPlan Then planViewId = view.Id Exit For End If Next Dim stairsLinkId As New LinkElementId(stairs.Id) StairsPath.Create(stairs.Document, stairsLinkId, stairsPathIds.First(), planViewId) transNewPath.Commit() End Sub
