Comparison of CAD and animation tools for modeling January 13, 2007
You may know what the latest 3D parametric solid modeling CAD tools can offer or you may know all there is to know about modeling tools of animation software like Maya or 3DS Max, but do you know both? This article presents some features of each system that I hope would be available on the other.
What types of software are we talking about here?
When talking about CAD tools here I mean tools that can create feature based parametric solid models and drawings for manufacturing. Feature based means a way of modeling using cuts, protrusions, blends etc. features that will remain editable after creation. Parametric means that design of the model may be changed using parameters and relations build in the model. Solid model means models that are build from mathematically defined objects (like planes, cylinders and cones) and from NURBS surfaces. Solid models have measurable volume and all pieces of surface geometry are joined together to form “watertight” models. Some software links: PTC Pro/ENGINEER, SolidWorks, UGS NX.
The other kind of tools are called Media Content Creation tools (MCC tools). These tools are designed for modeling, texturing and animating everything an artist could ever imagine (and that’s a lot…). These tools are very versatile in what types of objects they can easily model. The models are created using various modeling primitives. Primitives include polygons, subdivision surfaces, NURBS surfaces, curves (like hair), blobby surfaces, etc. Some software links: Autodesk Maya and 3ds Max, Maxon Cinema 4D, Newtek LightWave 3D.
CAD tools must produce good quality drawings and 3D files in many formats to be useful. MCC tools on the other hand target rendered and real-time 3D outputs. You can export VRML from CAD and STL from MCC tools, but the results might not be ideal. The end use dictates what are the important features for any models produced. For manufacturing accuracy is the key feature. For rendering and real-time 3D output models have look good and accuracy isn’t that important. You would expect different objects in a game to look like they fit together, but you wouldn’t measure tolerances between objetcs.
(There are other types of modeling tools also, but in the name of simplicity I will completely ingore those in this article. There are tools for industrial designers, tools for organic modeling, tools for generating plants and humans, … Like I said, lets forget those for now.)
Different needs, different tools
I have used both types of tools in my work. Here are some features of CAD tools that I miss when working with MCC tools, and vice versa.
Cool features in CAD tools
Rounds
This is definitely my favourite. When working with NURBS surfaces or subdivs you always have to think about topology of your models. That is, how the surface pieces will fit together. You also need to avoid certain situations like three sided surface patches. If you need to round some edge and you haven’t planned for it from the beginning it can be a real pain to model. Not so with solid model rounds!
With solid modelers you indicate what edges you want to round and you indicate the radiuses you want. Then you click a button and there you have it
. It truly can be this simple. Sometimes you may need to round one edge before another one to make it work or you don’t get the round because you were asking for impossible (round may not simply fit).
There is the downside also: the geometry is based completely on trimmed surfaces, so you can say goodbye to easy seamless texturing. The way to go here is to convert to polygons and tweak the UV map. Converting solid models to seamless poly objects is easy, but unfortunately many converters will give you long and thin polygons in certain places (usually border edges).
Patterning
Patterning means copying features by varying the defining dimension(s) of that feature. Simple example would be to pattern a hole to make holes cover an area. Another example would be adding details around a cylinder.
There are couple of more advanced uses for patterning. One is reference patterning. It means that you first pattern something, then add detail to the original feature and finally pattern the new detail. The new detail will be added automatically to all geometry created by the original pattern. Another advanced use is combining patterns and relations. The patterned feature can have mathematical relations that control how the feature changes. This allows for example changing radius of a holes based on distance from some axis.
Associative feature based modeling
The idea of associative feature based modeling is that you can tie different parts of geometry intelligently together. You could for example have a plate with a hole in each corner and have the holes adjust to the size of the plate. When you first model the holes you have to define what existing geometry defines placement of the holes. This is “extra work”, but it may pay back when you can make changes quicker later.
Surface operations (merges, offsets, …)
With latest CAD tools I can be very confident that I can merge successfully overlapping surfaces together. The reliability of all kinds of boolean, offset etc. surface operations is just beyond what is available in MCC tools. CAD tools try to keep the surface pieces as mathematically simple as possible. For example a cube is created from planes and so each face has simple mathematical definition. The edges between cube faces are mathematical lines because intersection of two planes can be easily calculated and the result is a line. Adding a circular round to one edge adds cylinderical surface. The edges between planes and cylinder are still simple mathematical forms (lines & parts of a circle). Things get more complex when exact mathematical solutions are not available (usually NURBS geometry), but my experience is that tools like Pro/E just seem to work more reliably than MCC tools.
Cool features in MCC tools
Freedom!
With MCC tools I can push and pull vertices to always get what I want. Sometimes manipulating vertices directly is also the fastest way. CAD tools are simply not created for this kind of free manipulation. It would be nice be able to drag selected surfaces around and see multiple features update in real-time… maybe some day.
Subdivision surface modeling
Subdiv modeling gives smooth surfaces with automatic continuity between surface patches. For some smooth and flowing part designs combination of subdivs and solid modeling would be ideal. There already are ways to convert from subdivs to NURBS (in Maya for example), so maybe we get to see this implemented in CAD tools also.
Texturing and Rendering
This may be almost too obvious, but you can’t beat texturing and rendering capabilities of animation tools… It would still be cool to be able to texture and render good looking images easily directly in CAD environment.
Maybe in the future
I hope both CAD and MCC vendors would look at what the other side is doing and start implementing (or licensing) some features from the other side. There will definitely be some hard to implement details (there always is…), but in most cases we are talking about already implemented technology. Maybe solid modeling can become just another modeling method for MCC folks?
One missing feature that would benefit the whole 3D industry is a good trimmed NURBS (and solid model) to polygons converter. What we need is a way to get seamless models with good UV mapping automatically and a feature to remove extra detail from models (like small rounds and cuts/protrusions). Many trimmed surface models contain the original pre-rounding geometry, so removing rounds would basically mean reintersecting adjacent surfaces and deleting round geometry. It sounds so simple! (maybe there will someday be a coder somewhere that hates my guts because he has to implement this thing. Drop me a line if that’s you
)
It seems kind of wasteful that we first model a product with CAD and then MCC people model it again to get it in their game or animation!










