Monday, December 28, 2009

2009 - The Year of … Confusion?

History-based, parametric, history-free, direct, explicit, synchronous, dynamic, instant...

Over the last few years CAD companies have introduced many new terms as they have announced new product capabilities. Most significant are the capabilities related to direct geometry interaction and manipulation. The industry is becoming more familiar with the concept of history-free modeling (direct modeling, direct editing). As the awareness grows, the industry is trying to understand just what this technology means to the product development process. Unfortunately for many it’s still a bit confusing.

Is this history-free direct modeling technology complementary to our parametric history based environment or is it perhaps a replacement? Being part of the CoCreate organization inside of PTC I have witnessed many companies purchasing CoCreate for a variety of reasons. Many have completely replaced their old history-based environment with CoCreate, but many have also added it to their history-based environment as a complementary tool. In either case many companies are seeing significant benefits with history-free direct modeling.

It can certainly be a bit confusing for product development organizations to understand how this history-free technology can bring value and how it fits into the process. The confusion I am referring to is for the most part a result of how many CAD companies are positioning this technology. For example:

  • Siemens introduced Synchronous Technology in 2008. Today they continue to claim: “Synchronous Technology unites parametric and history-free modeling”
  • In 2009 Autodesk gave us a preview of their Fusion technology. They claim that Fusion “unites direct and parametric workflows within a single digital model”

I have had many discussions with people that have been confused by these statements.

Synchronous Technology does in fact unite parametric “control” with history-free modeling, to a certain extent. But unfortunately most people consider parametric modeling synonymous with history-based modeling. Synchronous Technology absolutely does not unite history-based modeling with history-free modeling. The two technologies may sit under a common UI, but they are very separate. Either the user is in a history-based mode, recording every modeling operation -OR- they are in a history-free mode where modeling operations are not recorded. It’s one or the other.

Autodesk does an even better job at confusing the situation. In Autodesk’s statement above they are in fact referring to history-based modeling when they use the term “parametric workflow”. They are also referring to direct modeling in the term “direct workflow”. My first source of confusion is in the concept of a “direct workflow”. There is actually no such thing. Certainly with history-based CAD there is a workflow to consider as every step you take is recorded and will impact the future use of the model. No such concept exists with direct modeling.

The Autodesk statement also suggests the possibility of uniting history-based modeling with history-free modeling with the term “single digital model”. What Autodesk has done with Fusion, a history-free tool (that creates a new file), is to provide technology that can analyze a history-free model coming from Fusion in such a way that the history structure and features of a history-based model, back in Inventor, can be updated based on differences that are found in the history-free model (two separate data models). My primary confusion with this concept is that if in fact the edits are possible in Inventor, then why do I need Fusion? Trying to create intelligent and properly structured history trees from history-free solids is nothing new, but Autodesk has made some progress in this area. I for one am a bit skeptical of this technology as there are just too many assumptions that the system must make to automatically create a useful tree structure, or edit an existing one. Not to mention getting a useful tree structure that would actually match my design intent.

Much of the confusion I see out there comes from the idea that somehow, some way, sometime, history-free modeling and history-based modeling will merge. Recently I watched someone draw two lines on a chart, one representing history-based modeling and one representing history-free modeling. At some point on the drawing the two lines merged into one. The merging of these two technologies is actually not possible. A CAD system is either recording the modeling steps or it is not. It is one or the other. The technologies can coexist, but it must be well understood how the resulting data will be used and managed.

Consider the intellectual property (data) that is created with a CAD tool. If the CAD tool is recording the modeling steps (history-based), the record (history-tree) is the critical IP. Without the history tree, the value of the model is considerably lower. If the CAD tool is not recording the modeling steps (history-free), the 3D model is the critical IP, history trees are of no value. Most any 3D model of reasonable quality can be considered valuable IP with history-free technology. That is not the case with history-based modeling.

While the technology to create history from non-history may improve a little, history-free modeling technology is continuing to improve - a lot. As history-free technology improves the value of the history tree declines. Eventually we may be wondering why we need a history tree, rather than trying to figure out how best to create, structure, modify and manage them.

This post probably does little to clear the confusion, but maybe we can work on that more in 2010.

Have a happy and successful new year!


Wednesday, November 18, 2009

Predictability With Direct Editing - Part II

In my previous post titled Predictability with Direct Editing I showed a simple example of what it means to get expected and predictable results with “direct” or “explicit” editing. It was a simple example in that the geometry was mostly analytic – planes, cylinders and cones. With this example I am adding much more complexity in that most all surfaces being represented are complex b-spline surfaces. This example will greatly push the limits of direct editing.
As I have mentioned before when pulling on faces using direct editing, the system needs to extend or shrink the adjacent faces, but should also properly take into account rounds, fillets and chamfers. This gets much more complex if the adjacent faces happen to be complex freeform b-spline surfaces. How well will the system extend or trim the surfaces? Can you get predictable and consistent results?
For this article I also created a simple video to show the example. I start with a simple cube and then using direct editing capabilities to deform several of the planar faces. If you are trying this on other CAD systems you may have to use other methods to get the complex surfaces, however it shouldn’t matter how you create the surfaces. Once you have them just add the rounds and chamfers to get the basic shape.
Hopefully the topology of your part matches the one in the picture. Pay close attention to how your CAD system creates the chamfers. Are they accurate? It’s a bit surprising how some modern CAD tools treat chamfers.

Now let’s try some direct editing.

Try this example on your favorite CAD tool. Can you get expected and predictable results? How well do the surfaces extend? Is chamfer and blend sizes maintained? Are tangencies maintained and accurate? Are the surfaces extended in a logical and predictable way? Are the chamfers and blends order dependent? Live rules and parametrics can help control change, but if you can’t get through the basics of change they add no value.
Even though I considerably increased complexity with this second example, besides adding blends and chamfers I still did not change the topology of the model. So perhaps sometime in the near future I can bring it all together, including complex topology changes, with a realistic part.

Monday, November 2, 2009

Inventor Fusion Preview II – The Fusion

I too was given the opportunity to see Inventor Fusion Preview II. I was a bit shocked when Autodesk invited me. I told them again that I work for PTC, but they still wanted to show it to me. I guess attention is attention. So here’s how it works (as near as I can tell):

The demonstration started with a history-based model that was created in Inventor. In this case the model was fairly simple and included only a few features. This part is saved as a native Inventor file.

In the example given, another user would load the Inventor file into Fusion to make some modifications to the file using the direct editing provided in Fusion. When the Fusion user is satisfied with their edits they can save the modified part as a new Fusion file.

Back in Inventor the designer may be notified of some suggested modifications to the design of the part. The designer would then load both the original Inventor model and the modified Fusion model. When this is done, Inventor will scan the topology and geometry of both parts looking for differences between the two models. After the scan, edits (modifications, deletions, additions) will be highlighted by different colors. Inventor will provide a list of the modifications that are being “suggested” by the modified Fusion part. These modifications can then be accepted or rejected.

If accepted, Inventor will look for the effected features in the history tree (sketches or parameters) and will drive edits to these features updating them based on the recognized changes from the Fusion part. Accepted edits that cannot be accommodated through modifications of elements in the history tree will be captured as new features at the bottom of the tree. The end result is a modified history tree based on direct edits from Fusion.

