I'll repeat myself; do not scale objects in 3ds Max or VIZ. Plenty of readers of this blog will probably say “ that's baloney, I scale all the time and never have problems with it ”.  Those users have either been extremely lucky or just don't recognize when scaling is the reason behind other problems.

The root problem

Objects in 3ds Max must be evaluated by the program every time there is a change or action performed.  There is a specific order of evaluation that starts with the primitive node of the object, followed by evaluation of any modifiers, and then World Space modifiers and Spacewarps are evaluated, and finally the three transforms are evaluated: Move, Rotate, and Scale.

Move and Rotate post no problems because the topology of objects is not affected, that is, the relationship of vertices and faces of the object remains the same and only the Pivot Point is transformed through space.

Scaling, especially non-uniform scaling, does change the topology and herein lies the problem.  Because the transforms are the last thing evaluated, the modifiers and Spacewarps are not aware of those topological changes, potentially causing strange behavior when editing the objects.

The Mirror command, accessed from the main toolbar or Tools menu, will also cause problems because, what it actually does is assign a -1 scaling value, which mathematically speaking, changes the topology. Use the Mirror modifier instead for the reasons noted in the following paragraph.

The easy solution

If you need to scale objects in the scene, either uniformly or non-uniformly, simply apply a XForm modifier to the object and scale its gizmo. Because the XForm modifier is placed at a specific point in the modifier stack, then the scaling is evaluated in the correct order.  Adding the XForm modifier is an extremely simple process and, therefore, shouldn't impede anyone's workflow.  There is no reason not to do it.

But, what if...

I've seen many experienced users... and instructors... freely scaling objects without a second thought and I'm sure many of you have done the same thing.  You also may be importing objects from CAD software that have been scaled or mirrored which will exhibit the same problems.  What do I do now? Again, there is an easy solution.

If you select the scaled objects, go into the Utilities panel, and click on Reset XForm, then click the Reset Selected button, the problem is resolved.

To see what happened, go to the Modified panel you'll notice that an XForm modifier has been applied to the object. The utility reset the scaling values at the node level and transferred those mathematically into the modifier so that the evaluation takes place at the proper point in time.

Oh yeah, prove it.

You can easily see the something is not kosher by creating a sphere, noting its radius, scaling the sphere to the larger or smaller, then going to the Modify panel and noting the radius now.  It'll be exactly the same as the original radius, indicating some disconnect between the two levels of the evaluation.

Another quick example is to create a circle and a line, then loft the circle along the line.  Clone the original circle as a Copy and scale it up or down.  Select the loft object, and in the Modify panel, Path Parameters rollout, go to 100% of the way along the path and use Get Shape to add the scaled circle to the end of the loft object.  Nothing will happen even though the loft object should become larger or smaller at that end, depending on how you scaled the shape.

Select the original scaled circle and use the Reset XForm, and then use Get Shape it at 100% along the path again; now the behavior is what you would expect.

Where scaling problems will manifest themselves particularly, and are most difficult to troubleshoot, is in animation with hierarchically linked objects. The transformation matrix of the scaled parent objects causes unpredictable behavior in the children (I don't pretend to understand the underlying math, but this is my take on it).

While we're on the subject, don't forget that Grouped objects are simply a form of hierarchical linking and if the Group contains scaled objects you have the same potential problems.  I'm not a big fan of grouping, primarily for this reason, but also because it makes it difficult to locate objects in the scene if you are not the primary creator of the scene... topic for another day.

Note: scaling at sub object level is perfectly OK at anytime, because the scaling occurs at a particular point in the evaluation, within a modifier or at the Editable mode, not at the end.

Summary

Do not scale objects... there, I've said it again!