Creating a donut

I created a sphere and I wanted to have some tubes around it, si I created a donut for this. The only problm I have is, that the donut is much to big. When I scale it, it will always grow on all axis, but when I restrict it to one axis, it’s no longer a donut. What I need is how to control the width of the donut when I resize it.

Now I thought of another approach, by creating a circle, which I can control much better, and then copying the circle around the sphere and create a tube from it. But I don’t know how to make this automatically. In other 3D apps there is some way to create something like that by specifying a rotation for the copy operation. Is there something like that in Blender?

Or is there a better way to create a donut shape where I have full control over size and radius?

Maybe you can go into edit mode select the verts on the outside, scale them. Then select the verts on the inside and scale them. This way you can have control of both sizes.

I don’t know how to do it without two steps.

Create a circle in front view. Scale the circle to the size you want. Move all vertices out of the center (in edit mode). Switch to top view. Press F9, in the Mesh panel you’ll see Spin. Set Degr to 360, Steps to 36, Turns to 1. Press Spin and click in the topview. That should do it.

Add >> Surface >> Donut (and Alt-C to make it mesh).


Skinning a Curve:

  1. Add>Curve>Bezier Circle and scale down
  2. Swith to Object mode
  3. Add>Curve>Bezier Circle and scale up
  4. Swith to Object mode
  5. Goto Edit (F9)
  6. In BevOb: type in CurveCircle the name of the first circle you created.
  7. Scale each as needed to get the diameter of the donut and ring size.
  8. Move CurveCircle to a non visible layer to hide it.

Additional note changeing the shape of the circles can produce a wide varity of shapes.

They should add a Torous to the Add > Meshes menu. It is usually standard, at least in the other 3D apps I have seen.


Yes, I agree they should add that as a mesh primitive. Converting the nurbs torus to a mesh doesn’t give you evenly distributed edge loops.
BTW, I couldn’t find a satisfactory way of scaling the torus so that the ring becomes thinner while maintaining the large diameter. I thought Alt+S would do it, but the edge loops become distorted at large values. Maybe we also need additional scaling options?
I have Wings 3d and it was relatively simple. It has a torus primitive and all I needed to do was to select all the faces and do an extrude region/normal and the ring became thinner without affecting the larger diameter.

Actually this was my original question. :slight_smile:

Hey. A good way of fattening a mesh is to press ALT+S.

If that behaves funny, try CTRL+N first.

edit: whoops, didnt see your last post. maybe “smooth” would make it less distorted?

SoftWork had the fastest - easiest method…actually in your first post (2nd paragraph) you pretty much had it too- the spin button is what you were looking for.

I just found a method to create a torus and still be able to edit the diameter of the tube. Try the following:

In topview create a new nurbs circle. Give it a radius of 2 units.
In frontview create another nurbs circle that will become the tube. In object mode move it 2 units to te right so its positioned on the first nurbscircle. Parent the second nurbscircle to the first.
Select the first nurbscircle, press F9, and enter the name of the second nurbscircle in BevObj:
You should now have a torus. To scale the tube, select the second nurbscircle and scale. To scale the torus, select the first nurbscircle (the torus) and press S to scale.

That doesn’t work for me. How do I properly parent them? I selected the second circle first and then the other one, so that both are highlighted, I tried different options for parenting as well.

When I try to enter the name of the object it complains that it must be a curve. So I used the CU name instead which is accepted, but the name always vanishes from the edit field and there is no torus there.

I just found the soltuion. :slight_smile: The above explanation with the bezier also doesn’t work. But now I combined your method witht he above one and now it works and I can resize it.

I created the two Bezier circles and then parented them. Now I can adjust the diameter of the torus on the fly. :slight_smile: When I did the same with NURBS it didn’t work for some reason. Don’t know. Maybe I did something wrong, but I think I did it exactly the same way as I did it with the Bezier circles. I also tried it with Surfaces -> NURBS Circle and with Curve -> NURBS Circle.

It works with both Nurbs circle and Bezier circle. But I think with Bezier circle it gives a better result. Besides the scaling advantage you can also change the resolution of the bezier circles for more/less smoothness.

Doing a quick search on this forum this method has been used before. There is also a script to do torus shapes: