Torus script

I’m new to blender and I’m looking for a script that allow to create and edit a torus mesh within existing scene. So far I found two scripts - one by Wim Van Hoydonck, but it does not allow change settigs for a torus after you hit Create button. And second script - is a part of Geodisic 2.0 script, but it is still in alpha and works only inside it’s own blend file. Thanks, avc

Without a script you can still make an editable torus (or donut).

In topview create a new nurbs circle (from the Curve menu!). Give it a radius of 2 units.
In frontview create another nurbs circle (Curve Menu!) that will become the tube. In object mode move it 2 units to te right so its positioned on the first nurbscircle. Parent (Ctrl-P) 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.

Thanks, SoftWork, I know how to make a different shapes using curves and nurbs surfaces, but when you convert then such a surfaces to a mesh you cannot controll number of horisontal and vertical faces but it is exactly what I need.

blender itself only stores meshes as collections of mesh data (vertices, faces, etc) it doesn’t store creation parameters like you want access to. you could store the data in the script to change the mesh while the script is still running, but as soon as you exit the script, the mesh is set.

just hacked the script a bit (and I dont exactly know what I did, but it seems to work)

You still have to press the “create” button every time you change a parameter, but it doesn’t create a new mesh every time…

scripts is here:

If I have some more time, I might change it to update the mesh when a slider is changed, but I am fairly busy at the moment …




hmmm, solved the problem I think, it updates the mesh when you move a slider, so you dont have to press the create button every time :smiley:

Wow!!! It is only I can say :slight_smile: tuinbels, thanks a lot! I saw the very moment of your update. LOL. I opened file directly from your site, to check how difficult it would be to add real-time processing of updating existing torus (python not so different compare to C or C++, and I know C++ well enough) and then I desided to print it out. So I said “print preview” - and I could not believe my own eyes - try/exept block appeared. Thanks again, I really appreciate it!!!

well, that didn’t even do the trick…i just made the script call “SuperToroid” when any of the gui button gets pressed (evt 2), seems to work :slight_smile:

Yes, I’ve just removed this block wihout any consequences :slight_smile: I added two more buttons - Reset, to reset values to default and ReaTime , to toggle real-time update on and off. I want to add a new “Update” button as well to separate creation of a new torus from update of existing one but I stuck on how to create new name automatically, like torus.001, torus.002… and so one. I gues RTFM might help but will take some time :slight_smile:

The scorpius’ uv_torus :
works too with blender 2.37 .

I know this wouldn’t have the super fast editing part, but why not use a circle and spin?

You can control the number of points on circle, and you can control number of rings around torus with value of Steps.

Just a thought…

Since that method does not allow one to create a so-called “supertoroid”:

supertoroid parameter variation

And not only “supertoroid” though it is very useful if you need a quick chain link. I like this script because it gives you possibity to change all parameters of torus in real time - size, number of segments and so on. Try to create few toroids using BevObj or using any other method and you will see.

This is a GREAT tutorial!! But once I have a torus… how do I apply textures etc to it (I am using the game engine btw)?

Thanks Again!!