Modeling a rail based on control points curve


I need to re-model a handrail (originally made in 3Dmax) for an circular staircase (the staircase is not actually circular but rather based on a control points curve, so not a helix) and the ending of the rail needs to have a circular edge (see the images for reference). This model is something I’m not use to doing but I’m guessing it shouldn’t be that hard for the more seasoned designers.

staircase 1.3dm (65.0 KB)

What is the design intent?

Is the “circular” section intended to be planar and exactly circular, or conform to the top view shape of the handrail? If planar then a straight section in top view will be needed.

If the circular section is to conform to the shape of the hand rail in top view then it will not be exactly circular. It could be circle wrapped/projected/pulled onto a surface created by extruding the handrail. Projecting a circular section would be equivalent to creating a cylinder and intersecting it with the extruded surface.

“Simple” ideas can have several possible distinct variation. Someone needs to decide the design intent - either by an explicit decision or implicitly by selecting a particular approach to generating the geometry.

Additional thought: Assuming the “circular” section needs to conform to the top view shape, the differences between creating the geometry by wrapping, pulling or projecting will probably be visually insignificant. But they may matter to the builder of the handrail. If this is a project where the design will be created and then turned over to the builder to execute with the understanding the final result will “look” like the design but perhaps not exactly match it then the choice of method in creating the geometry for the design may be irrelevant. But if the builder will directly use the geometry in creating the handrail then consultation with the builder before creating the final geometry may be appropriate.

Hello David, thanks for the quick reply!

First this is just for concept design so this won’t be taken literally by any builder but is mostly about showing intent.

The pink mesh is the reference handrail, so the circular ending of the hand rail doesn’t need to be a literal circle, I know there will be a level of deformation of said circle since it’s bending following the shape of the rail.

The only one thing that is important is that the rail remains horizontal as it follows the curve, replicating the effect of a real hand rail, you know not bending sideways while it’s traveling through the path. So if seen from the top view I assume it would need to look planar.

The curve itself is not a circle but rather a control points curve so that is presenting the trick for me since I usually would use a helix command, which I can’t now

Thanks! Hope this helps you to help me find the best approach to design this

If the circular segment is planar then it will diverge from the curved edge of the stairs in top view.

Is this what you want?

staircase 1DC.3dm (1.7 MB)

What I did:

Move geometry close to origin.

ExtrudeCrv horizontal curve to height higher than rail. Exact height is not important as long as it is higher than the top of the rail

Intersect the extruded surface and what appears to be the surface at the edge of the stairs.

UnrollSrf - Selected the extruded surface as the surface to be unrolled, and the intersection curve as the curve to unroll on the surface.

Copied the unrolled curve into a new layer. (Not absolutely necessary. Done to help someone else follow along.

Copy the copy of the unrolled curve to the desired height. This is the flat, unrolled version. In this example I used a height of 1200

Create a line between the two flat curves along the edge of the unrolled surface.

Circle command with the Tangent option. Three curves used were the copy of the unrolled curve, the copied curve and the vertical line.

Copy the curves and circle to a new layer. Also not absolutely necessary.

Trim the copied, flat curves for the “centerline” of the unrolled handrail.

FlowAlongSrf the trimmed curve onto the extruded surface. The result is the “centerline” of the handrail.

For this example I used Fin to create a surface extending from the “centerline”.

Would rail revolve not work…? If my memory is correct it’s what I use for the handrail and stringer on curved stone stairs. I don’t do many and it’s been awhile.


thanks @davidcockey ! that’s exactly what I was trying to do! I guess the commands I didn’t knew about were FlowAlongSrf and Fin. When using FlowAlongSrf what configurations did you use for the command, any special settings?

If I understand correctly the concept is you extrude the curve, then unroll it to create a flat board to work on and then re-roll it onto the surface?

Ps I guess my description wasn’t super accurate, so I guess a drawing would explain it better, I think it’s either the same or very close to what you did

Hi @bwheeler to be honest I’m not sure how one would use rail revolve to do this? I’ve only used that command to make vases or glasses, I don’t know if you have an example at hand?

@davidcockey’s method is the way to go. One wrinkle to add: If you have a profile section to the handrail it may be easier to create the solid from the flat curve (sweeping the profile along it and capping) and then flowing the solid onto the curved surface, instead of building the solid after flowing the line.

One point to watch out for with FlowAlongSrf is that the UV directions of the base and target surfaces match - otherwise the flowed object will be reversed.


You are correct…I just misunderstood what you were trying to accomplish. It may have been flow along curve that I used. It’s been a few years since I worked on a curved stair.