Basically the Inventor Fusion technology is identifying differences between two B-Rep solids, recognizing which history-based features need to be edited, added or removed, and then applies the accepted modifications to the history tree.

There are two basic technologies at work here. The first is the scan. Technology for scanning two B-Rep solid models and geometrically comparing then is nothing new; it has been around for many years. CoCreate for example has been using this technology for many years to provide version compare and change management for its users. It does have its limits however. Robust direct editing can result in a model that is completely unrecognizable from the original by even the best compare tool, especially if the topology of the model changes. I can conceive of many examples where this scan will result in inaccurate results. If the scan delivers inaccurate results, the second technology is meaningless.

The second and most significant technological contribution that is being made with Inventor Fusion is in taking the results of the scan and identifying what feature, sketch or parameter from the history tree must change to provide the same geometrical results of that of the part modified with Fusion. It is basically attempting to map a “geometry” modification back to an element in a history tree. In some cases, such as the blend and chamfers from the above example, it can remove a history based feature and/or add and organize new features as needed. (I’m not sure if it can change the order of features yet.) If it can’t make sense of the Fusion modification, a new element will be added to the tree representing the faces involved in the direct edit. When the history tree is regenerated, the resulting model should geometrically match the Fusion model. It’s an interesting technology and I hope to have a chance to dig into it a bit more. I am still skeptical about how well it can create and order new features, in a way that will support the design intent. Time will tell.

I am a firm believer that technology is only an enabler to process. If it doesn’t enable, or bring value to a process, it is useless. So the question going through my mind is; what processes, or use models, can be enabled with the Inventor Fusion technology?

Above I roughly outlined a process. It could go something like this: Perhaps a designer is working on a plastic part. The design has progressed to the point where a review with the tooling supplier is required. The 3D model as an Inventor file is sent to the supplier. On review the supplier has some suggestions to make for this part to be better suited for manufacturing. Maybe for some reason the tooling engineer prefers using Fusion rather than Inventor. Using Fusion, direct edits are made to the model to communicate the suggested modifications. The modified 3D model, a Fusion file, is then sent back to the designer for review. The designer desires to keep the native Inventor data up-to-date and so loads both the original Inventor model and the modified Fusion model into Inventor. The suggested modifications will be highlighted for the designer to see and review. The designer can then either accept or reject the suggested modifications as needed. Accepted modifications will drive updates, deletions and additions to the history tree keeping the native history tree up to date.

I am trying to come up with other use models. Help me out.

When and why is it important to have direct editing when your CAD system of choice is history-based? Some of the more common reasons include the following:

1) I need to make some last minute modifications to the model, but the structure of the history tree does not support these required modifications. I will either need to rebuild the part or use direct editing. Will Inventor Fusion technology help with this? Most likely not. If you can’t make the edit in the tree manually, it is very unlikely that the system will be able to make it for you automatically based on a modified B-Rep model. I asked Autodesk during the preview what would happen if the Fusion direct edit would invalidate a feature in the Inventor history tree. Also, what would happen if the history tree structure in Inventor would simply not support the suggested Fusion edit? Here is an example they showed:

They demonstrated that in those cases the modified faces would simply be captured as new features (sculpt) in the history tree – very similar to adding a direct edit to a history-based model in other history-based systems. So, if the edits found in the scan/compare cannot be translated to a feature in the Inventor history tree, new elements are simply added to the tree as new features; as is usually the case when doing direct edits in any other history-based environment. In this case the result would be very close to the same with or without Fusion.

2) I want to use direct modeling for concept design because of the flexibility, but then want to use my standard history-based tool for detail design. Will Inventor Fusion technology help with this scenario? I am not sure. I would like to check into this more. What will Inventor do when a part that was originally created in Fusion is loaded into Inventor, with no counterpart from inventor to compare it to? Will it only yield a single feature solid as has always been the case, or will it attempt to do what FeatureWorks does in SolidWorks?

3) Preparation for FEA is often a good use for direct editing with history-based data. Perhaps we want to simplify the model by removing some features. Many times this removal process can be very painful in the history-based system that was used to create the part in the first place. In many cases the references and relationships are just too complex to make the necessary edits. As such many companies are choosing direct editing to support this process. Will the Inventor Fusion technology support this process? First of all, there is probably no reason to push the direct edits back to the native (master) Inventor model. We only need this data for FEA. Secondly, I do not see that the direct editing within Fusion is robust enough (yet) to support the sometimes very complex process of simplification.

Perhaps you can think of process or “use cases” where direct editing of a history-based model is of benefit. And then consider when and how the Inventor Fusion technology can bring value. When is there value in relating a purely geometric modification back to an element in the history tree? Autodesk has certainly introduced some new and interesting technology with this second preview. Now, how will we use it?


Monday, October 12, 2009

Predictability With Direct Editing

I have written a few times about the need for predictability and getting expected results with direct editing. In the recent past I have received a few questions about what I am referring to with regards to “predictability”. So with this post I hope to explain this a bit more.
Direct editing technology gives us the ability to interact directly with geometry. The alternative is "indirect editing” which involves parameters, dimensions, variables and so on.
When we use direct editing technology we are usually moving geometry around by directly selecting the geometry that we want to move and then defining a transformation by pulling, pushing or rotating about a direction or axis. The CAD system then takes over. It should provide results that the user is expecting, but that is not always the case. When pulling and pushing on faces there are usually a variety of solutions that can be derived. The big question is; what happens to the adjacent faces of the face that we are moving. Are they stretched? Are faces added or removed? What happens to the pulled or pushed face? Does it retain its shape and size or does it change?
For this article I thought it might be best just to create a video of a simple example. You can easily recreate this example in your favorite CAD system and compare direct editing results. Direct editing is now available in both history-based systems (parametric modeling) and history-free systems (direct/explicit modeling). So you can try this example in most any CAD system. Be careful not confuse functions like “Instant3D” or “Dynamic Modification” with direct editing. These type of functions are dynamically manipulating parameters, dimensions, variables and sketches – i.e. “indirect editing”.
I’ve actually tested this simple example in about 7 different CAD systems, but I will only show you the results using CoCreate Modeling since I now represent this product. Other experts can try the example on their system of choice. The key is to use the default settings that the CAD system gives you. There are certainly options to functions that will give different results. What I was interested in while doing the test was to understand the default behavior of the CAD tool.
Here are the steps to create the example:
  • Create a block. We are not concerned with size for this example. Only topology.
  • Taper two adjacent faces on the side of the block. Any angle will be fine
  • Add a round/blend to the edge joining the two tapered faces
  • Add a round/blend to the top back edge, any size as long as they don’t touch each other
  • Add 45deg chamfer, width to be less than round/blend radius
  • Add a hole through the center of the block
  • Add a chamfer to the top of the hole
Hopefully the topology of your part matches the one in the picture.

Now let’s try some direct editing.

