Hi Guys,
I am trying to build a staircase using only grasshopper.
Until now I was able to do this. But as you can see I have not achieved the gap in between the balustrades. What is the best way to do this?
Spiral Staircase (DG)gh.gh (47.9 KB)
Hi Guys,
I am trying to build a staircase using only grasshopper.
Until now I was able to do this. But as you can see I have not achieved the gap in between the balustrades. What is the best way to do this?
Spiral Staircase (DG)gh.gh (47.9 KB)
One per step?
Can be two or three steps.
This got a little carried away, maybe thereâs something simpler? And there is an off-by-one error at the bottom that I donât yet know how to fix.
P.S. Fixed off-by-one error with Shift List (yellow group)
Three steps instead of two:
I just noticed that the inner balusters are offset in the wrong directionâŚ
Fixed that:
But noticed that the balustrade surface diverges from expected curvature at the top, caused by Extend Curve in your code. Iâll let you fix that.
I have just used Rhino until now but I have just started using Grasshopper. So thank you so much for your help. I am currently trying to understand how the components work. Iâll get back to you via DM if I have any other doubts!
Please post any questions here in this thread instead of a private message. Youâre welcome.
There is a slight misalignment (~1 cm?) between the balusters and the steps, caused by the â1â value connected to the âStartâ input of Extend Curve (two of them). I think itâs best though that you understand and fix these issues.
This shows Extend Curve âStartâ inputs set to zero, âGapâ slider set to 0.5, alignment fixed, though not the only wayâŚ
Nice little brackets holding the balusters, by the way.
Thanks for your kind comments Joseph. I was able to clean up the script a little more and make the bracket more aesthetic. But I havenât yet been able to solve the extend curve issue which make my helix diverge from the original curvature. Whatâs the best way to approach this problem?
Spiral Staircase_(2021.07.12).gh (60.2 KB)
I donât recognize the code anymore and the part that I wrote is broken. The balusters are not âsolidsâ.
Mine:
Yours:
Thatâs an extremely important detail! Iâm not going to proofread your code to figure out what went wrong, sorry, Iâve probably done too much as it is. Pottery Barn Rule: you break it, you own it.
Sorry about that. I was trying to understand how it work and I missed a connection. I fixed it. Thanks for pointing it out!
Spiral Staircase_(2021.07.12).gh (63.2 KB)
This image alone was the clue that something was wrong. Notice the reddish edge and yellow surface on the right baluster? That told me that the two werenât joined properly into a single âClosed Brepâ.
As to extending the spiral curves, I donât have a ready answer and am not inclined to find one. There are many possibilities that might involve substantial changes to your code and itâs better for you to resolve details like this yourself. The slight gap misalignment I mentioned can be solved in other ways too when you really understand what the code is doing.
The results you have achieved so far are quite good so keep at it, donât get stuck by fixating on the first idea that comes to mind (extending those curves).
Thank you very much! Iâll keep at it.
If you add 1 to the count inputs of the 3 Series components that generate your spiral, you can bypass the 2 Extend Curve components.
I left the Extend Curve components in place, but bypassed them. They can be deleted.
Spiral Staircase_(2021.07.12)_re.gh (68.1 KB)
-Kevin
Good thinking but it results in one extra step, which could be culled since that top step is supposed to be the top floor, eh?
I was confused at first because your steps appeared to be slightly larger than my version âcâ (rotation âStepâ value of 17.14 degrees in yours, 16.36 in degrees mine) but traced that to different values for ânumber of divisionsâ (21 in yours, 22 in mine). Easily âfixedâ by using 21 (or 22) for both.
This raises a couple of practical issues though.
In the real world, tread height of steps and number of steps is determined by the difference in height between the bottom floor and top floor, which is a fixed distance input. I see no place for that in this model?
Likewise, the rotation step value is ânegotiableâ in the sense that one might want to specify the bottom and top step angles where the staircase starts and stops, then calculate a rotation step value that might not yield an integer number of steps in 360 degrees. You can see this by changing the ânumber of divisionsâ slider from Integer to Real and using a value of 21.25 divisions per 360 degrees, for example.
Speaking of âthe real worldâ, I have a question for @dudemamu9: What secures the top of these balusters in place? I love the brackets at the bottom but what keeps them from falling over? Also, what supports the steps? DetailsâŚ
Hey Kevin,
Thanks for this solution. Will update my script based on this.
-dudemamu9
Hey Joseph,
Yes you are right. But I can solve this by adding a floor height and divide it by number of steps. I guess thatâs why I did not concentrate on that aspect in the beginning.
Thatâs on purpose because most the scripts only deal with 360 degrees but in real world I wanted the staircase to end at a different position than the start. You are right there needs to be another input somehow to calculate it automatically and probably input for the degree like you suggested.
The staircase I am trying to build is based on this image. There are additional brackets that connect the balusters together. And of course in real world there is a lift shaft in between to which these stairs are connected to. But I havenât built that in to my script. Hope this makes sense.
Thank you for your comments and ideas!