Lars Herold Sep 6
Hi Juha!
Years back in 2001, you addressed a shortcoming of Lightwave 3D, namely it’s inability to use vertex normals and smoothing groups in a Wavefront .obj file: “Perfect” geometry imported from CAD applications renders incorrectly, with seams and wavy areas, needing post-render touchup. Very annoying.
You are touching the problem again at the end of the article above…
Where I work, we’re into industrial design, using Pro/E, UGS NX, SolidWorks and Rhino to design and model precise product data; shell thickness, small roundings and so on. Rendering is done primarily in Max and VRay for Rhino, but also in Lightwave. Apparantly the problem is persisting.
In the forum back then, you mentioned developing a bump map shader that replaced the LW generated normals. Is your solution available to the public?
Has the problem been solved in other ways to your knowledge? Maybe Lightwave 9, with it’s new node based shader offer a way around the problem? PolyTrans v.4.3 can output “Luxology MODO” compliant vertex normals to an .lwo file, but they are probably only useful in MODO, not in LW as it is…
Any ideas or hints?
BR Lars Herold
Industrial Designer
Juha Sep 13
Hello Lars,
Yes, that really was a looong time ago
I switched to Maya and never finished the plugin. Maya can import vertex normals and there is the PolyTrans-for-Maya plugin… Deforming surfaces can be a little tricky as Maya locks the imported normals and this isn’t compatible with deformations, but usually there aren’t that many deforming objects.
With LW I would try asking on Newtek forums. The plugin/node could be a good challenge for someone… (the shader node system looks promising for implementing this)