8 votes
Date Updated: 

Creates a cylindrical mesh, created around a series of X, Y and Z positions which are defined by 3 different functions. The functions can be easily changed using 7 variables (Segments, M, N, P, Q, H and T) which are all spinners.

There is a editor to more easily view and edit the functions, and a preset editor, which allows you to save settings for later use.

The mesh can be manipulated, with twisting and scaling of the radius (The radius can be changed using a regular, distance, or custom function. The tube can be rotated and twisted (with a bias)).
A Spline can be created following the same functions.

Thanks to:
For the function to rotate one vector around another.
For the basic idea, and presets.

Additional Info: 

Copy the file to "C:\Program Files\Autodesk\3ds Max 20??\scripts\Startup\SpiroTube.ms".
(Re)launch 3DS Max.


Presets and preset editor changed.
Distance option added for radius change.
Radius change now has a overall effect value, and the option to use none of the 3 options.
Editor for functions added.
Removed closet face option.
Moved plugin to "Extended primitives" section.

Added option to use the closet edge for the faces connecting start/end, when using twist this can fix twisted faces at the end.
Changed a few other things.

Added preset saver, and editor.

Bias now works with negative values.
when re-loading a scene, the selected preset doesnt change values.
Added boxes(colorpickers) to each side of the x,y,z positions, to notify user of errors within the functions.

Video below is not up to date.

Version Requirement: 
Video URL: 
SpiroTube V0.813.81 KB
SpiroTube V0.915.05 KB
SpiroTube V0.9532.68 KB
SpiroTube V1.034.21 KB
Spirotube V1.5.ms39.44 KB


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
lantlant's picture

V0.8 V0.9 these versions can

these versions can work in max9 :) (no service pack)

brttd's picture

Updated it, not anything big though :P

Updated it, not anything big, but for the moment, its finished :)
Now has the option to use the closet edge when connecting start/end(only useful when using twist).
Unless someone has a suggestion, I wont be updating this for a while, but it will (hopefully) be optimized, especially in the preset editing part.

Thanks lantlant, nice render :)
No problem, notapix :)

notapix's picture

ok, tnk very much.

ok, tnk very much.

lantlant's picture

Good work :)

Good work :)

some objects, your scripts:


brttd's picture

Thanks, I am working on a way

Thanks, I am working on a way to save/edit presets, should be done soon.

Not perfect, I will have to make a few changes to it in the future, but it works.
When saving/editing presets, you need to reload the variables rollout(deselect and re-select the object) before the list of presets updates.
If no presets are there(which is true when first loading) it gets the default ones, and uses them(these can be edited and deleted).

notapix's picture



notapix's picture

max 2008

script works for my max2008 32bit.
is it possible add a function "save preset"(or parameter)?

very very good work. tnk :)

brttd's picture

Thanks :) I have made a

Thanks :)
I have made a small(ish) update.
Bias now works with negative, reloading a scene now no-longer resets the values to a preset, and there is also a notification when a function doesnt work.
Using a spline will probably never become a option, it makes it lag quite a lot, and I can see no way to make it work better :\

luxxeon's picture

Very cool.

Excellent script. Makes it really easy to create a lot of interesting algebraic geometry, and explore mathematical functions. Well done. Keep it up.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.