Creates a new stairs path for the specified stairs with the specified stairs path type only in the plan view.
Namespace: Autodesk.Revit.DB.ArchitectureAssembly: 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
StairsPath
The 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();
FilteredElementCollector collector = new FilteredElementCollector(document);
ICollection<ElementId> stairsPathIds = collector.OfClass(typeof(StairsPathType)).ToElementIds();
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()
Dim collector As New FilteredElementCollector(document)
Dim stairsPathIds As ICollection(Of ElementId) = collector.OfClass(GetType(StairsPathType)).ToElementIds()
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
See Also
Reference