How to generate a spiral surface within a cube

Hi everyone,

recently, I am trying to generate this spiral surface, but don’t know where to start. is there any suggestion?


  1. create helix
  2. thicken helix
  3. trim with your box
  4. contour
  5. surface from contour
  6. extrude in z direction

I guess you’d start with a spiral!

Slightly different order, but yeah. What Tim said. (19.5 KB)


Hi Amir_Touhidi,
Thank you for your reply, I try to load your script but my GH can not recognize your ‘relay’ plugin. Can you share it to me to read your file?

Relays are native to Rhino 6/Grasshopper 1. They’re simply splitting a cable. Here’s the file without any relays. (13.4 KB)

actually this is not a spiral. I’m almost sure it’s a costa minimal surface.

Hi Aris,
Thanks for your reply, do you mean it is a helicoid
I don’t know how to convert the mathematics function.

thanks for your code, I try to work it out these days.

just type it in, that’s it: (6.2 KB)

No, It’s a costa surface a type of minimal surface. (You will notice that there are diagonal ‘tunels’ from one floor to the next)
You will need cangaroo and quite a bit of searching in oder to produce such a surface

In my opinion its based on a helicoid, just chopped of by a box. I don’t get why the stairs looks so weird?

I see so many guys owing the expensive t-splines plugin. I don’t know why just not using it then? No matter what this form is, it is absolutely impractical to do a physical simulation to create a pseudo minimal surface. Why just not modelling it. Especially if you don’t know the math behind? (7.0 KB)
(its mirrored)

1 Like

when looking at this image again, you could be right. Doesn’t look like a costa surface either, but its not a helicoid as well. I think the problem is the bad image.

I am not so familiar with minimal surfaces but I think even the helix is related to costa surfaces. I wish there were more mathematicians in this forum!
anyway here is an example of a cut spiral and it’s definitely not it.
the red geometry is a spiral mirrored off-axis and it starts to resemble the image (61.2 KB)

Hard to say what it is exactly. We had several similar approaches in this semester:

If you wonder about the jagged contours, I guess it is made from a low poly mesh model.

Thank you for everyone. I think from the image, it is more likely it generated from Helicoid surface with extrusion which clearly can be seen from the sliced panels that looked like a ‘V’ shape. This is close enough to the result I use lunch box helicoid surface tool.
Thanks for Amir Touhidi, @Amir_Touhidi I borrow your method to slice the geometry. (15.9 KB)

1 Like

Thanks for your suggestion and file, I have not yet test the math function. I will do it later.

Hi, Thanks for the suggestion. It can be minimal surface, costa surface. If this can be done in kangaroo, it will meet how to construct it and ,then, how to slice mesh. Have you got any idea?

The surface in your original image is definitely not Costa’s surface. It is Riemann’s minimal surface (topologically at least, though the geometry looks a bit distorted). It’s true that this is also topologically the same as a pair of mirrored helicoids, but actually modelling it that way would give a kinked surface, since the sections of a helicoid perpendicular to the axis are straight lines.

Riemann’s surface can actually be generated by sweeping an inverting circle. Relaxing it could still be useful though if you want it to smoothly meet specific boundary curves rather than keeping the pure mathematical surface


Here’s a relaxed version of Riemann’s surface: (13.2 KB)

Just looking again at your initial image, although it is topologically the same as Riemann’s surface, it looks like it’s been generated in a different way, since the sections are more like sine curves than circles. There is a mathematical surface like this which is periodic in 2 directions. I don’t think it is strictly minimal though.

edit - the Karcher jd saddle tower is the other surface I was thinking of.


Have you checked this?

1 Like