Community
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Revamp Spline Functions and SplineOps Methods

Revamp Spline Functions and SplineOps Methods

There are some major problems with the Spline functions and methods inside MAXScript:

  1. Most SplineOps methods require a shape to be selected to use and a sub-object mode selected in Modify tab.
  2. Many spline functions will throw MAXscript errors because the functions are incompatible with many shapes.
  3. There is no native MAXscript access to shape class generation for SimpleSpline--requiring users to use MAXPlus which may not be supported in the future.

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:

  1. Update all SplineOps methods to accepts shape and subobject levels so we can arbitrarily use the functions without messing with selection and sub-object mode. These should allow shape nodes in scenes or objects inside a SimpleSpline.
  2. Update all Shape functions to work across all shape classes.
  3. Expose all needed functions to create native shape objects inside SimpleSpline with native MAXScript.
1 Comment
nshchetinkin
Participant

Geez I wish this still happens. 

Can't find what you're looking for? Ask the community or share your knowledge.

Submit Idea  

Autodesk Design & Make Report