Try this example on your favorite CAD tool. Can you get expected and predictable results? Do you have to use box select? Do you have to use other options to the command to get it to work or did the default behavior deliver the expected results?
One of the things that you may have noticed in the video is that CoCreate Modeling understands what blends and chamfers are from a mechanical design point of view. It does this by interrogating the B-Rep solid model and identifying conditions that are important to mechanical design. It is not just a geometry making machine. This is where “maturity” comes in with regards to a Mechanical CAD tool (perhaps another topic for a future article). Unfortunately many CAD tools are just geometry making machines with little regard to what engineers are really trying to do.
Of course this simple example and the edits I make are easy to do in a history-based system by changing the base feature, IF you created the features correctly and in the right order to start with, and IF the part was not imported from another CAD system. These are two of the key reasons for having direct editing in the first place.
I tested this example on 6 other popular CAD systems. I was not impressed at all. With one very popular CAD system I could not even create the part - when I tried to add the chamfer it completely failed. So I could not even try the direct editing tests. Too bad, I thought CAD had progressed beyond that. I also noticed that on many of the systems I tested, the chamfer around the blend was very inaccurate and tangencies were not being maintained through the edits. Amazing!
The next level of “predictability” to review is when we start changing topology during a direct edit. For example; move one of the tapered side faces in to the point that it intersects the hole. In some CAD systems, the direct editing functionality won’t allow this type of edit. In others it may work but with some strange results. Then in others you may get what you expect. The technology is certainly improving rapidly.
Anyway, have fun with the example and please post your findings and results. Were the results predictable?

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.


Thursday, August 20, 2009

Editing 3D Geometry - Direct Editing

In the previous post I discussed the technology around "indirect" editing. With this post I hope to review some of the technology around "direct" editing.

Direct editing is now available in most history-based systems and is of course available in history-free systems (direct modeling). Direct editing requires no intelligence to be assigned or managed in the model. This technology provides the ability to interact directly with the 3D B-Rep geometry. In most cases any B-Rep solid model regardless of where or how it was created can be modified with direct editing capabilities. Directly manipulating a B-Rep model is however not trivial, but the technology has been developing over the last twenty years and is very mature.

