
Parametric CAD systems are based on a complex internal data-structure that represents each geometrical and dimensional constraint as a relationship among two or more entities. When the end-user requests a change to a parameter (dimension), the CAD system propagates the modification to the entire 3D model (it’s called model evaluation) following those relationships while preserving the validity of each single constraint.
In the data structure of a direct-modeling CAD system there are no constraints. They are created on the fly as a way to support high-level modification of the 3D model. For example, if the CAD system sees a tangency between a planar face and a cylindrical face it likely will assume that it’s a constraint and that it should be preserved to guarantee that the behavior of the system follows the original design intent.
The power and beauty of the direct-modeling approach is that in different moments the set of active constraints can change radically. Constraints “captured” to support modification "A" can even contradict constraints “captured” during modification “B”. This is great because gives the end-user incredible flexibility and power.
On the other hand, in a parametric CAD system the set of constraints can be changed only with tedious and complex operations. The benefit of this more rigid approach is that your CAD system knows all the constraints and doesn’t have to guess them. This makes parametric CAD systems more predictable and reliables. If the 3D parametric model was carefully created by a skilled CAD user this can be a huge advantage.
Because of the intrinsic difference between the two approaches, there cannot be a hybrid CAD system where I can create a parametric part, change it using some of the flexible tools offered by a direct-modeling system, and still have a fully parametric part. A direct-editing modification to a parametric model is possible, but it becomes a non-return point -- the data structure that supports the parametric nature of the model will not survive.
The recent marketing brochures and blogs that are describing a possible future of CAD based on the hybrid approach make me smile. But we all know that marketing knows no limitations…
Franco Folini



Chris, I think someone is trying to solve the wrong problem. The solution is not to create an easier CAD system to allow the guy in shop floor to change the master model (or his local copy).
IMHO, the solution is to have a CAD model that knows (represents in his data-structure) which dimensions, shapes, and constraints are "mandatory" or "final" and which one can be changed, how much, and within which limits. Only at that point people outside the design department can involved in the design process.
Posted by: Franco Folini | May 06, 2008 at 09:47 PM
Franco - does your concern lessen (or increase) when you expand beyond a single instance of the model? One of the elements that I think will be key in adoption of this modeling paradigm will be more widespread adoption of master and copy models all managed in some sort of a PDM system. The 'master' model can be created by an experienced cad user, using full parametrics with history and then can be 'snapshoted' by a machining user that can make small edits using direct tools.
Posted by: chris | May 06, 2008 at 06:27 PM
@Matt and Chris, I agree with you both.
Yes, some sort of integration can be achieved between direct-modeling and parametric-history-based modeling approaches. But this is not something I would call integration, I’d prefer the words mix or juxtaposition. While mixing these two powerful technologies can definitely help marketing people create impressive videos and wonderful brochures, it can also make the end-user’s life difficult.
It reminds me of the early solid-surface hybrid modelers, where the only integration between otherwise separate worlds was on the image displayed on the screen.
IMHO, the exploitation of parametric technology alone is beyond the capabilities of several CAD users; adding an additional level of complexity can only make the CAD system unusable. The parametric technology is very powerful but can also be very difficult to use properly (e.g., to create 3d models that react in a reliable and predictable way to parametric changes). What happens when on top of a parametric model we add islands of geometry that are governed by a completely different set of rules (the direct-modeling and editing rules)? We are just making the end-user life even harder.
As a result of combining two irreconcilable technologies, the behavior of the 3D model becomes unpredictable, and most important inconsistent. For example, two apparently identical ribs can react in a completely different way, just because they have been created or modified with different commands.
Observing end-users we learn that in order to solve a problem, they choose the easiest tool or the one they remember; rarely do they pick the one that is the most appropriate. Mixing the two technologies can become a nightmare for CAD managers and can degrade the quality of the 3D models produced.
@Ken
Direct modeling is more than just dragging some entity. The power of direct modeling is on the fact that constraints are inferred from the geometry on a case by case approach. Dragging a hole while maintaining existing constraints or typing a value in an input box is only a matter of user-interface. The technology and the data-structure beyond those activities can be radically different.
Posted by: Franco Folini | May 06, 2008 at 09:33 AM
Franco - agree with commenter above. Parametrics and direct can live together with no problem in a hybrid system as long as the inference engine can look at and respect user created parameters. When history tracking is added to a hybrid system, then there will essentially be black boxes representing where direct edits are made in the history tree. This means that you can still drive changes to a model constructed using a hybrid approach parametrically, but if you choose to replay the history the black box direct edits will remain unchanged.
Remeber how the history tree developed: it was originally just a recording of the construction commands used to create the geometry. At its most basic level the history tree represents the way a designer thinks: 'first do this then do that.' And while there certainly are methods to help designers think the same way about things (remember Horizontal Modeling?), these are never fool proof. So what we noticed happening is real life situations (regardless of the CAD system they use) when models get handed off from one designer to another is that they can't make use of the history that's there - they have to recreate the part (or at least part of it) to get their job done.
The 'cheats' that Matt refers to above represent a quicker way to use what you are given and get the real job done: making product, not just pretty models. It is not without consequences for further downstream use, but as long as the users understand the trade off's I think having the choice is better than not.
Posted by: chris | May 06, 2008 at 07:48 AM
You are confusing history with parametrics. In a history based modeler, yes, direct editing can cause a mess because you have a solid based on a sketch based on a plane (history). But parametric means that there are certain elements that are simply constrained by a parameter (variable) such as a hole a certain distance from an edge. Direct editing should have no problem with editing models with parameters unless the edit contradicts the parameter. No different than direct editing a 2D parametric sketch of a circle constrained to a line. If constrained in the x axis, movement in that axis moves both the line and the circle, but movement in the y axis moves only the circle. Still stays together!!!
Posted by: Ken | May 05, 2008 at 06:27 PM
Franco,
Why not both?
..Ironcad!
Rozens
Posted by: Rozens | May 05, 2008 at 08:49 AM
Franco,
I wrote about this almost exactly a year ago today.
http://dezignstuff.com/blog/?p=68
I don't think "oxymoron" is quite the right word, but it certainly is a contradiction. SolidWorks achieves a parametric models with direct editing by making the direct editing into actual history based parametric features.
What you wind up with is non-parametric changes that are easy to make, but a really bad idea from a "best practice" point of view. Maybe your design process or other modeling needs don't care about "best practice", but if this is a part you are going to pick up again and work with parametrically, whoever works on it will need to know that someone has "cheated" with some direct edits.
Posted by: Matt Lombard | May 01, 2008 at 06:29 PM