Monday, October 27, 2008

Key Capabilities of History-Free Modeling

Whether it is Dynamic Modeling, Explicit Modeling, Direct Modeling, Synchronous Technology, Natural Modeling, it all refers to history-free modeling. There are only a handful of companies that have developed usable history-free modeling and all of them have claimed to be the first to do it. They're all wrong. History-free modeling actually existed in the very early days of CAD in products like Anvil, Graphtec, ME30 and Unigraphics to name a few. Back then it was called Explicit, or Boolean based or B-rep modeling. The systems were robust but also slow and inflexible. When history-based modeling hit the market with Pro/E, we were all amazed and most never looked back - until now.

I started out thinking I was going to write up a comparison document between some of the history-free modeling technology out there. But maybe it would be better just to review what some of the key capabilities are of history-free modeling so that you can do your own evaluation.

Actually some of you may be asking questions like: Why should we even care about history-free modeling? What’s wrong with history-based modeling? We’ve been using it for about two decades now. Here are a few reasons why history-free modeling is gaining popularity:

Interoperability:

  • Team members do not need to understand the modeling history
  • Imported data does not include modeling history

Flexibility:

  • No need to be concerned about how you model a part – focus on design, not modeling
  • No need to understand how a part was modeled.
Lean:
  • Much easier to learn and use.
  • Some are starting to realize that the extra effort involved with history-based modeling does not justify the value, (very process and product dependant) and are looking for an alternative.

Technology:

  • Computer power and technology has now evolved to make history-free modeling a viable alternative to history-based modeling.
  • Robust and mature technology exists that allows for the capture of design intent directly in geometry rather than through the modeling history.

There is certainly a lot more to a good CAD system than creating and editing geometry, but this is a good place to start with an evaluation.

With history-based modeling, the methods for geometry creation are fairly well defined. Typically geometry is created with sketches and 3D operations and by adding features such as holes, cuts and filets. CAD companies continue to make this process more intuitive and capable, but in general there are limitations based on the fact that each modeling operation must be maintained and ordered in the tree. With history-based modeling you are either creating features or modifying features. With history-free modeling, the line between creation and modification becomes very blurry.

With history-free modeling, developers have a much more flexible environment to work with. There are really no limits to geometry creation methods and processes. In modern history-free systems a sketcher may be used very rarely. You may start with a sketch to get some quick geometry in place. But from that point on the modeling process will be made up of a mix of feature creation and direct geometry manipulation.

As you look at the capabilities of history-free modeling, you certainly need to look at the capabilities of the sketcher and the other methods for creating different types of geometrical features. However, direct geometry manipulation is the key to history-free modeling. When looking at direct geometry manipulation, there are three primary areas that must be considered:

  1. Geometry Selection
  2. Transformation Definition
  3. Predictable Results
    - Adjacent faces
    - Topology changes
    - Design intent

With history-based modeling, the first two are determined by the process that was used to create the model in the first place. The last one is only possible, if you thoroughly understand the model creation history, AND, if the model was created in such a way to support the needed edit.

With history-free modeling the system needs to provide intuitive methods for:

  • Selection of geometry and perhaps automatic selection of geometry depending on geometrical characteristics, such as pockets and bosses.
  • Intuitive methods for defining transformations in 3D space. This can be done with parameters and dimensions, it can also be accomplished with some useful tools for defining 3D directions and axis.
  • Once the geometry is selected and the transformation is defined, the system then needs to intelligently make the change. There are usually multiple solutions from a geometric point of view, but getting the expected and most logical result is what's important.

Pay close attention to these 3 things when looking at history-free technology. Here is a look at the three in more detail.

Geometry Selection
Most geometry edits involve a face or a group of faces depending on what you are trying to do. Here are some possible face selection methods.

  • Single
  • Multi-select
  • All
  • Pocket
  • Boss
  • Rib
  • Slot
  • Adjacent
  • Tangent
  • Chain
  • Viewport box
  • 3D box
  • By color

Some of the above methods require much intelligence in the system to interrogate geometry to determine resulting selections. Pay close attention to the results. These selection methods should work on imported geometry as well as native geometry.

Transformation Definition
Once you have selected the geometry that you want to edit, you will need to specify how the geometry will change. Positioning geometry in 3D space is nothing new, but in this case we are positioning a face or collection of faces in 3D space. Again with history-based modeling the possible transformation is determined at the time the model is created. History-free modeling has to provide much more capability in its methods of defining 3D transformations. Here are a few of the common methods.

  • 3D direction and distance
  • 3D axis and angle
  • Point to point
  • Radial
  • Mate
  • Align
  • Match points (3 points to 3 points)
  • Dimension (linear or angle)