Just a quick review. Boundary representation solid models (B-Rep's) are defined based on connectivity. Very simply put, points are connected with edges, edges are connected to form faces, and faces are connected to form "water-tight" solids. The way in which a model is "connected" is referred to as topology. If a direct edit forces a change to the topology, i.e. adding or removing faces, edges or points, a Boolean operation must be performed. In the case that the edit does not force a change to topology, a local operation can be used. As we attempt to drive a particular geometry change through a direct edit the system needs to be intelligent enough to know what function is going to provide the best and most “expected” result, reliably.

Unlike indirect editing, direct editing will require the user to "explicitly" define "what" will change (the geometry)  and "how" it will change (the transformation).

Specifying the “What”. In the simplest form a user will simply click on a face to select it. This defines the “what”. If the modification involves more than one face, the CAD system may provide a multi-selection function so that many faces can be selected. Some systems also utilize real-time feature recognition to assist the user in selecting multiple faces that represent a boss, pocket, rib or slot. User defined features may also be available. There is also some emerging technology to help with the “what” that is based on conditional assumptions that the system can make for the user. Perhaps a planar face is selected; the system may make the assumption that all other co-planar faces should be selected. Or perhaps the system can make the assumption that all adjacent faces that are tangent should be selected, for example. There is enough intelligence in the basic B-Rep model for the system to recognize these types of conditions. With some advanced systems, geometry selection may be possible across multiple parts, thus maintaining relationships between parts during the edit.

Specifying the “How”. Now that we have defined what is going to change we need to specify how it will change, i.e. the “transformation”. This usually comes down to defining a 3D axis or a 3D direction vector along with a distance or angle. Many systems will provide some sort of 3D icon/tool to help define the transformation. With this type of tool the user will be able to select a direction vector or an axis and then drag the selected geometry some distance or angle to define the transformation.

The transformation tool in Solid Edge ST

The transformation tool in CoCreate Modeling

Once the direction or axis has been specified, the distance or angle must be specified. Different CAD systems have different capabilities for specifying this information as well. Certainly all will allow you to drag a distance or angle. Most will allow you to type in a number. Some may even allow you to reference other geometry. In some advanced systems this referenced geometry may be geometry in the model you are currently editing or may be geometry of another part in the assembly.

With the “what” and “how” specified, the modification can be completed. Geometry is immediately modified as the modification applies directly to the B-Rep solid model.

The benefit of this technology is that the user does not need to be concerned with how intelligence or parameters are defined or structured. They can simply manipulate the geometry regardless of where and how it was created.

Direct Editing; History-Based

This technology is fairly new to most CAD users. It provides the ability to interact directly with the "resulting" B-Rep of the model/history tree. Each direct edit must be captured in the tree as each time an indirect edit is made a new B-Rep is created, and all direct edits will need to be reapplied.

Don’t confuse the "Instant" or "Dynamic" or "Direct-Shape" editing of parameters with direct editing. These are "indirect" edits that dynamically and in real-time modify parameters that control features. This technology is certainly useful, but like any indirect edit, the results are subject to the pre-defined feature definition and order.

During a direct edit in a history-based system it is unlikely that the system will utilize any of the geometrical relationship found in the B-Rep topology as this may be changed by modifications to features that occur earlier in the model/history tree. As such most direct editing in a history-based system will be somewhat limited in several different ways. There may not be powerful selection methods such as multi-face selection or feature recognition, and selection across parts will most likely not be allowed. There may not be powerful tools for specifying transformations, and the system may not be able to handle complex topology changes.

Direct editing in a history-based system is also complicated by the fact that these edits must be captured and structured into the tree. In reality when you perform a direct edit in a history-based system you are adding a step in the tree. This step must be ordered and maintained as with any other element in the tree. As such the tree can get more complex. Direct edits can be impacted by parent features and will impact child features. In reality direct editing in a history-based system may result in more issues than value. As such it may be best to avoid direct editing in a history-based model until late in the model development. It is certainly nice however to have the capability when working with imported models.

Direct Editing; History-Free

If you use a direct modeling tool like CoCreate Modeling, KeyCreator or SpaceClaim, this is the environment that you are most familiar with. It is the default method of changing 3D geometry in a history-free direct modeling CAD system. In this case users interact directly with the B-Rep geometry. As there is no history tree, the edit is a one-time event and is not recorded in anyway.

As this is the primary method of manipulating geometry in history-free systems, it is important for there to be a variety of powerful tools and methods for selecting geometry. Tools and methods may include things like multi-select, box select, feature recognition, conditional selection, user defined features, patterns, selection lists/filters and so on. Selection across parts should be possible. Once the required geometry has been selected it is necessary to specify the transformation, and these systems should certainly have a variety of tools and methods for doing this as well. Multiple transformations in one operation may also be available. Intelligently interrogating the B-Rep and utilizing the information within is critical to the process of robust direct editing.

Of course after the selection and transformation has been defined, it is critical that the resulting modification be the expected one as there are often multiple solutions. Some examples of this are covered in an earlier post titled: "Getting Expected Results With Direct Editing".

Direct editing is certainly gaining momentum in our industry.  It provides a giant leap in flexibility over indirect editing, especially history-based indirect editing.  With some of the advanced selection methods that are now available in a few of the history-free systems, direct editing can even maintain relationships between parts and assemblies - something typically only done through indirect editing.

In the next and last post on this topic I will try to give some summary statements on what all of this can mean to product development, (although that is really up to you to determine).


Monday, August 17, 2009

Editing 3D Geometry – Indirect Editing

Indirect editing is typically used in parametric modeling, or history-based systems. With indirect editing, parameters, dimensions and other intelligence is associated to the 3D model and can be used to define possible transformations and relationships. In a history-based system this intelligence is captured in the history-tree at the time the model is being created. In contrast, with a history-free system the intelligence is captured in the B-Rep model, during or after model creation. In either case (history-based or history-free) this intelligence can be used to specify geometry transformations. The added intelligence describes “what” will change, i.e. the geometry, and “how” it will change, i.e. the transformation.

By modifying and processing this intelligence, the resulting 3D geometry will be different. What geometry is actually changed is completely dependent on how the intelligence is setup and structured. It is “indirect transformation” of 3D geometry.

The benefit of this technology (indirect editing) is that you can capture and/or assign a specific behavior to the model. In a situation where you can predict or anticipate future changes this technology can be very useful. It is also useful if it is important to tightly control relationships between faces, features and parts during edits.

Indirect Editing; History-Based

This is the environment that most 3D CAD users are familiar with. It is the standard method of changing 3D geometry in a history-based CAD system. Parameters at the 3D level are managed within the history tree and are structured in a parent/child relationship. Structure, relationships and parameters are always being created and ordered in the tree as the model is being developed. The process of properly organizing and managing this structure is not optional. It is something that every history-based CAD user must learn to be profecient with the tool . With history-based modeling you are either adding structure or modifying structure (indirect editing). When changes are made to the history (sketches, parameters, features, order) the tree/model is regenerated and is solved linearly based on the structure of the tree.

In this case it is important to know what the structure is and how a change will impact any child features. As it is linear there will be a “ripple” effect with this technology and as such it is important to know the structure before getting too aggressive with changes. In many cases the ripple effect is desired and equally in many cases it is not.

History tree in Pro/ENGINEER – ordered and structured

With history-based modeling users are actually editing the process and structure, or “recipe” that was defined at the time the model was created. You do not actually modify 3D geometry, but rather modify the recipe and then let the system rebuild the 3D geometry based on the modified recipe. In this context 3D geometry is always being recreated from the recipe rather than being modified.

As with any indirect editing capabilities, it is certainly possible to drive a change that can invalidate the model. Knowing how to work through these issues is critical to good history-based modeling.

This technology has recently been getting a bit of a facelift with what is called “dynamic” or “Instant” modification. With this capability a user can directly select a face or feature of a history-based model and dynamically modify the intelligence (parameters, dimensions) associated with the selected geometry. The intelligence is still solved linearly, but processing is more real time, or “instant”. It looks something like direct editing, but it is still indirect and as with any indirect edit, the results are completely dependant on the structure of the intelligence.

Indirect Editing; History-Free

This technology is not new but it is foreign to most CAD users. It provides the ability to indirectly manipulate 3D B-Rep geometry through added intelligence (parameters, dimensions) similar to indirect history-based modeling. However in this case parameters are not captured in a tree structure, but are rather captured, or “tagged” directly to the elements of the B-Rep model, i.e. points, edges or faces. Rather than being solved linearly these relationships are solved synchronously, or “nonlinear”. The order in which the parameters are assigned has no influence. With this technology there is no ripple effect based on a parent/child relationship, however one relationship can certainly drive another if desired.

Relations Browser in CoCreate Modeling – no order

With history-free indirect editing 3D geometry is actually being modified rather than being recreated as is the case in history-based modeling. There are several different technologies that can be used to modify B-Rep solid models. When modifications of a B-Rep are driven indirectly, the resulting transformation must not invalidate the B-Rep solid model. As we attempt to drive a particular geometry change through an indirect edit the system needs to be intelligent enough to provide the “expected” result, reliably.

As is the case with indirect history-based editing, changing a parameter will result in some change to the geometry. Knowing how the parameters are structured is important in order to make good use of the intelligence and achieve the desired results. As it is not order dependant (linear) it is relatively easy to manipulate this intelligence.

Today there are not many history-free CAD systems that provide this capability. PTC CoCreate Modeling is one of the few that does provide it. Here is an example of history-free indirect editing in CoCreate Modeling that I posted in a previous article:"Design Intent with History Free Modeling"

There are pros and cons to each; history-free indirect editing and history-based indirect editing. Understanding which one can best support your requirements can be a challenge, but will be worth the analysis.

In the next post we will review Direct Editing.


Thursday, August 13, 2009

Editing 3D Geometry (Introduction)

While history-based systems are learning how to interact directly with geometry and are becoming more “explicit”, history-free systems are learning how to drive geometry indirectly, or “parametrically”.

So what’s involved with editing 3D geometry? When we use a 3D CAD tool for design purposes we are basically describing and transforming 3D geometry in a virtual environment. Today this process is done “directly” or “indirectly”. Indirect describes the typical methods where structure and intelligence is defined and later modified to drive 3D geometry. Direct describes the “explicit” methods of interacting directly with 3D geometry. Interestingly enough, today both of these interaction models exist whether the 3D CAD system is history-based or history-free.

This article turned out a bit long so I’m going to break it up into a few parts. With these posts I want to specifically review the details of how 3D geometry is edited and modified in a 3D CAD system. I think that as we CAD users learn more about what is going on in our CAD systems and why, it can make us better users. I hope this discussion will help.

In the next two posts I will discuss these two technologies in detail. We will first take a look at how “indirect” editing works in the history-based environment and how it works in the history-free environment. Then we will take a look at how “direct” editing works in each of these two environments.

Watch for the following two posts in the near future. You can click on the follow-me link on the right side to be informed when they are posted.

Editing 3D Geometry – Indirect

With indirect editing, parameters, dimensions and other intelligence is added to the model that will define possible transformations and relationships. In a history-based system this intelligence is captured in the history-tree at the time the model is being created. With a history-free system the intelligence is captured in the B-Rep model during or after model creation. In either case this intelligence can be used for maintaining geometric relationships and for specifying geometry transformations.

  • Indirect Editing; History-Based
  • Indirect Editing; History-Free

Editing 3D Geometry – Direct

Direct editing requires no intelligence to be assigned or managed. This technology provides the ability to interact directly with the 3D B-Rep geometry. Directly manipulating a B-Rep model is not trivial but we are getting much smarter at it. As the edit is being done directly, geometry must be selected to edit and transformations must be explicitly defined.

  • Direct Editing; History-Based
  • Direct Editing; History-Free

At the end of these posts I will provide a quick summary and review of how these technologies can impact your product development process. Hopefully you will have a better idea of where these technologies can provide value.


Part 2 = Editing 3D Geometry - Indirect Editing

Part 3 = Editing 3D Geometry - Direct Editing

Part 4 = Editing 3D Geometry - Summary

Monday, July 20, 2009

Direct Modeling - Thinking Outside the Box

Most CAD users are very familiar with history-based parametric modeling. It is likely what they learned in school and actually may be the only 3D CAD technology they have ever used. As a matter of fact, most do not know that there is even an alternative. When the topic of 3D CAD comes up, it is almost always in the context of parametric history-based modeling. “3D CAD” IS parametric history-based modeling for most people.

There is now certainly more attention being given to history-free, direct modeling and as such, many people are now experiencing it for the first time. This first exposure can be a good experience or a bad experience depending on many different factors. Here are a few things to consider before getting too frustrated with it and putting it back on the shelf.

Creating models without a history tree is fundamentally different than creating models through a history tree. And don’t confuse direct modeling with direct editing. Direct editing is available in either technology and as such many CAD users may be familiar with the concepts. Direct, history-free modeling is much more than direct editing. To take full advantage of history-free modeling, it will require that you think outside the familiar history-based box.

For most 3D CAD users the common reaction to history-free direct modeling is that it seems to be too freeform and “unstructured.” A history-based CAD system, to a certain extent, guides the user through a structured modeling process. Many have developed modeling standards and best practices to ensure consistency in the process. A properly structured modeling process may yield a properly structured model. With a properly structured model, flexibility AND inflexibility can be provided where necessary. The investment in learning how to use the structured modeling process to get a structured model that works as intended can be rather high. For those that have made this investment, it may be difficult to accept this “unstructured” history-free environment.

Structured Modeling

For some, when stating that history-free modeling is “too unstructured” they are in fact referring to the modeling process. They find value in a system that, to some extent, guides or imposes a particular modeling process. They find it helpful in that there is only a few ways to get a particular result. Again, the process is guided and structured. They gain some sense of “safety” in this environment. With history-free modeling there is no concept of a structured modeling process. There is complete flexibility in how the model is created and edited. This “unstructured” modeling process may be considered too “unsafe” for them. Perhaps this “unsafe” environment might allow them to do something to the model that they should not do. However, it must be considered that a structured modeling process certainly does not guarantee “safety”. Recreating history-based models is all too common.

Structured Models

Closely related to the “structured modeling process” is the “structured model”. For others, “structured” refers to the structured model, a model that is embedded with design intent to the point that it closely represents the physical. The concept of the structured model (design intent) came into existence with the introduction of history-based modeling. “Capturing design intent” was the justification used for the high investment required in the structured modeling process of history-based CAD. Many have come to accept that a structured modeling process is the only way to develop well structured models and to yield models that behave as intended. In the early years of direct history-free modeling, embedding structure and intelligence into the model was not possible, so there is certainly some validity to these notions. Several history-free systems today still do not provide the capability to add structure and intelligence to the model. PTC CoCreate Modeling is one of the few that does provide a good set of tools for adding structure. Structured history-free models are a reality, but the process of adding this intelligence is not as inherent with the modeling process as it is with history-based CAD. With a history-free tool like CoCreate, you can add structure to the model anytime in the process, even after the model is fully developed and refined or even to an IGES or STEP model. With history-based CAD, the development of model structure starts the moment you begin the process of modeling – and it is not optional.

So if you are one that is concerned about an unstructured modeling process, be sure that you clearly understand the value of the structured process and its support of your design process. Be sure that the significant investment in this structured process provides real value. In many cases it does not, and that is why many have added direct, history-free modeling to their toolset. Mistakes can be made in both technologies and in either case your work must be validated. This validation can happen real-time with or without a structured modeling process.

If you are one that is concerned about the structured model, you actually have two choices now. Both technologies can provide similar results, but the means to the end is very different. In a situation where every part model needs to be well structured and changes are predictable and controlled, history-based modeling may be a good choice. In a situation where it is more important to get quick results, and the investment into the structured model is only needed occasionally, your best choice may be direct, history-free CAD.

Initial reactions to direct history-free modeling are usually based on a few key factors:

  • Previous CAD experience and individual productivity will certainly impact your initial reaction. However, these should not be significant factors when determining the viability of the technology. (Unless you work by yourself, and the resulting CAD data has no lifespan or future value.)
  • The type of work you do, including your process requirements, will also have a big impact on your initial reactions. Process and process requirements should always be key criteria in the analysis of technology.
  • The capabilities of the direct modeling tool may also have an impact on your initial reaction. There are many new and very immature examples of direct modeling out there. In some cases they are very poor representations of what direct modeling can and should be. Be sure to look at a few before making any final judgment.

Be careful in weighing your criteria (reactions) as you experience this new world of “explicit” “history-free” “direct” modeling. Take a step outside your comfort box, keep an open mind and focus on your product development process requirements.


Thursday, June 25, 2009

Inventor Fusion: “Unites direct and parametric workflows” - What?

The Inventor Fusion preview is now available. I am anxious to see this thing. Inventor Fusion “Unites direct and parametric workflows”. This is one of the title statements found on the Autodesk Labs web site. I hate to burst the bubble but “direct” and “parametric” workflows have already been “United”. It first happened about 10 years ago when Hewlett Packard embedded the D-Cubed 3D DCM parametric solver into their SolidDesigner (Now PTC CoCreate) product. Siemens has followed by using the same D-Cubed solver inside their Synchronous Technology. There are certainly differences in how these technologies are “united” and implemented in these systems, but the “unite” has already happened.

The first bullet under this title goes something like this: “With the introduction of Inventor Fusion technology, both direct, history-free and parametric, history-based workflows are united”. There could be some confusion in the usage of terms here, but again direct and parametric technologies have already been united. This statement however takes it a bit farther. It claims that history-based and history-free have also been united. If they are referring to a synchronous uniting of this technology, they are wrong. Either a system is recording the modeling steps, or it is not. It is a “1” or a “0”. And if it didn’t record it … assumptions must be made if a record is to be created after the fact.

It goes on to say, however that “Changes can update into the model's parametric feature history, ensuring critical design intent is maintained”. Now this could be cool, but I’m not sure. Are they simply referring to capturing the direct edit into the history tree, as any other (including Inventor) history-based system does with direct edits (nothing new)? -OR- Could they be referring to creating or modifying sketches, features, parameters, and structure of a history tree based on the B-Rep geometry of a history-free model? This however would be nothing new as well. Many companies, universities and creative individuals have been working for many years on this type of technology. It involves analyzing unintelligent 3D B-Rep geometry in an attempt to recognize characteristics in the model such that a fully functional history tree can be created (or perhaps edited) including sketches, features, parameters and structure/relationships. If successful the resulting history-based model could be edited using the standard history-based editing techniques. The system must make many assumptions to do it. Autodesk has been working on it with their Feature Finder, maybe they have made some major breakthroughs. SolidWorks has been working on it with their FeatureWorks technology. PTC has similar technology in their Feature Recognition Tool (FRT). All of this technology attempts to make sense/intelligence of a non-intelligent B-Rep model – the kind that comes from direct modeling. None of it works very well.

There could be another option I guess. Perhaps Inventor Fusion is tagging the B-Rep history-free model with information about a specific direct edit such that the information can be accessed back in the history-based environment to drive identical changes to the history-based model through the manipulation of a sketch, parameter or structure. This could be real messy in many ways, and would only work if the history tree is structured in such a way that the edit would actually work and not attempt to invalidate the model. It would also mean that inventor Fusion would be an "editing" tool only, not a modeling tool.

And then it is interesting to consider how you would rationalize having a history-based model and a history-free model of the same part. Which one is the master document? How would the PDM system handle it?

In a history-free system the 3D model is the master. In a history-based system the history-tree is the master and the 3D model is just a result. Two very fundamentally different technologies.

Well, speculation is fun but I wonder if Autodesk would let me download the Inventor Fusion Preview. Since they have a link to my blog on the site, I think they should. We’ll see. I do like some of the interaction and use model I see in the videos, but I am most interested in the round trip between history-free and history-based, if such a thing exists. As you can tell, I am a bit skeptical.


Thursday, June 18, 2009

Some Random Observations of Product Development

While I certainly enjoy a good discussion and review of technology, especially the technology of 3D CAD, I equally enjoy a good discussing and review of the process of product development. As I have mentioned in previous posts, I have had the opportunity to visit many companies over the years specifically to review their product development process (PDP) and to consider what and how improvements can be made. Over the last 12 months I have had the privilege of doing process assessments with about 15 different companies. I know this is a small drop in a very large bucket, but it's been interesting.

The companies range from small 2 or 3 facility companies to huge global companies. Industries represented include high tech, machinery, medical, bio-sciences, military, oil & gas, and transportation. Product lifecycles range from 6 months to 50 plus years. Annual product volumes range from one to millions. Throughout these companies there is a vast array of different tools and technologies used to support the process.

Here are some of my random observations:

  • A PLM system does not necessarily reduce the need for individual discipline
  • Duplication of effort is much too common in product development
  • 2D drawings are by far the preferred method of conveying definition and design intent
  • Habits, culture and the path of least resistance often take precedence over process
  • Much data is created in the PDP that adds no value beyond the individual
  • Engineers doing more data entry and project management
  • Individual productivity does not equate to team productivity
  • Tools and technologies are often chosen based on personal preference over process
  • Still a lot of shared drives out there
  • IT often has significant influence, but equally often has little PDP knowledge
  • Throw-it-over-the-wall is still all too common
  • Much regulatory compliance is still paper based, (so they think)
  • ISO Certification is a book on the shelf
  • Regardless of value change may not happen
  • Regardless of value change may happen
  • Knowing how to use a wrench doesn't make you a good mechanic
  • Not knowing how to use a wrench is a problem
  • "PLM? I just need to get my job done"

Some of those appear to be more negative. Here are some that are more positive.

  • People genuinely want to do what’s right. Engineers are top-notch people
  • Engineers are also very creative, (this isn’t always good)
  • The vision for product development is relatively consistent and progressive
  • Innovation happens and tools don't get the credit
  • There is a huge culture gap between the senior and the youth, (good as long as youth knows where help comes from, and senior is open minded)
  • Having a full toolbox is a good thing when problems need solved
  • Collaboration with outside suppliers and venders is improving
  • 3D is making its way into all aspects of product development
  • From drawing boards in open spaces and real-time collaboration - to - CAD in scatterd cubicles and... Twitter??

I started adding examples for each but it got a bit crazy so I will just leave it at this for now. You're welcome to add some of your own random observations.


Wednesday, June 10, 2009

PTC User 09 and CoCreate - Day 3

I started out the day with an early round of golf (I wish I knew how to play golf). Fortunately I had to leave after about 13 holes to get back to one of the CoCreate training sessions.

The fact that I played golf, means that I missed the KTM keynote. I would like to have been there.

I arrived at the class a bit late, but Brad Tallis (PTC CoCreate Technical Consultant) was doing a nice job of leading and teaching the class. The class was full. All students were Pro/ENGINEER users just trying to get more familiar with what CoCreate Modeling is. It can be a bit difficult to get out of the mindset of structuring a history tree, but the lights come on fairly quickly. We had a great time and it appeared that the students all had a great time as well. They all wanted more but the time was over all too soon. We encouraged them to download the free Personal Edition from and try it out some more.

PTC User was a great experience this year. It was my second one and I enjoyed meeting more of the PTC community. I also enjoyed meeting in person some of my fellow bloggers and others that I have virtually met in the social network.

I hope these blog posts were of some use to those of you that could not make it to this years event, but I more hope that we will see you at next years event.

Boarding now, got to go.


PTC User 09 and CoCreate – Day 2

John Abele from Boston Scientific was the keynote speaker for today. What a great story. He is a pioneer in many ways. Some of the statements that caught my attention included the following. “Pioneers have arrows in their back”, somewhat referring to the fact that innovation and progress is not without many trials. “Change agents don’t come from the establishments”, another interesting comment that can apply in many different ways. Another one I liked; “preparing to be lucky”, think about that for a minute. He also made some good statements about customers becoming family, salespeople, application developers, engineers, presenters and strategists – basically user groups.

John also told a most fascinating story about finding the submarine that his farther served and died on during WWII. I can’t begin to describe the story, so if you missed it, you just missed it. It was amazing.

I then participated in a meeting with PTC User representatives and other CoCreate users interested in trying to find ways to build up the CoCreate user community. One of the better ideas that came from this discussion was to encourage regional user group meetings. We are looking for a few customers that will step up and be willing to host such an event. I can tell you that if you do you will be well supported. These can be great events and platforms for some valuable collaboration between PTC User, PTC and our customers.

In the afternoon Brad Tallis taught a class on CoCreate Modeling advanced topics. We had several CoCreate users attend the class and even a few brave Pro/E users. He showed many productivity tips and tricks that are perhaps not so well known. There was even some other sharing from some of the attendees with their own tips and tricks. Brad went into some details on part and assembly structure management and then showed how this structure and organizing can be utilized in modeling operations as the design progresses. As CoCreate Modeling has no part modeling mode or assembly modeling mode, you can leverage this virtual 3D environment in some very useful ways. He also went into many other details about sectioning, clip planes, advanced blending capabilities, 3D curves and surfaces capabilities. He ended the class by showing many different ways to take advantage of Configurations to capture states, positions, exploded views, view settings and so on.

Brad and I both were doing demos of CoCreate Modeling in the exhibit hall. It is always enjoyable seeing the reaction of people when they start to realize and understand what CoCreate Modeling is. Several people kept coming back for more. I don’t think they believed it the first time.


Tuesday, June 9, 2009

PTC User 09 and CoCreate – Day 1

The day started out with a talk from Jim Heppelmann and Brian Shepherd. Technology just keeps moving forward. What might be interesting to some of the CoCreate folks is the appearance of some CoCreate technology inside a future version of Wildfire. A brief video was shown of the concepts with stronger direct editing capabilities within Wildfire. Could be interesting.

The CoCreate specific content started with a presentation from Dan Gioia from Gioia Consulting. His presentation was focused on the design of electro-mechanical assemblies using IDF and CoCreate Modeling. By sharing data between the EE and ME disciplines he is able to show a considerable reduction in late changes and errors as well as eliminating the confusion of multiple layout passes. Just for reference, the IDF exchange capability is part of the base CoCreate Modeling product.

Andy Poulsen from Aspiration Innovation, Inc. was up next. Andy is a master at creating productivity add-ons for CoCreate Modeling. He showed us some great examples of the power of the CoCreate Modeling Integration Kit, which is a LISP based customization layer that can be used for creating your own custom tools and automation routines. You should checkout: for more information about the products and services they provide.

During lunch I spent some time at the CoCreate booth. Many people came by to better understand what the heck CoCreate Modeling is. No one left unimpressed. It’s a blast showing off this product.

In the afternoon Martin Nuemueller, Product Manager for the CoCreate products presented the CoCreate product roadmap. Martin presented many of the breakthrough technologies around explicit modeling that are coming with v17. I’ve had the opportunity to use early v17 and can tell you that “breakthrough technologies” is a great way to describe it. The focus is around improving speed, flexibility, predictability and intuitiveness. I guess Software companies are always working on these things, but the CoCreate team is taking some big steps with v17. V17 also includes much more interoperability with many of the other PTC products. These integrations can greatly increase the value you can get out of your 3D engineering data coming from CoCreate Modeling.

There is also new stuff coming in Model Manager as well such as management of inseparable assemblies, PCB integration, management of stock-finish parts (multi-opp parts), advanced version control and many more. Martin also talked about the coming gateway between Model Manager and Windchill.

Berthold Hug (PTC Prod Mgr, CoCreate Modeling) and I then presented the “Explicit Modeling Outlook”. I talked briefly about the technologies of parametric modeling (history-based) and explicit modeling (history-free). How these two technologies can address different needs and requirements of product development, but also how they can overlap and complement each other. The most exciting part was Berthold’s presentation and the demonstrations of v17. Wow!! I am hoping that I can get some images and videos posted real soon.

Korie Carter and Scott O’Brien of Tensor Engineering also presented how they are using CoCreate products in steel bridge detailing. They showed several pictures of very large and very complex bridges that they have worked on in the past, from locations all around the county – check out their web site at There is basically no room for error in a business like this. You don’t get to create any prototypes, the volume of product is 1, and the cost of the product is… well, I have no idea. It is very interesting to see how a company like this is using 3D modeling to minimize the opportunity for error and help solve design problems. It’s not that they are not able to do it with 2D, 2D CAD is still a very important part of their process. It’s just that in many cases 3D can be used to more effectively visualize and solve geometry problems. They also use it to visualize the construction process. They even animated the assembly process to capture the specific sequence of assembly. In many cases it is critical to ensure that pieces are assembled in a very specific sequence. These animations make it very clear. Nice job Korie and Scott!

To end the day, Brad Tallis, a Senior Technical Consultant at PTC, gave a presentation and demonstrations about virtual prototyping using some of the advanced capabilities of CoCreate Modeling. He showed simulation and animation of mechanisms to identify any potential interference or conflicts. This capability will work with any geometry from any CAD system. He then showed the integrated FEA capabilities within CoCreate Modeling. He was able to identify areas of weakness, quickly change the model in many different ways to reduce stress and then rerun the analysis, all without being concerned with how the model was created in the first place - just quickly solving problems. Also in the context of virtual prototyping Brad showed the new cabling capabilities of CoCreate Modeling. He loaded an E-CAD file that defined the cables and their pin assignments. Using this data, CoCreate Modeling was able to create the cables and route them automatically and appropriately. Last, but not least Brad talked about taking advantage of the high quality rendering capabilities to use your 3D data to better understand what the product will actually look like. Bringing all of these capabilities together can greatly reduce the dependence on the physical prototype. And when it is time for a physical prototype you can be much closer to a final solution with less iteration.

So that was day one from a CoCreate perspective. Now on to day two.


Monday, June 8, 2009

Some Serious CAD "Geekery"

For those of you that have not already done so, you should check out the geeky discussion going on a Matt Lombard's blog at:

Not sure if any of that discussion helps clear the mud, but I hope so. Let me know what you think. It seems that it will only get more confusing as history-based technology adds more powerful direct editing and dynamic feature manipulation, and as direct history-free modeling adds more intelligence to the B-Rep.

The Big question is; what does it all mean to the process of designing products? It will certainly be interesting to watch.


Thursday, June 4, 2009

PTC World User Event and CoCreate

The PTC World Event is starting next week in Orlando. I am making last minute preparations for my trip and participation at the conference. Myself and several others will be there to represent the PTC CoCreate products. We have several presentations planned along with some free training. We also have a booth in the exhibit hall. We actually get to show off so very cool new stuff so it should be fun.

If you are planning to be there, please come by one of the presentations, training classes or the booth. I would love to meet some of the people that read my blog.

If you are not going to be able to make it, myself and many others will be blogging and tweeting real time as best we can to keep you up to date on what's happening. Watch for the feeds at:


Wednesday, June 3, 2009

PDM and the History Tree

As you would expect, I take whatever opportunity comes alone, with whoever is willing to listen, to explain the benefits of history-free CAD. As such I get to hear many reasons why history-free CAD will not meet a person’s particular requirements. Some of these reasons are certainly valid based on their product characteristics and/or design process. Some, on the other hand, are, well, puzzling to say the least. It is amazing what some people believe that the history tree is doing for them.

One of the frequent and more “puzzling” reasons that I hear for needing the history tree is; “I don’t want anyone to be able to change my model”.

Wow! There are so many things wrong with this statement I’m not sure where to begin.

First of all, the history tree technology (CSG) was originally leveraged into 3D mechanical CAD to make the editing of models easier and more predictable, as compared to the ridged editing capabilities of the old B-Rep CAD systems. When did it become a method for restricting edits? It is true though, you can organize the history tree and constraints to make only specific edits possible. But then if you actually have access rights to make these very specific edits, you also have the rights to reorder the tree, or even corrupt the tree? Strangely enough, you most likely also have the rights to delete the file. Whether intentional or by accident, the model can be changed. Since when did the history tree become some form of data management?

Maybe these people are simply referring to the use of the history tree to capture and somehow communicate their design intent. If this is the case, we should consider how many people within the team and throughout the enterprise need to understand this design intent. And of those, how many have the skill to properly evaluate a history tree to accurately assess the intent. Of these people, how many should have access to the native CAD data? I think the number will get real small, real quick. We have been capturing and conveying design intent via 2D drawings ever since humans have been inventing stuff, and 2D drawings will continue to be the preferred method for many years to come. Model Based Definition may catch on at some point, but MBD does not require a history tree. What unique design intent is captured in the tree? And how does it get communicated to the greater enterprise?

I suppose that there are some that would tell me that what these people really mean is that they want to make sure that IF the model is changed, i.e. a boss is moved on one part, the mating feature on another part is updated accordingly. If that is the case, they are confusing the history tree with parameters and constraints. And please don’t assume that just because these relationships exist, you don’t need to check the results. Relationships and parameters can be changed, removed and even broken - and now we are back to data management.

Maybe I am missing something here, but it seems to me that there is a tendency to believe that a nice looking, well constrained 3D CAD model with a well structured history tree somehow implies “security” and “completeness”. Bottom line: if you think the history tree is somehow protecting your model/assembly, or perhaps somehow controlling and communicating intent, you’re at risk, (in so many ways).


Thursday, May 28, 2009

Direct Editing in History-Based CAD

In a recent post by Deelip Menezes titled “Direct Editing and Direct Modeling” Deelip brings up the fact that within the context of history-based modeling, this term can refer to two different things. He notes that in a typical history-based system like Alibre, a direct edit to geometry will result in a new “Move Face” feature that will be added and ordered into the tree. He then notes that in SolidWorks using the Instant3D functionality, the edit is not recorded into the tree. The two technologies referred to here are very different as I will explain below. Unfortunately they are both often referred to as “Direct Editing”. You can access his article by clicking on the link to his blog under “My Blog List”.

As I mentioned above, in the context of history-based modeling, the term “direct editing” is used to describe two completely different things:

1) Some history-based CAD systems (almost all of them now) have at least one or two functions that will allow a user to directly manipulate geometry – at the geometry level. When this manipulation is done within a history-based model the system must track the edit in the tree otherwise the next time the model is regenerated, the edit will be lost. This type of editing is great for parts in which the history tree has become unmanageable or overly complex and you just need to make a quick change, or when you are working with imported geometry. Direct manipulation of a B-Rep solid is not a trivial thing and many of these history-based systems don’t have the capabilities to solve complex topology problems. As such much of this capability can be very limited. This technology is the heart and soul of history-free direct-modeling CAD. A history-free CAD tool must be very good at solving topology problems, whereas a history-based system relies more on the tree.

