Wednesday, August 26, 2009

Editing 3D Geometry - Summary

So what do the previous posts regarding direct and indirect editing mean to product design?

As history-based modeling has been the dominant technology for many years it gets used for a wide variety of design. As history-free modeling becomes more robust and useful we now have two very viable and very different technologies to choose from. As this choice impacts the data or “intellectual property” of your company and will impact your product development process, the choice should be based on something more than just user preference.


With history-based technology, editing is typically indirect and the layer of intelligence used to drive the edit is created at the time the model is created. It’s all about creating a properly structured history tree. This environment naturally demands consistent modeling methodology and close attention to what and how the model may need to be changed in the future. The basic benefit of such an environment is that by appropriately recording every modeling step, anyone of the steps can be edited resulting in a different model. The basic challenge with this environment is that it requires consistency in modeling practices, can be very inflexible, can be difficult to learn and will require a good knowledge of the structure before utilizing the data. What you "see" is not what you get with history-based modeling. From a process point of view you need to make sure that the value you gain from a well structured history tree is worth the investment.

Direct editing will continue to be added to history-based modeling and will bring some added benefits, but as long as it is history-based it will be somewhat limited in capabilities.

If your process and products demand highly structured engineering data and this data will have a lifespan and utilization that will justify the investment, then history-based modeling may be a good fit.


With history-free technology, editing is typically direct. There is by default no data in the model that would describe how the model was created or that would drive one feature to influence another (parent/child). With history-free modeling what you see is what you get. It provides a very fast and flexible modeling environment with no requirement to understand design intent before beginning the modeling process. The basic challenge with history-free technology is in the editing of complex shapes. While the technology is rapidly improving, editing a shape that consists of B-spline or NURB surfaces with lots of rounds and filets can sometimes be difficult. Again, it goes back to topology. Keeping these surfaces “connected” during stretches and moves is not trivial. These complex shapes can certainly be modified with history-free technology, but it’s not as simple as changing a parameter and replaying the history, (assuming the history will support the edit).

We will continue to see more indirect editing capabilities in history-free modeling. PTC CoCreate has been using the D-Cube DCM technology for many years to drive its indirect editing capabilities. LEDAS has also developed very similar technology and you can now see this technology working in Rhino.

From a process point of view, if you just need to get designs done as fast as possible with as much flexibility as possible, then history-free technology may be the best fit. It is also a very lean technology. There is simply much less data involved with history-free technology. Large assembly in-context design is a natural fit.

The above comments have more to do with the use-model of the tool. From a use-model point of view there are many differences and these differences will certainly impact the design process. Of even greater importance than use-model is “data”. While both history-based and history-free technologies create solid B-Rep models, there is significant difference in the actual data that is being created. This data is valuable intellectual property (IP). This IP carries with it the results of a significant investment in product development. It is at the core of your product development and may have a lifespan measured in decades.

With history-free technology the 3D B-Rep solid is the master document. Without it you have nothing. With history-based technology the B-Rep model is just a by-product of the history tree. The history tree is the master document. In the context of history-based modeling, without the history tree you have nothing - but a “dumb” solid. The biggest and most significant issue regarding maintaining a history tree as the master document is that a history tree is proprietary. There is no industry standard for exchanging this data. As such it is likely that much “history-based” engineering IP (the history tree) is going to have a “relatively” short lifespan. Pay close attention to the IP of product development, the investment you put into it, and how it may impact your future product development.

It is interesting that some CAD companies talk about combining history-based technology with history-free technology. It will be interesting to see what they come up with. Today CAD data is either history-based or it is not. Once history is gone, it is gone. Recreating a history tree from a history-free model will be similar to recreating a photo album that has been destroyed in a fire. History-free and history-based CAD systems can certainly coexist and complement each other, but it must be well understood how this environment, and IP, will be managed.

Now that these two choices exist and are both very capable, people should take a close look at their product development process and consider which technology best fits their current and future needs. There are many characteristics to consider.



Kubotek Creation Engineering said...

Thank you for the clear description of the different approaches.

With the advance of speeds in today's advanced processors in computer technology, the need for history-based-parametric programming that was necessary in the past for complex 3D solid modeling is diminishing rapidly.

