Wednesday, May 19, 2010

Explicit Parametric Concept Design

I know that most of you will consider the title of this post as being a contradiction in terms. I hope to show you otherwise. We are certainly seeing the makers of history-based parametric CAD tools attempting to add explicit like or direct modeling type functionality to their history-based systems. Unfortunately many complications can evolve in the model when direct geometry edits are made to a history-based model. Maybe someday the issues will be worked out. While this work is going on, makers of explicit or direct modeling systems are adding parametric modeling capabilities to the history-free model. Adding, managing and controlling “design intent” are not capabilities exclusive to a history-based modeling tool.

In the video example below I am showing some quick concept design of a fixture assembly, but while in the process I will capture some design intent as needed. Again in this case I am using CoCreate Modeling from PTC.
You will notice in the example that it makes no difference how the model is created, or how the assembly comes together. There is no up-front planning that needs to be done. History-free “design intent” has no dependency on how the models or assemblies were created or structured. As a matter of a fact, it makes no difference where the geometry actually comes from; IGES, STEP or even a 2D drawing. I can just as easily add design intent to imported models as I do with native models. Also, another user can easily interact with the design intent with no knowledge of how the model was created or how the intent was structured. The parametric solver in CoCreate Modeling is a synchronous solver. It is not a linear solver as would be the case in a history-based system. As such there is not dependency on the order that constraints and relationships were created. They are solved simultaneously.
You will also notice in CoCreate Modeling that constraints and relationships are not always necessary – and in many cases redundant. A mature explicit history-free modeling system must understand and leverage the properties of the B-Rep solid geometry to be of any value. If it does, it can use these properties intelligently to recognize geometric properties and greatly simplify the design intent solution.

I first hope you noticed how easy and fast it is to create and manipulate geometry, with no need for up front planning. Secondly I hope you noticed that design intent can be added independent of the modeling process.
I know most all CAD companies are trying to figure out how to provide their customers with the “best of both worlds” (history-based parametric & history-free explicit/direct). Will the “best” eventually come from a history-based system that provides direct editing? Or perhaps will it come from a history-free system that provides parametric capabilities?
Some ways to learn more about CoCreate Modeling:


Matt said...

Paul, thanks for writing this stuff. I think it is useful and shows insight. Rare enough from a CAD company employee.

I will not be able to take direct editing seriously until it develops a good way of adding faces to topology. History CAD already does this, and it seems unclear to me why we should give that up.

On the other hand, history CAD will not be all that it can be without the ability to lock out the tree to improve speed on larger models.

History modeling has led to a generation of uptight tree watchers, when what is really important is the final geometry. If we could combine the best and most necessary traits of each, I think we will have something.

As you point out, each side is incorporating the strengths of the other, which can only be a good thing.

Paul Hamilton said...


Thanks for stopping by and offering your comments – very much appreciated.

Someday I would enjoy a discussion with you regarding what you refer to as “adding faces to topology”. Changing topology is a critical aspect of any modeling tool. It is even more so critical to good history-free modeling. Without this capability, the tool would be useless. History-based modeling tools are relatively simple Boolean engines. They change topology (adding or removing faces) using Booleans. Same is true with history-free tools, (although good history-free tools and good direct editing functions have to do much more than just Booleans). The difference is that with history-based tools the Booleans are done programmatically based on the history-tree. With history-free modeling the change is typically done explicitly. I say “typically” because changing geometry programmatically is always an option with ANY CAD tool – it is just more easily done today with a history-based tool.

So if you have a need to be able to make a specific change to geometry - frequently, and the change can be anticipated before model creation, the history-based tool may be best suited. In other words, it may well be worth the effort it takes to create a well structured program, i.e. history tree.


Jon Banquer said...

NX 7.5 shows that the Synchronous Technology user interface can be applied successfully to surfacing to make high end surfacing much easier.

Some pretty powerful stuff is shown here:

Jon Banquer
San Diego, CA

Jon Banquer said...

Wrong link.

Try this one instead:

Paul Hamilton said...

Thanks for the link. The NX surface editor looks nice. Would like to see how well it works after more blends, chamfers and features have been added. They do show one surface edit after blends and it looks good.

After further considering you comment above: “I will not be able to take direct editing seriously until it develops a good way of adding faces to topology”, perhaps I misunderstood. Maybe you are referring to “direct editing” in the context of history-based modeling; like Move Face in SolidWorks. Direct Editing in a history-based system must be restricted to editing existing geometry. In some cases you might be able to remove/consume a face, but adding a face with a direct edit in a history-based system could cause problems later in the modeling process. Adding geometry should be done via the typical history-based modeling features.

It would be a serious error to compare direct editing capabilities in a history based system with direct editing in a history-free system.