2) Some history-based CAD systems provide the capability of dynamically manipulating parameters. Such is the case with SolidWorks and their Instant3D capability. This edit graphically appears to be a direct edit as defined in #1 above. In reality it is very different. There is no new “move” feature added to the tree, only existing parameters that are being dynamically edited. This method simply provides instant feedback of the parameter edit rather than waiting for a model regeneration. It requires that a parameter exist in the model. As such it may not always work, based on how the model was created in the first place, and as with any history-based edit it can impact child features. It also may not work for imported data. This is not new technology. IronCAD has been using it ever since it came into existence many years ago. We will certainly see much more of this technology in history-based CAD. Just to be clear, in history-free direct-modeling, you can also dynamically manipulate parameters, it’s just that the parameters are not history-based.

As I have mentioned before, there are really only two fundamental technologies used in mechanical “solid modeling” CAD today; 1=history-based (CSG+B-Rep hybrid) or 2=history-free (B-Rep). Direct geometry editing and dynamic parameter editing (or whatever we want to call it) can be available in both. It’s just a matter of how the geometry is managed; with history or without. They both have their pros and cons and each can greatly impact the design process.


Wednesday, May 27, 2009

A Fun Project

My wife says I have way too many hobbies. She’s wrong of course. One of the “few” hobbies that I enjoy is building and flying RC airplanes. I am now flying the so called “giant scale” airplanes. My most recent airplane is a 1/3 scale model of an Extra 330 aerobatic airplane. The wing span is 102” and it is powered with a two cylinder 100cc 2 stroke engine.

