Normalize Spline

13 votes

This scripted plug-in normalizes a spline by number of segments instead of the segments length. With options to show the vertex ticks, to close the splines, and optimize by deleting points relative to an angle threshold.

Additional Info: 

Launch the script.
Select an editable spline or line and apply the modifier "Normalize Spl. 2"
Change the parameters as you like.
If you want to reset the modifications, just click the button "reset spl.".

All the parameters are saved in the object properties -> "user defined".
If you modify the spline and delete the modifier, the spline will stay
to its current state. To reset after deleting, apply again the modifier
and click the button "reset spl.".
So, important : never delete or change manually the "user defined properties".

To load automatically the script at startup, copy it in the following folder :
C:\Users\[your name]\AppData\Local\Autodesk\3dsMax\2012 - 64bit\enu\scripts\startup

-Like the version 1.3 but in the modifier list.
-Record properties of each spline object in its user defined properties.
-The "Optimization" is corrected to always keep the first and last point.
-You cannot disable the modifier (click "reset spl." to get the initial state)
-This scripted plug-in is not animatable.

-When normalizing, now it always keeps the last point and give a correct number of segments.
-In "Optimization", change the default parameter to "Keep < 180°"

-Works with 3ds Max 2013
-Corrected an issue with closed splines

-Corrected a small issue with the "close spline" check box
-Added a button "Bake spl. state" that will copy the spline state in the user properties

-Corrected a bug with "relative to total spl. length" check box when the number
of segments was too low to close one of the splines.

Version Requirement: 
2009, 2010, 2011, 2012, 2013
Video URL: 
normalizespline_v1.3.mse3.92 KB
normalizespline_v1.4.mse6.4 KB
normalizespline_v1.5.mse6.59 KB
normalizespline_v1.6.ms6.68 KB
normalizespline_v1.7.ms7 KB
normalizespline_v1.7.1.ms7.03 KB


Comment viewing options

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



is it possible to get this script to allow an input of distance as well as a value ?
i want to be able to space the vertices evenly with a space of 4.877 mtrs between each..


asymptote's picture

Awesome suggestion

Awesome suggestion Barigazy

@Little Lord....pleeeeeease have the option to fix points and cure the eternal paths to Max issues that have been plaguing designers since year dot.

I use your script all the time and have been wanting this feature for years.

barigazy's picture


Thank you for taking this into consideration for the next update. :)
It's not the problem to goes down one level and select knots which will simulate some kind of pins. This will help a lot in the process of logo or text shape knots reduction. Most common case is imported shapes from vector packages (Illustrator or CorelDraw). Red dots on the logo shows pin positions.

I also have few suggestions about code optimization.
One of them is storing all data (UI states, knots properties etc.) in xml string and save it inside actual plugin (parameter block).
When you have more free time send me PM and we can discuss about this topic.
Keep up the good work man!


LittleLordPotala's picture

Good suggestion

Hi barigazy,
It seems a good idea to have an option to keep a selection of knots untouched.
I think that the selection can only be done on the base object, not directly in the modifier.
I'm currently working on other projects but all in all, this doesn't look hard to do. So, I will have a close look at it, as soon as I have a little free time.
I thank you for this nice and useful suggestion.

barigazy's picture


One suggestion
You already have option "keep" for optimization.
Is it posible to add option where user can pick knots which will be excluded from calculation ei. in calculation process in the places of this knots spline will be broken and optimization will be on separate spline. On spinner "button up" event this shape will be welded again.


baszermaszer's picture

Fantastic work!

Absolutely awesome tool for Max 2009! Thank You!

luxxeon's picture


Thank you for this. This is exactly what I always wished was an option with the Normalize modifier. Great tool.

berdinatilli's picture

thx alot, ill try the

thx alot, ill try the workaround.

LittleLordPotala's picture

Thanks for the report,

I've already seen this little issue but, sadly, I cannot correct it because it's a bug of the viewport in Max 2014.
The script does the same thing as :
right click -> object properties -> general tab -> show vertex ticks.
The same ptoblem appears if you apply an "edit spline" modifier onto your spline and activate the "show vertex ticks" option...

As a workaround, you can add an "edit spline" mod on top of the "Normalize spl.2",
activate the vertex sub-object, go back to "Normalize spl.2" and toggle on the "show end result" button.

Otherwise, I'm sorry but we just have to wait for the next product updates !

Best regards.

berdinatilli's picture

no vertex showing up in max

no vertex showing up in max 2014.

thx in adv

Comment viewing options

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