That’s a thing of beauty, actually!
Version 4.6.1 - 06.06.2026
- Added tread covers, carpet and stair runners for all curved stair assemblies.
- Enabled a “code” clearance envelope for curved (elliptical and circular) stairs.
The easy stuff is out of way. The not so easy stuff is now on my plate: handrail fittings, handrail extensions, balusters, posts etc… Not to say that any of this stuff is really all that hard. The fact is I’ve been down this road before with straight runs of stairs so its not like I’m completely reinventing the wheel here.
The one item that I will need to give the most thought to is how to space balusters on these curved staircases. Thinks are a little more complicated since we are dealing with a curved path and the inside and outside handrails are different lengths etc…
After giving balusters some more thought I think I will probably need to split the baluster spacing into an inner and outer handrail spacing. There really is no one to specify a single spacing that can be applied to both handrails (if present). Along with that a separate baluster offset will also be required. The slightly tricky part is determining what Z height to place the balusters at since I won’t be using a per tread algorithm.
Balusters on curved staircases is a bit challenging, I’m not going to lie. My algorithm(s) are mostly working, and I think, as I suggested in my previous postings, I will need to add in some additional (curved stair specific) parameters. At this point I really hate to add more parameters to these already substantially bloated menus. Too many settings and options tend to overwhelm the casual or new user, but at the same time we need enough controls or knobs to fully adjust these assemblies, its a bit of a trade off I guess. As the Japanese say “Shikata ga nai” (仕方がない).
This screenshot is of a “circular” curved staircase with 1/2" square balusters and baluster shoes. As you can see the baluster spacing is not quite right for either side (inner and outer handrails). To get exactly 2, 3 or 4 balusters per tread one will need to carefully and probably iteratively adjust the spacing. Since these arc lengths won’t be nice even numbers the exact spacing number will be some fractional value. I’ve got some ideas on this to make things a bit easier for the user to compute these exact spacings but I need to experiment with it further.
Its funny how when I start down one of these rabbit holes I don’t usually don’t know the full solution to the problem or even fully understand the problem itself. But as I slowly unravel and work my way through one of these problems it ultimately becomes clear and then along the way I seem to always find better ways to address the problems that I encounter.
Hi Nathaniel,
This is looking great! I really appreciate all the work you’ve put into this.
It was a real treat to see this morning, especially knowing how much detail and control you’ve built in to allow users to create exactly what they need.
Like you, I enjoy a good challenge, although I should admit that I’m not a programmer.
Not to add to the complexity, but it might be worth considering an option that allows for two or three balusters on the outside curve, especially when taking into account the different types of metal balusters that could be used.
Is there a way to only show the baluster spacing/positioning control for the curved stairs in the curved options of the menu? Thereby only showing control options when needed. This would help new and experienced users to navigate the options menu knowing only the controls need are visible. I hope that makes sense.
Keep up the great work, I looking forward to working with this.
Have a good day
Similar to the straight run of stairs you will be able to specify two different balusters for curved stairs. I could also change this to include a third, so I will certainly consider that.
With balusters some of the same parameters that are also used for straight stairs are also used for curved stairs. However there will be additional parameters for curved stairs since we need to split out baluster spacing, offset and quantity per side of the stairs (inner and outer). I think what I will do is place these additional parameters in a separate sub-menu in the HTML menu (below the regular balusters sub-menu). Let me know if you think there is a better spot for them.
Some of regular parameters for straight stairs will not be used when curved stair are enabled. I will need to grey those out so there is no confusion.
I could split out the menu system for curved stairs into a completely different menu system however there is so much commonality between them and straight stairs that this seems like overkill to me.
From a user’s perspective, it might make sense to have the inner and outer baluster spacing options located within the curved stair section of the menu, since those are settings you’d typically only need when designing curved stairs. It could help keep the interface a little cleaner and make it easier to find the controls when they’re relevant, especially if you are considering greying out options in other areas of the menu to guide users.
Great job you are doing! Incredible!
Be sure to include a limitation between balusters (for example in the netherlands < 10cm) for safety reasons. Nowhere openings more than say 10 cm. This might be different from country to country.
I think I have the elliptical stair balusters mostly working now as well. I just need to add in the new parameters for the curved stair sub-menu and then do a bit more testing and we can roll another update out into the wild. I still need to work on posts and handrail fittings. After that I need to look at open treads on these curved stairs, so far I’ve ignored that possibility, but it will come up eventually so I probably should start thinking about it now.
Even with all that I have done in the last week or so on this there still remains a number of items that are not enabled for curved stairs. I’ll list the items below that come to mind but I’m sure I’m missing a few:
- Open Treads: This is high on my todo list along with posts and handrail fittings.
- Landings: there will be no landings built in for curved stairs. That rabbit hole is just too deep. Landings can be dealt with manually (ie. manually create your landing and then attach multiple curved stair or even straight stair assemblies as required).
- Flared stairs: I may consider this in the future but right now I’m just happy to have circular and elliptical stairs made available. Lets not put the cart before the horse.
- Starter Step: Eventually someone will want this but I will need to study more curved stair examples to see what it typically done in this regard.
- Skirt Boards: I will need to give this some more thought. Now that I have closed stringers figured out the algorithm essentially already exists.
- Side Spacer Boards: Not sure if this is even a thing with curved stairs. Will need to do more research and find examples.
Version 4.6.2 - 06.10.2026
- Added balusters and baluster shoes for all curved stair assemblies.
- Added separate baluster spacing, offsets and quantities for inner and outer handrails of curved stair assemblies.
With circular stairs it is possible to carefully control the spacing of the balusters so that a specific number of balusters lands on each tread (two on the inner and three on the outer). However with elliptical stairs the tread arc length may vary significantly so this may or may not be as controllable. I may need to come up with a different way to space balusters on elliptical stairs.
Note that in the second screenshot where the balusters are attached to the closed stringer this is not an issue.
Each side can be adjusted separately with the addition of the six new parameters within the Curved Stair Options sub-menu. This level of granularity is required for curved stairs at the expense of making the menus a bit longer.
It appears that I have handrail fittings mostly working now for both circular and elliptical curved stairs. However just as with the balusters we will need a separate handrail ext. for top and bottom and a rail drop for each side (inner and outer handrails). This means another six parameters in the curved stair menu. Due to the asymmetry or nature of these curved staircases there is really no way around it.
I’ve been also thinking about the framing that goes under these stairs and it seems to me that the methods are as varied as there are carpenters. I could provide a basic curved wall framing as shown in the screenshots below but I don’t know how much use this would be to anyone as they will probably frame it differently, thoughts?
Here are a couple additional screenshots of slightly different framing methods applied to a curved staircases:
Version 4.6.3 - 06.14.2026
- Enabled open treads for curved stair assemblies.
- Enabled handrail fittings for curved stair assemblies.
- Added six additional parameters into the curved stair sub-menu for handrail extensions and upper fitting rail drops.
- Enabled handrail posts for curved stair assemblies.
- Enabled OTP, CUT, and VERTICAL (PTP) handrail options.
- Added a vertical offset parameter for top posts.
I like what you have and wouldnt go further. As you say there are many ways to skin a cat. Ive messed with the new additions to the stair module and its looking great. Many of my homes have a more rustic railing that would be a great addition to the module especially for deck railings. For interior a Green and Green type is very desirable. but again there are unlimited styles I guess I would like to see a more rustic option. I currently have my own made with profile builder but they arent great.
I need to add in various deck railing options into the railing tool/module. Let me givet his some more consideration.
Version 4.6.3b - 06.14.2026
- Added a support structure under curved stairs assemblies.
I don’t have any specific settings for the framing and I probably won’t add any unless there is enough call for it. The framing is accurate, but again, chances are anyone who builds a staircase like this will devise their own support structure. All of the studs and plates are 2x4 material. At the very least it can give you a pretty good idea how much lumber it will take to support your staircase.
Note that curved stair assemblies that have closed stringers enabled do not get any support framing.
Version 4.6.4 - 06.15.2026
- Added a “deck” option to the railing module.
Note that when Railing Type is set to “Deck” there will typically be a cap rail along with an upper and lower rail. The upper and lower rail provide the support for the balusters or pickets.
I will probably need to enable an option to disable or turn off the cap rail.




