Prior to the 100cc plane I was flying a 50cc Extra300.

A while back I had the unfortunate experience of disassembling this plane during a fairly hard landing. The landing really wasn’t all that hard, it was just that in the months leading up to this incident I had been making good progress in removing much weight from the airframe in trying to improve its performance. Unfortunately my weight reduction efforts eventually led to some compromises in the integrity of the airframe to the point that… well you know.

I could have purchased a replacement fuselage and had the plane flying again, but I decided to see if I could rebuild it. A friend had the same fuselage that I could use to measure parts, another offered to make the parts for me on his CNC router, so I decided to give it a try.

I spent a few hours measuring parts and sketching them out on paper. I then modeled all of the parts in 3D using CoCreate. As the assembly came together I adjusted the models as needed to get a good fit.

With the 3D models created and fit together, the necessary data was sent to the router to get the parts manufactured.

These parts fit together so well that they actually held together without glue. After spending some time cleaning up the old fuselage, the new assembly was fitted into what was left of the originally fuselage. With some glue and clamps the fuselage was as good as new.

The plane is now in great flying condition and I still enjoy flying it. I think I will just leave the weight alone this time. It is safe to say that had I used my 2D sketches and 2D drawings to manufacture the parts I would have had to correct a few mistakes and even make some of the parts over. With 3D models the parts were perfect, the first time.


