During my professional tenure at the various architecture firms I worked at, I noticed a significant difficulty in the design of stairs by the architectural team. Due to its complex modeling, most current architectural software demonstrates an inefficient workflow for this. With this in mind, I decided to create a Grasshopper script to facilitate this process, aiming to develop a method that could be replicated by anyone, even without any knowledge of this language.
With my script in hand, the first step would be to draw your staircase plan in Rhino and organize the layers according to the structure described in Grasshopper. This plan should contain the perimeter of the staircase, the tread lines, the perimeter of the landing, and a guide curve that passes through the middle of each step, as seen in the image below. Additionally, it is necessary to create the staircase plan for each floor, as well as an extra one for the roof floor, with each plan at its correct level. This is because Grasshopper calculates the floor height based on the distance between the staircase plans. It is important to use the format described in the script, as I used the Dynamic Geometry Pipeline command from the Human plugin to import the geometries from Rhino to Grasshopper according to their layers to automate this process. This entire script was developed using clusters to better control the organization of the file, thus enabling the selection of specific outputs for your project (more details on this later). The second step would be to connect the "LAYERS" cluster to the "SUBD GUIDE CURVE" cluster according to their respective input and output names to generate guide curves for creating a SubD that will act as a ceiling for your staircase. I believe that SubD is a very interesting option for modeling the bottom of the staircase, as it allows for great freedom.
Now, it is necessary to "bake" the guide curves and use the "SubDLoft" command in Rhino to create a base SubD, which can be modified as needed. Do not forget to add this SubD to the SubD command of the script interface in Grasshopper.
Once this is done, the script will model your staircase based on the provided information. It is important to note that this model will automatically update as the plan and the ceiling SubD are modified.The "STAIRS - FULL" command creates a staircase with a full base, not considering the SubD created in the previous steps. The "BOOLEAN SUBD" command interrupts the previous model with the SubD, which can be added to the "STAIRS - FULL" command and/or the "LANDING" command.
See below some examples of stairs modeled using the script in question.