Our ability to share "dumb models" and then mine the data from them is showing up in all kinds of ways to use and reuse data that increases the productivity of designers up and down the supply chain. This also enables the development of engineering tools to check the quality of models and to repair them on the fly.
These developments are significant and the design and manufacturing community are beginning to understand reap the rewards of these important advances in technology.

R. Paul Waddington said...

A good summary to a usefull group of articles.

Thanks for the effort Paul.

Dmitry Ushakov said...

Thank you, Paul - your blog posts on "Editing 3D Geometry" are the clearest description of this kind of stuff I've ever read.

May I translate it to Russian and publish at (with links to your original posts, of course)?

Since you mentioned LEDAS in your last post, you may be interested in our vision of what you call indirect editing within history-free modeling (published one year ago): Variational Direct Modeling Whitepaper

Paul Hamilton said...

Thanks for the comments.

Dmitry, please go to my profile and send me email and we can discuss publishing in Russia. It shouldn't be a problem.


Anonymous said...

Hello Paul,

Where do you place elderly applications such as Cadkey 99 solids and the likes of R12/AME AutoCAD solids and the CSG Editor from Context Cad?

Okay, the AutoCAD add-ons where a bit limited but Cadkey 99 was fairly well featured and capable in its ability to edit dumb solids.

I feel that you are pretty well spot on regarding the relative usefulness for direct edit vs History and I use Cadkey for designs where I'm not too sure where it may lead.

Could it be that the current hype surounding the history/direct edit thing is just another oportunity for the CAD vendors to whip up more churn for the users and gain (and loose) a smidge more market share?

Kind regards,

Paul Hamilton said...


The Context CAD CSG editor is just a CSG tree editor – it is indirect editing. You are not interacting directly with the end geometry but rather the CSG history tree.

CADKEY 99? That’s a bit dated. If I remember right CADKEY is a wireframe solution – not solids. Since you actually use it, you can correct me. You typically edit wireframes directly, although CADKEY did introduce parametrics (indirect editing) to CADKEY in 2000. CADKEY was purchased by Kubotek which now sells CADKEY and KeyCreator. KeyCreator is another history-free 3D solid modeling CAD system, like CoCreate and SpaceClaim, as mentioned in the “Direct Editing” post. I don’t know if KeyCreator provides any in-direct editing capabilities.

Concerning “whip-ing up more churn”, I do think companies, software and hardware, do attempt to market their products in some creative ways to get their products to stand out. Usually the end result is confusion that only they can clear up. On the other hand there is a REAL market demand for a more flexible, intuitive, easy-to-use design tool - with interoperability. History-free modeling with direct editing is currently the closest thing to a solution to this demand.

Thanks for the comments and questions.


Anonymous said...

Hello Paul,
Quite right, Cadkey 99 is just about 10 years old:-)

The version of Cadkey that I purchased back then includes solids, surfaces and a pretty good fist of editing tools. It'll import/export all the usual suspects (c1999) STEP, IGES, SAT, Parasolid, DWG/DXF and STL.

You can heal imported solids, make water tight and mix and convert wire frame and solids. Extrude, revolve, sweep, loft, imprint and more.

Faces can be extruded, revolved, swept, offset, tapered, transformed, imprinted and removed.

For example the diameter or placement of an existing hole may be modified by selecting the hole and then typing in the offset -voila! A dumb solid and no history tree. The good bit is that the solid can come from Cadkey, Inventor, Solidworks or whatever.

This was Cadkey in 1999 and I'm quite sure that the latest version (Keycreator) will have improved.

I only partly agree with you on the demand for a more flexible, intuitive and easy to use design tool. Given a free hand, and if they made keyboards instead of software, I bet we'd have a R2009 "wqerty" layout and R2010 with a "ytrewq" layout!

I reckon that the vast majority of CAD users are well up to the task of driving any of the applications out there. Let's remember that they are using it to solve some pretty tricky design issues. What they struggle with is interface inconsistency and lack of robustness.

Thanks for the usefull article, and listening.
Kind regards,

mitutoyo coordinate measuring machine said...

Paul, The shift from history based to history free modeling is indeed very interesting. The advancement of technology answered the call for better design frameworks.

Modern technology also found a niche in the engineering sector. Sophisticated machines like faro arm (for sale in the market) revolutionized product inspection by enabling researchers to accurately measure product dimensions.

Thanks for the very succinct description. Hope the attempt to marry the two editing methods would be successful.