Monday, May 18, 2009

Model Based Definition (MBD) – What’s the Hold-Up?

Recently I have been talking with several companies about the possibility of reducing their dependency on fully detailed drawings. In a recent post titled “The Maturity Curve of Product Development” I used the following chart to show the different stages that companies go through as they learn to leverage their electronic CAD data deeper and broader into the product development process.

Model Based Definition (MBD) is a term used to describe the addition of information to the 3D model such that the model can represent the complete definition of parts and assemblies. For most companies, this complete definition is usually developed and managed in the 2D drawing and other related documents. At its fullest extent, model based definition can make it possible to reduce and even eliminate the need for 2D drawings.
Recently, Matt Lombard at asked if any of his readers were using the 3D CAD Standards that are laid out in the ASME Y14.41 standard. This standard basically defines how 3D models are to be documented and annotated to fully represent the complete definition. So far he has not received too many responses, and no response that indicates the use of this standard and MBD.
Much time goes into creating fully detailed drawings. They can be expensive to create and manage. They can be easily misinterpreted. If developed from a 3D model, there is much duplication of effort. With duplication of effort comes a higher potential for error. Drawings can quickly become detached or unrelated to the 3D model. Once printed, they can become even more detached from the 3D model, and the opportunity for error increases. So, what’s the holdup?

