SUCCESS!!!
Finally going in the right direction!
Here is the code that worked:
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Architecture import StairsRun
doc = DocumentManager.Instance.CurrentDBDocument
class StairsFailurePreprocessor( IFailuresPreprocessor ):
def PreprocessFailures(self, failuresAccessor):
return FailureProcessingResult.Continue
baseLevel = UnwrapElement(IN[0])
nextLevel = UnwrapElement(IN[1])
bCurves = IN[2]
rCurves = IN[3]
pCurves = IN[4]
TransactionManager.Instance.ForceCloseTransaction()
newStairsScope = StairsEditScope(doc, 'New Stairs')
newStairsId = newStairsScope.Start(baseLevel.Id, nextLevel.Id)
trans = Transaction(doc, 'Stair Transaction')
trans.Start()
bdryCurves = list(bCurves)
riserCurves = list(rCurves)
pathCurves = list(pCurves)
newRun1 = Autodesk.Revit.DB.Architecture.StairsRun.CreateSketchedRun(doc, newStairsId, baseLevel.Elevation, bdryCurves, riserCurves, pathCurves)
trans.Commit()
newStairsScope.Commit(StairsFailurePreprocessor())
OUT = newRun1
I guess we can call it good for now. Now that it is set up, I will work on landings, second half of the stairs (to make it to Level 2), and finally incorporate multiple separate flights. Stay tuned…
Many thanks to @wouter.hilhorst and @c.poupin for getting me through it. Happy Friday!!!