Let's say you have a shape that would act as one stair step:

enter image description here

Then you add an empty and both the object and the empty have the same origin point. Then you add an array modifier to the stair step, and manipulate the empty to make a spiral staircase.

enter image description here

How would anybody make a railing surrounding the staircase?

enter image description here

When subdivision surface is used, the fence not to be straight from step to step, but round. Here is what I mean: Not this - enter image description here

But this - enter image description here

Edit: The merge option in the array modifier doesn't seem to do a good job enter image description here enter image description here Does anybody knows how can I make a fence that follows the spiral in a perfect alignment with the spiral that follow the stairs and at the same time every part of it to be connected so that when subdivision surface is added to it, the fence to be rounded, like the representation in the 5th image from above?

Edit: I did it as Gandalf3 explained, but I'm having a problem. enter image description here

What is that line that is visible when subdivision surface is added and how to fix it? Note: I was having trouble with vertex groups so I duplicated the model and on the duplicate I applied the array so I could use it as a guide to align the vertecies of the end of the cylindar to the begining of the second one ("cursor to selected"-"selection to cursor"). And I edded a hook modifier and made the "Object" to be the "Empty" and on "Vertex groups" I added the vertex group. And I'm not sure if they are now connected. And I didn't parent the empty to the other empty. But they should be connected now right? Here is the blend file if someone would like to check it out -


Its my first upload file so inform me if it can't opened.


1 Answer 1


One way is to just add some cylinders to your stair object:

enter image description here

  1. Add the cylinder meshes while in edit mode with the stair object selected.

  2. Line up the geometry on the end of each cylinder (snapping is useful here, as it leaves no doubt about which vertex should be merged with what):

    enter image description here

    What I did in the gif:

    1. Note the Z rotation of the array empty (this is only needed for the initial setup, it will be done automatically later), then enter edit mode and rotate the end to the cylinder the same amount (in my case, ~3.1)

    2. Enable apply modifier to edit cage on the array modifier (inverted triangle icon).

    3. Ensure the snapping type is set to Vertex and Self snapping is enabled in 3D view > Header.

    4. Select any part of the horizontal cylinder, then press CtrlL (select linked) CtrlI (Invert selection) H (Hide selection) to get a clearer view and make snapping easier.

    5. With the rotated end of the horizontal cylinder selected, press G and then hold Ctrl with your mouse cursor over the other end of the cylinder in the next array element.

  3. Now enable Merge in the array modifier to merge those vertices together, resulting in a sub-serfable railing:

    enter image description here

  4. By using hooks parented to the main empty, you can keep the merged parts in the right locations, no matter where you move the main empty:

    enter image description here

    To do this, select the end of the horizontal railing cylinder and press CtrlH> Hook to new object. This will automatically add a vertex group, an empty, and a hook modifier. The hook modifier will bind the location of the vertices in the vertex group to the location of the empty.

  5. Parent the newly created hook empty to the empty controlling the array (CtrlP> Object).

    enter image description here

  6. Repeat the hook+parent for the bottom edge loop of the central column.

See this example .blend to explore it yourself :)

  • $\begingroup$ Thanks. The thing is that, what ever the fence is made of, I want it to fit the spiral shape using the empty. Any ideas? $\endgroup$
    – Vladimir
    Jun 11, 2014 at 20:49
  • $\begingroup$ @Vladimir If you add the cylinders to your stair object while in edit mode, so that they are both part of the the object with the array modifier (as shown in the image), it will follow the empty automatically. $\endgroup$
    – gandalf3
    Jun 11, 2014 at 20:51
  • $\begingroup$ Thanks. I see that now, but the height of the horizontal cylinders would have to be adjusted manually so it doesn't follow the spiral shape of the stairs perfectly. And the horizontal like cylinders have only one cylinder to connect to so if you add a "subdivision surface" modifier it will not be a smooth/round shape. The horizontal cylinders would still be straight horizontally. Any other ideas? $\endgroup$
    – Vladimir
    Jun 11, 2014 at 21:28
  • $\begingroup$ If my last comment was confusing, I edited my question, check it out. $\endgroup$
    – Vladimir
    Jun 11, 2014 at 22:10
  • 1
    $\begingroup$ Guys, try to use the chat. $\endgroup$
    – Daniel
    Jun 12, 2014 at 21:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .