There are some major problems with the Spline functions and methods inside MAXScript:
Both of these cause very limited functionality/use-case.
In the case of #1, this causes problems when doing looping functions because of how slow it is to select objects and interact with the modify tab. It also means that those functions cannot ever be used in Scripted Shape objects.
In the case of #2, it forces artists or TD into destructive design patterns because very often the shape must be collapsed to an editable spline to be used with functions. For example, if you have a function that wants to do some logic across each knot in a ShapeBoolean, you are at a loss because standard functions to get the sub-splines and knots in subsplines won't work on a ShapeBoolean.
What if you want to know the number of splines generated from a ShapeBoolean? Try:
numSplines $
MAXScript Error.
Want the number of segments in a ShapeBoolean subspline result?
numSegments $ 1
MAXScript error.
This problem exists with almost any shape method for most shape classes that are not Line or SplineShape.
Even if you try to get around the problem by adding a modifier you might think will make things compatible like Spline Select or Edit Spline, you still cannot get the data via standard MAXScript functions.
In the case of #3, the current limitation forces users to create BezierShapes, for example, by using DotNet objects calling MaxPlus classes. There are talks that MaxPlus may be deprecated at some point. In any event, MAXScript should have native access to creating appropriate shapeclass objects inside a SimpleSpline.
Solution:
Update all Shape functions and SplineOps to be more versatile:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.