There are a variety of ways that CAD companies have come up with to help with the process of defining 3D transformations. Some of the methods include 3D icons that represent 3D direction vectors and 3D axis. Others allow the use of existing 3D geometry to specify points, vectors and axis. Other coordinate systems can be used as well.

Also some systems allow the combination of the methods listed above into one command to make the transformation quicker and more intuitive.

Look closely at the tools and methods provided to define 3D transformations on a face level.

Predictable Results:

> Adjacent Faces
One critical aspect of a predictable change is in what happens to the adjacent faces when a face, or collection of faces, is moved. Edits usually require adjacent faces to be stretched, shrunk or adjusted in some way, and it should be fairly intuitive. In the images below we see a simple diameter change of a hole. The next change involved two faces moved, and in the last example a collection of faces are selected and moved. In all 3 cases, the changes are very simple in that there was no change to the structure, or “topology” of the model. The edits only required that adjacent faces adjust.

Where it gets challenging is when the adjacent faces are blends (filets or rounds). Some systems can recognize faces as blends, while others can’t. In history-free modeling it is common for the system to attach an attribute to a blend face so that the system knows it is a blend. If so, the result should be that of the second image below. If not, the result could be that of the third image or perhaps failure. The real test is to try this on an imported STEP model to see if the system can still recognize the blends.

This is a very simple example. You really need to look at more typical situations you may find in your own parts.

> Topology Changes
When you start tugging and pulling on the faces of a history-free model there is a high likelihood that you will force a change in topology. “Topology” describes how a b-rep solid model is connected. Points are connected with edges. Edges connect to form faces, and faces connect to form a solid. A b-rep solid is all about connectivity. The big question is; how is the system going to handle topology changes? Of course the best way to find out is to try it. Select a face or two, specify a logical transformation forcing faces to run into other faces, and see what happens. Maybe an easy test is to move a boss, pocket or hole from one face onto another face.

Here is a simple example of a topology change in a history-free model. In this case a boss was automatically selected, and then a transformation was defined (one picture shows a point-to-point transformation, the other is a direction and distance, and the last is a combination of a direction and distance with a rotation). You can see the results of each, and in all three cases the topology of the model is changed.

> Design Intent
Another thing to consider with history-free modeling is the design intent of a model. In this case I am only referring to intent at the geometry level, not the assembly level. At the geometry level there are several types of relationships than can be captured such as:

  • Tangent
  • Coincident
  • Coaxial
  • Symmetric
  • Parallel
  • Perpendicular
  • Distance
  • Angle

Take a look at what capabilities the system has for adding this type of information into the model. In some cases it may be automatic. There also may be flexibility to turn the conditions on or off during modification. Then look at how modifications work when these conditions are active.

The technology behind history-free modeling is moving ahead at an amazing pace. It is likely that sometime in the very near future you may wonder what value a history tree provides.

Paul

6 comments:

Anonymous said...

Paul,

Nicely done. You have a mastery of the history-free topic. Thanks for sharing the wealth of knowledge!

Matt Lombard

jonbanquer said...

"The technology behind history-free modeling is moving ahead at an amazing pace. It is likely that sometime in the very near future you may wonder what value a history tree provides."

I don't see where a history tree provides any real value now to those that have to work with non-native solids and modify them.

I see history based modeling as outdated technology that after more than twenty years have never been able to solve the problem of working with non-native solids or allowing any easy way to understand someone else's design intent so you can collaborate with them.

The sooner history based modeling is seen for what it is (outdated technology that never worked well for many real world situations) the better.

Jon Banquer
San Diego, CA

Paul Hamilton said...

Jon, I agree with you. For the situations that you bring up: interroperability, teamwork, and many others like concept design, rapid design cycles, unexpected change - history is a disaster.
Strangely enough though, many companies still cast their vote of approval for the stuff with every dollar they spend on it.

Manolo said...

Prepare to see to Autodesk buying...

Keycreator or Ironcad or Thinktree, etc.

Siemens has Solidedge.
Pro/E did its move buying Cocreate.
Catia and Adesk sooner or later will move.

jbass said...

I work in the prototype industry and I wouldn't think of using a history based system. KeyCreator and SpaceClaim handle everything I take in and need to model. For many companies it is too soon and too much of a hassle to retrain people on systems other than SolidWorks, Pro E, ect.... Management is afraid to make that kind of decision. After all no one has been fired yet for making SolidWorks their company standard. The way I look at it is if you are looking for a part modeler, working with simple assemblies or import data, there is no better choice than a history free modeling system.

Why wouldn't Autodesk be looking to purchase SpaceClaim? Look at the new CEO's resume?

vfdvgf said...
This comment has been removed by a blog administrator.