Example from ASME Y14.41

Same part annotated in CoCreate Modeling
I have read a few success stories about MBD, but I have yet to witness one. As engineers at Hewlett Packard, we were successful with reduced content drawings, but we never made it to a “drawing-less”, or MBD process. There have been many claims to successful MBD in aerospace, automotive, and high tech electronics. I have visited many of these companies and am still looking for some good examples. I have seen some small examples from some progressive individuals or even small groups that have been able to push forward with MBD to some extent, but nothing that encompasses the complete product lifecycle. Maybe I just haven’t visited the right places.
What does it take to move to a model based definition? The technology exists. Most all modern 3D CAD tools have some capability for MBD. Some are better than others. Several free viewers are also available to read and view these annotated parts and assemblies. I would love to hear from some of the readers.  What are the challenges you would face, or are facing?

Same part viewed in eDrawings

Same part viewed in 3D PDF
As I stated in the post regarding the maturity curve, making the move up the curve will be an evolutionary move – one step at a time. First, you need to understand where, when and why part and assembly definitions exist in printed form. I see a significant use of computers on the shop floor, in manufacturing and assembly. It’s even becoming common to see 3D representations of parts and assemblies on the monitors. But it’s equally common to see a printed 2D drawing lying on the workbench next to the monitor.
As we continue to move to 3D based product design and manufacturing, the development and management of drawings will become a duplication of resources and effort, effort that we may not be able to afford much longer.
Here are some challenges to MBD that people have shared with me.
  • The culture chasm, it’s a giant leap
  • Quality management/inspection
  • Compliance with industry specific regulations
  • Our suppliers, partners
  • Cost & disruption vs. value
  • Inadequate tools/technology
I recently needed to make a part on the lathe in my garage that I first designed in 3D. I didn’t take my laptop with me; I took a printed drawing – hum…


I recently published another article on MBD that can be found here. It perhaps provides a more broad perspective on what MBD can be.