| Stairs | 
 Inheritance Hierarchy
Inheritance Hierarchy Syntax
SyntaxThe StairsEditScope type exposes the following members.
 Constructors
Constructors| Name | Description | |
|---|---|---|
|  | StairsEditScope | Instantiates a StairsEditScope object. | 
 Properties
Properties| Name | Description | |
|---|---|---|
|  | IsActive | Tells if the EditScope is active. In other words, the EditScope has started but not committed/canceled yet. (Inherited from EditScope) | 
|  | IsPermitted | Tells if the edit scope is permitted to start. (Inherited from EditScope) | 
|  | IsValidObject | Specifies whether the .NET object represents a valid Revit entity. (Inherited from EditScope) | 
 Methods
Methods| Name | Description | |
|---|---|---|
|  | Cancel | Cancels the edit scope. (Inherited from EditScope) | 
|  | Commit | Finishes the edit scope. (Inherited from EditScope) | 
|  | Dispose | (Inherited from EditScope) | 
|  | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) | 
|  | GetHashCode | Serves as the default hash function. (Inherited from Object) | 
|  | GetType | Gets the Type of the current instance. (Inherited from Object) | 
|  | Start(ElementId) | Starts an stairs edit mode for an existing Stairs element | 
|  | Start(ElementId, ElementId) | Creates a new empty stairs element with a default stairs type in the specified levels and then starts stairs edit mode and editing the new stairs. | 
|  | ToString | Returns a string that represents the current object. (Inherited from Object) | 
 Remarks
Remarks Example
Exampleprivate ElementId CreateStairs(Document document, Level levelBottom, Level levelTop) { ElementId newStairsId = null; using (StairsEditScope newStairsScope = new StairsEditScope(document, "New Stairs")) { newStairsId = newStairsScope.Start(levelBottom.Id, levelTop.Id); using (Transaction stairsTrans = new Transaction(document, "Add Runs and Landings to Stairs")) { stairsTrans.Start(); // Create a sketched run for the stairs IList<Curve> bdryCurves = new List<Curve>(); IList<Curve> riserCurves = new List<Curve>(); IList<Curve> pathCurves = new List<Curve>(); XYZ pnt1 = new XYZ(0, 0, 0); XYZ pnt2 = new XYZ(15, 0, 0); XYZ pnt3 = new XYZ(0, 10, 0); XYZ pnt4 = new XYZ(15, 10, 0); // boundaries bdryCurves.Add(Line.CreateBound(pnt1, pnt2)); bdryCurves.Add(Line.CreateBound(pnt3, pnt4)); // riser curves const int riserNum = 20; for (int ii = 0; ii <= riserNum; ii++) { XYZ end0 = (pnt1 + pnt2) * ii / (double)riserNum; XYZ end1 = (pnt3 + pnt4) * ii / (double)riserNum; XYZ end2 = new XYZ(end1.X, 10, 0); riserCurves.Add(Line.CreateBound(end0, end2)); } //stairs path curves XYZ pathEnd0 = (pnt1 + pnt3) / 2.0; XYZ pathEnd1 = (pnt2 + pnt4) / 2.0; pathCurves.Add(Line.CreateBound(pathEnd0, pathEnd1)); StairsRun newRun1 = StairsRun.CreateSketchedRun(document, newStairsId, levelBottom.Elevation, bdryCurves, riserCurves, pathCurves); // Add a straight run Line locationLine = Line.CreateBound(new XYZ(20, -5, newRun1.TopElevation), new XYZ(35, -5, newRun1.TopElevation)); StairsRun newRun2 = StairsRun.CreateStraightRun(document, newStairsId, locationLine, StairsRunJustification.Center); newRun2.ActualRunWidth = 10; // Add a landing between the runs CurveLoop landingLoop = new CurveLoop(); XYZ p1 = new XYZ(15, 10, 0); XYZ p2 = new XYZ(20, 10, 0); XYZ p3 = new XYZ(20, -10, 0); XYZ p4 = new XYZ(15, -10, 0); Line curve_1 = Line.CreateBound(p1, p2); Line curve_2 = Line.CreateBound(p2, p3); Line curve_3 = Line.CreateBound(p3, p4); Line curve_4 = Line.CreateBound(p4, p1); landingLoop.Append(curve_1); landingLoop.Append(curve_2); landingLoop.Append(curve_3); landingLoop.Append(curve_4); StairsLanding newLanding = StairsLanding.CreateSketchedLanding(document, newStairsId, landingLoop, newRun1.TopElevation); stairsTrans.Commit(); } // A failure preprocessor is to handle possible failures during the edit mode commitment process. newStairsScope.Commit(new StairsFailurePreprocessor()); } return newStairsId; }
 See Also
See Also