How can I spin a curve?


here is an image about what I would like to do:

So I would like to use own curves, spin them, and get closed mesh from it.

This is my experimental setup right now: (6.4 KB)

Unfortunately, I don’t understand what I have to do to get such a spinning shape. Can someone help me with that?

Hi Lana -

That is rather general.

Generally, curves from fonts are bad for modelling. Using your own curves sounds like a good idea.

In order to get useful replies, please upload your *.gh file with any referenced curves internalized. If you are not completely sure what that means, make sure to read the thread that is pinned to the top of the Grasshopper category on this forum.

Hey, thank you for your feedback. I updated my question.

Your setup is in 2D !!!
You just have to use Revolution component (8.7 KB)


Change the axis of revolution and add Cap Holes

You’ll find a general way with mesh here,

I have made a plugin that do quite the same thing but not exactly

1 Like

Here is an effort using a component I’ve never tried before: TextSrf (Text On Surface) from ‘Sets | Text’.
I was confused at first by its 3D results until I realized that the ‘D’ (Depth) input needs to be changed to 0.

I revolved the resulting curves (after Curve Join) around their center points but as you can see, the results are “Invalid Breps” in some cases. It looks like the ‘E’ in your image is revolved around its left edge, not its center point? (21.8 KB)


Hello, thank you, it generally works well.

I used a Close Mesh to get a mesh from it, then it looks like that: (10.8 KB)

But I feel like the mesh is not so clean:

Do you know how to optimize that?

Me to, I never saw it.

I developed mine from a previous discussion. I output curve, surface and brep. I also added a list of fonts available.

Hello, thank you.

Yes, that’s true. I created this using the Adobe Illustrator 3D revolve function.

Your script looks very good. But I also don’t get that clean mesh out of it:

Why is it like that?

I will say that if you are doing a 360° revolution yous must not use Cap Holes.
If mesh is invalid you have to heal mesh (cull degenerate faces). There are lots of discussions on this forum. I made a tool, but is it is a 5 lines of code job.

Meshes, meh. Invalid breps don’t help. This is an amusing exercise to move the center of rotation from left to right through each character. What’s best for one is clearly not best for all. ‘E’ is best at the center of its left vertical segment, not its left edge. (21.6 KB)

1 Like

I would prefer if the edges weren’t rounded. However, when I build the script this way, it looks different: (9.3 KB)

And why is there a hole here?

There is a problem here.
One curve from the E is exactly on the rotation axis. This generate bad surface. There are some ways to heal that.
Explode the curve, make the revolution, delete surface with a zero area. Then join.

I added a way that suppress the curve that is on the axis, but this is not robust. (14.5 KB)

1 Like

One more - instead of Tween Curve, this uses an X offset value (specific to font and size) with the choice for each character of using the offset edge or the centerline for revolve. The choice could come from a lookup table defined once for the whole alphabet to relieve the tedium of making the choices for each phrase of text. (26.5 KB)

1 Like

And if one day you want another way. There is an example in Nautilus plugin for letters (


Cool, can you share this script?

Thank you!

It is in the examples of Nautilus in Fodd4Rhino (12.7 KB)


Cool, thank you!