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.
jewboy's picture


Thank you for the script! This is seriously needed in Max and I have no idea why a simple but very useful tool that has been in Maya for a long time is still not in Max.

asymptote's picture

Thx barigazy, that fixed

Thx barigazy, that fixed it.

What a cool little script this is, we're lucky to have you guys fix crap AD just don't care about anymore.


barigazy's picture

Just open the script and in

Just open the script and in line 8 change range to be greater then 1000
something like range:[1,1e6,10]


asymptote's picture

This is great, much more

This is great, much more accurate than standard normalize spline. but why the 1000 segment limit ? Is there any way to increase this ? I am trying to keep the distance uniform over a large spline and don't want to start breaking the spline up to get more segments in.


LittleLordPotala's picture

"Plugin redefinition : cannot change class ID"

If you have this error, that mean that one version of the script is already loaded in memory, so you cannot load another version. You are trying to load two versions of the same script.
The solution is :
-first, if you have a copy of the script in the "\scripts\startup" folder, just delete it
-then, before loading any new version of the script, you have to restart 3ds Max

cibine's picture

i'm on 2012x64 when i run the

i'm on 2012x64 when i run the script nothing appends.i try with different version, it does the same when superior to 1.5 and i got this error when running 1.5

-- Error occurred during fileIn in #C:\Downloads\normalizespline_v1.5.mse; line number: 1
-- Error occurred in anonymous codeblock; filename: C:\Downloads\normalizespline_v1.5.mse; position: 217; line: 1
>> MAXScript FileIn Exception:
-- Runtime error: Plugin redefinition: cannot change class ID. NormalizeSpline <<

stealthx's picture

Now it works.

Thank you for great script and so fast update!

LittleLordPotala's picture

Updated script

Now, it should work correctly with the closed splines and the last version 1.6

You can try it and feel free to give some feedback...

Best regards

stealthx's picture

closed spline

Should it work with closed spline?

LittleLordPotala's picture

It's weird...

As you can see on the attached files, I have not this problem and I execute the same script. I tested it with editable splines and lines. I don't need to add any modifier on it.
I think the problem could come of a conflict between the classID of the script and
another plug-in in your modifiers list.

I changed the script with a new classID, you can try it now.
(The version is still 1.4 and you will have to restart 3ds max before launching this version)

And of course, don't execute diferent versions of the same script in same time.
For your information : I made and I tested the script on 3ds max 2012 64bits sp2

Best regards.

normalize_spl1.jpg 82.14 KB
normalize_spl2.jpg 81.69 KB

Comment viewing options

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