Monday, December 22, 2008

2008 - The year of Direct Modeling?

I started out this year as an independent consultant doing design and engineering work.  I also did some process consulting for a few manufacturing companies, and even some consulting for some software companies as well.  As an independent I was able to get exposure to a variety of different design tools, CAD and CAE.  It was a good year for this as technology continued to move at a great pace.

During my time as an independent, SpaceClaim came to market (almost 2 years ago now).  I had much fun with that product. They’ve done a nice job at making history-free b-rep modeling simple, fast and flexible and they continue to be a strong advocate for this direct history-free technology.  They seem to be focused on a complimentary, or coexistence strategy and getting CAD into the hands of the non-experts.  In 2008 SpaceClaims’ unique user interaction model and geometry interaction methodologies were “leveraged” by another CAD company, bringing further validation to their place in the industry.

Just prior to 2008, PTC acquired CoCreate, adding direct modeling to their suite of products and raising the awareness again for history-free direct, or as they call it “explicit” modeling.  I watched this closely as I used to work for CoCreate.  Back then PTC was of course our biggest competitor.  CoCreate Modeling remains to be the most matrue and capable of the history-free direct modeling systems on the market - after all they were developing it inside of HP long before CoCreate, the company, existed.

Then came Siemens and Synchronous Technology.  It was great to see all the new attention, again, on history-free modeling.  The marketing buzz from Siemens was that they were the first to combine history-free modeling with a synchronous constraint solver.  Although they weren’t the first, they certainly made some good progress in integrating the two technologies in a useful way.  I still think they have a long ways to go to bring maturity to their history-free modeling environment and the intelligent model, but they certainly have a good start.

There were also many advances this year in direct editing within the history-based environment.  Most all of the history-based CAD vendors now have this capability.  It’s seems a little flakey tracking direct edits in a history tree, but it does further validate the need for more flexibility in our 3D CAD tools.

Now we have Autodesk getting into the fray with Inventor Fusion, another validation that this is where we are heading with regards to 3D CAD.  I still can’t tell what this thing is though.  The demos that I have seen are very trivial and simple, but they do present some nice user interaction tools and methods.  So, is this a history-free CAD tool, or more direct editing within a history-based system, or some weird combo-deal?  Hard to say so far.  I suspect a new history-free environment that will strip away all the history and parameters of an Inventor file, similar to that of SE ST and NX6 ST.  We’ll find out soon enough.  They do show some nice new user interaction concepts and tools. 

While I enjoyed my time as an independent consultant, this last June brought a significant change for me in that I took a job with PTC.  So now I can no longer claim to be one of those “credible independent consultants”.  I guess I’m now a pesky “software vendor”.  It’s been a bit of a strange transition for me.  Not that I haven’t always been a bit bias to history-free modeling, and specifically the CoCreate product, it’s just that now I’m supposed to be. J  I still hope I can be more factual than salesy though.  I think that once someone knows the facts and knows their process and user requirements they will be able to make the right alignment with technology.  History-free modeling is not the answer for all design requirements.  (Not yet anyway).

So what’s coming next year in the world of history-free or direct modeling?  You know, now that we have a few more capable history-free tools out there, we could greatly reduce the interoperability issues that come standard with history-based tools.  Models can now be fully editable across several different CAD tools.  The next step is to be able to transfer history-free features, 3D annotation and parameters between these systems.   The STEP protocol actually has much of this built into it already.  Imagine transferring fully parameterized, intelligent, editable parts and assemblies from one CAD system to another via STEP.  Could it be possible?

Merry CHRISTmas and Happy New Year!!


Wednesday, December 17, 2008

History-Free Bolt-Hole Pattern

Here is a quick addition to my previous post about history-free parametric modeling. This is based on a question about bolt-hole patterns.

To get the video I just animated the variable that controls the outer diameter of the ring. (During the animation, only the faces that are affected are displayed) The bolt-hole radius, number of holes and the inside diameter is based on the outer diameter. As the outer diameter changes the bolt-hole radius changes as well as the number of holes and ID.

I realize this is reasonably simple stuff with a history-based system, but most people assume that it can't be done with a history-free system.

Again this is a history free model. There is no history tree and no parent/child relationships.  A feature was defined from existing faces, a pattern of the feature was defined, and a few parameters and expressions were added for control.  It is solved synchronously.  (and yes, I did it with CoCreate)

This can be done with an IGES file.

Monday, December 15, 2008

History-Free, Parametric Modeling (Part II)

In Part 1 of History-Free Parametric Modeling I attempted to present the reality of adding intelligence to a history-free model such as constraints, parameters and feature information. With Part II I hope to show what is possible with respect to assemblies. Getting a part to behave as intended (design intent) is equally important as getting an assembly to behave as intended. By capturing intelligence about the design at the assembly level, we can begin to use 3D to design products/systems/solutions rather than just parts. Using synchronous solvers on history-free part models is nothing new, nor is it new at the assembly level.

Similar types of relationships can be defined on an assembly level as on a part level. Most common may be coincidence, distance, angle, parallel and perpendicular. There also may be special assembly relationships such as gear or cam.

Again I am using CoCreate Modeling just because that is what I know the best. I am sure some of the other history-free modeling systems are capable of some of this functionality as well. The first example I will show you is of a fishing reel. A fishing reel has some reasonable mechanisms in it. While you are reeling in the line the head is spinning, and the spool is moving in and out to keep the winding on the spool even.

In this case you can see that I have several coincident relations and a gear relation. The gear relationship is used to represent the ring and pinion gear used in the reel. The rigid relations keep the subassemblies constrained as units. It took maybe 15 to 20 minutes to setup the necessary relationships for the fishing reel.

Once relationships have been defined, you can use the added intelligence to analyze motion, functions and identify interferences. In this case an animation of the solution was also captured with rendering, although my rendering is not too good. I took the cover plate off and put a mirror on the side in hopes that you can see both sides. Here is another video without the housing.

As with part relations, CoCreate Modeling allows you to have multiple relation sets on the assembly level as well. In this case you could have one set to simulate the assembly process and one set to simulate functionality. Mathematical equations are also allowed within the solution set. The equations can also include logical expressions such as if, then, else, and mathematical expressions such as equal, not equal, less than, less than or equal and others.

Here is another simple example. This one uses both a cam relationship and several gear relationships. This is the eject mechanism for a CD drive in a laptop.

Assembly relationships can be used for several purposes. They can help keep mating parts in the correct position as other parts are moved or modified. And of course they can also be used to represent mechanisms or perhaps the assembly process. Really no different than what you can do in a history-based system. The only difference is that with a history-free modeling system, the relationships can be added any time during or after the design process, and they are solved synchronously. It also seems to be a bit more intuitive and forgiving when you don’t have to be concerned with order.

I have often heard people make the mistake of assuming that by using history-free modeling you are giving up the ability to capture design intent. So I hope I have shown with these articles and simple examples that design intent can be fully captured with history-free modeling. I would even argue that it is much easier and more intuitive in a history-free environment. You certainly cannot capture how the model was created – but since when did the model creation process align with the design intent?

Wednesday, December 10, 2008

CAD Interoperability: Native Files vs. STEP

Matt Lombard has an interesting article on his blog titled: Best way to translate Catia Files into SolidWorks? Use Inventor. It spurred a lot of good comments and questions. Check it out at: It spurred some thoughts of my own, and now I have a related question, and it is a bit of a loaded question: Why is it important to load native files versus STEP? I think these are some of the possible answers. They may all apply, but which one best describes your need or problem?

1) Speed and convenience - no translation required
2) Managing risks - don’t want to create and manage another document of the same object
3) Must have a valid solid model - good 3D geometry
4) Must have an editable model - history tree with sketches, features and constraints
5) Must have round trip translation of editable models with no data lose

If you answered #1: Maybe this means that you have to go back to the owner of the native file to request a different format. This can create delays in the process. It should not take too long to actually create the file, but the communication and extra effort would not be necessary if you could just use the native file.

If you answered #2: If you must create a STEP file, you now have another file (document) that represents the same part. Do you know what version the STEP model is connected to? If you send a STEP model out, are you (or the receiver) confident that it is the correct version? Managing another document just adds more complexity to the process and presents a higher risk for mistakes. By using the native file risks can be lower and there is no need to manage another document.

If you answered #3: With STEP perhaps you get erroneous data/geometry – missing faces, gaps, and other geometry problems. You assume that by loading a native file you will get better geometry translations. This assumption is probably wrong, however. There are several issues. If the sending system is a history-based system, the native file may not even contain the 3D geometry, but rather only the receipt, or history-tree, with sketches, feature definitions and parameters (another issue covered later). If the native file does contain geometry, the resolution or accuracy of the geometry will be based on the CAD systems operating model resolution. For some strange reason all CAD vendors have chosen different model resolutions for their CAD system to run at. For some it is adjustable, for others it is somewhat dynamic. Translating a model from a high-res CAD system to a low-res CAD system is not a problem. Going from low-res to high-res is a huge problem. Do you know what model accuracy your CAD system is using when creating 3D geometry? Solid Modeling is all about connectivity. If it cannot connect, it is not a valid solid. The big problem with this geometry accuracy issue is that the people that are creating low-res geometry probably don’t know it. It’s the ones on the receiving side that know it – unfortunately they usually blame the problem on their own CAD tool, when in fact the geometry issues are most likely a result of the junk data coming from the sending system.

If you answered #4: If the sending and/or receiving side of the exchange is a history-based system and you need editable models, you must have the history-tree with all of its components. This is a very tall order. The technology to translate one history-tree to another exists but it is very complicated and expensive. Basically the history-tree, and its contents contain a CAD systems competitive advantages. Things like a special modeling feature or perhaps a unique rounding feature are all contained in the tree. A new version of a CAD system will certainly have enhancements and new features that are captured in the tree. What if one of these features (competitive advantages) does not exist in the receiving history-based CAD system? How will the receiving system handle it? What happens when you upgrade to the next latest and greatest version?

If you answered #5: Go out and purchase a history-free CAD system, now. If this is a requirement and you don’t have one, you are wasting HUGE amounts of money and time. (and/or putting reducilulous requirements on your suppliers.) Just make sure your suppliers are deliverying good high accuracy geometry. Set some standards for it - after all you are paying for it.

So the next time you have a discussion with your CAD vender about interoperability and data exchange, don’t just tell them that you need to load native files, tell them what it is that you really need in order to support your processes and requirements - describe the problem. Too often we tell them how to solve a problem rather than telling them what the problem is that needs to be solved. They are actually good at solving problems, once they know what the REAL problem is. (Also, while you are at it, help your CAD supplier understand your need for higher resolution/accuracy geometry. I am continually amazed at how much junk geometry comes out of our modern CAD systems.)


Thursday, December 4, 2008

Getting Expected Results with Direct Editing

I received a few questions about an earlier article with regards to getting expected results from direct geometry edits. When you start pulling on various faces of your model you may or may not get what you are expecting. This applies to both history-free direct edits as well as history-based direct edits. To show this in its simplest form I will use the simple model shown below. In this case we are pulling on the yellow face.

With a linear pull there are at least four different possible solutions to this edit.

  • #1 - The pull face changes size as the adjacent faces are stretched
  • #2 - The pull face size is maintained, the adjacent faces are stretched and the angle of the top face is changed, topology is unchanged
  • #3 - The pull face size is maintained, the angle of the top face is unchanged and topology is changed – a new face is created
  • #4 - The pull face changes from a planar face to a b-spline surface

There are certainly other possible results if you pull around an axis.

With history-free modeling there may not be any relationships or conditions built into the model that would drive any one particular result. As such the results are completely based on the type of command or command options that may be available to the user.

For direct edits in a history-based system, the result may be completely dependent on how the model was originally created, as with any other edit in a history-based system.

In the history-free category, with their instantaneous graphical feedback, SpaceClaim certainly leads the way in helping the user understand the results immediately. I just personally struggle in SpaceClaim finding the right options to get different results, but I’m no expert with SpaceClaim.

Siemens is following SpaceClaim with the instant feedback, but again getting different results seems difficult for me. #1 and #3 are easy to get with the Pull Face or Move Face commands. The others???

CoCreate Modeling provides all the options for getting any of the results above, but it does not yet have the instant graphical feedback for case #1 and #2, although I am sure this is quickly changing.

As with any CAD tool, it takes some practice to understand what is possible and how it’s going to work, but don’t assume that just because it is or is not possible in one system, that it will work the same in others. There's a lot of progress being made in direct editing technology. The nice thing about history-free direct edits is that the results are completely independent of the how the model was originally created. You decide, right at the time of the edit, what results you need and “make it so”.


Monday, December 1, 2008

History-Free, Parametric Modeling

History-Free parametric modeling? Is there such a thing? To some it may sound like a contradiction in terms. The term “Parametric Modeling” is often used to describe history-based modeling. Certainly parametric modeling came of age within the context of history-based modeling, but in fact, parametric modeling is not reserved for the history-based CAD products.

For me “parametric modeling” simply refers to the addition of persistent geometric relationships, constraints and parameters to 3D models. This added “intelligence” is then used to control the behavior of a model. The following are some common examples of relationships, constraints and parameters:

  • Parallel
  • Perpendicular
  • Tangent
  • Coincident
  • Planar
  • Distance
  • Angle
  • Radius
  • Diameter

History-based modeling provides a nice platform for parametric modeling in that you can easily add parameters to the 2D sketch. It is also common to have predefined parameters and constraints associated with 3D modeling features, such as the depth and diameter of a hole feature. During the creation of these features, users are given the opportunity to specify the value of the parameters. Once the sketch is defined and/or the modeling features are defined, they are captured in the history tree. Users are also given the option to add dimensional parameters to the sketch and/or modeling features. When changes are needed, a parameter or constraint can be adjusted and the history tree will be replayed to form a different model based on the modified parameters. The model is actually recreated from the point of change each time the tree is replayed, or regenerated. The parameters are similar to variables in a software program. Change the variables and replay the program to get different results.

Parameters and constraints in a history-free environment can be a bit more complex in that they are all 3D and must be solved synchronously. They must control conditions in 3D space that are typically controlled in 2D space within the history-based 2D sketch, such as tangent or parallel. Due to these complexities, the history-based platform may be the ideal platform for fully constraining a 3D model. However this is quickly changing with continued advancements in 3D parametric solvers and new intuitive methods for applying and interacting with 3D parameters.

Today there are only a handful of history-free modeling systems on the market, and only a few of those have full parametric capabilities. PTC CoCreate Modeling (Formerly HP SolidDesigner) has had this capability for many years now and probably has the fullest set of capabilities for managing 3D parameters within history-free geometry. As such I will use examples from CoCreate Modeling to highlight some of the challenges and benefits of history-free parametric modeling.

One of the key benefits of history-free parametric modeling comes from the fact that these parameters can be defined anytime during or after model creation. Parameters can be added and removed anytime regardless of the completeness of the model. As a matter of fact, an imported IGES or STEP file can be fully constrained and parameterized with a tool like CoCreate Modeling.

Below is a picture of a wheel that has been constrained using CoCreate Modeling. It is probably not fully constrained, but may be close. This wheel started out as an IGES file from some other CAD system, so all parameters were added after the fact. In this case there are basically three key variables identified in the solution. One for controlling the width, another to control the outer diameter, and another to control the bolt hole circle radius. The parameters are organized and managed in what is referred to as a “Relation Set”. Relation sets are owned by the part. In the picture of the Structure Browser you can see a part called “Wheel”. Underneath Wheel is a relation set called “Wheel_Set1”. Within the set is the list of all the parameters that have been assigned to the part. The first parameter in the list is a Radius parameter that is the driving parameter for controlling the outer radius of the wheel.

With a parameter set like this, it takes CoCreate Modeling maybe 12 seconds to solve the complete wheel when a change is made. It will not make a difference whether one variable is changed or all three are changed. It takes the same amount of time to solve, as you are solving the entire solution set simultaneously.

To reduce the amount of time it takes to solve a set, CoCreate Modeling allows you to have multiple relation sets per part; any number of sets with no limit. However, only one set can be active at a time. Multiple relation sets also gives you the opportunity to capture multiple studies or scenarios within one part. Something that is not possible with history-based modeling without building a new part. In the example below, I separated the parameters into 3 different sets. One set to control the width of the wheel, one set to control the outer diameter, and one to control the bolt hole circle. Each set is now independent and will not impact the other. In this case now, to solve for example a width change, the solution will take about 5 seconds to complete. (Of course this depends on the machine you are using). The change has no impact on the other relation sets. Notice how all other geometric conditions are being maintained within the model, conditions such as tangent and concentric.

You can also include equations into your parameter definitions. For example in the Wheel_Width set there is a simple equation that will drive the location of the hub based on the width. If you look closely from image one to image two you will see that the position of the hub changed relative to the front of the rim, as the width changed. The equations can also include many logical expressions such as if, then, else, and mathematical expressions such as equal, not equal, less than, less than or equal and others.

Here is another simple example of a history-free parametric model. In this case it is a plastic connector body. There are a few features and patterns that have been defined. Parameters are then used to define the number and placement of the features. One of the parameters is used to define the number of pins for this connector. Based on that number, features are added or removed and the geometry is adjusted.

As with any parametric modeling tool, it is possible to over constraining a part. If this situation happens in CoCreate Modeling the system will highlight the parameters that are involved with the over constrained condition to help the user quickly resolve the situation.

Parameters are only as good as the underlying geometry engine is at making the actual geometrical change. If the system is not capable of making complex geometrical changes, driving that same change with a parameter will also not work. As mentioned in an earlier blog article titled “Key Capabilities of History-Free Modeling”, properly managing adjacent faces and topology changes are critical to history-free modeling.

Of course adding parameters to a model is only good for one thing; controlling the behavior of the model. This type of control is not always necessary however. With history-free modeling you have complete flexibility in adding constraints and parameters to your model. Users can focus on the task of design, and only apply parameters and constraints where and when it makes sense and adds value. Keep it “Lean”. Don’t waste time on creating data that adds no value to the actual design.

So, history-free parametric modeling is a reality and it is VERY cool. It actually works like most engineers think – unless they have been brain-washed with history-based modeling. History-free parametric assembly modeling is also a reality. Maybe I will cover that topic in a later blog.


Wednesday, November 12, 2008

3D Solid Modeling Terms & Definitions

(according to me)

It’s amazing how many different terms are used to describe the same thing, especially as it relates to 3D modeling and the related technologies. So here is my take at a few of these. Please add your own, or suggest corrections to mine.

History Based Modeling: This is the typical technology used for most of today’s 3D CAD systems. Modeling operations are stored as features and organized sequentially in a tree, maintaining a parent/child relationship. As you are creating the model a recipe, or program, is being created that will record everything about the development of the model including 2D sketches, 2D parameters on the sketch, 3D operations and the parameters, or variables, related to the 3D operation. Edits are done by accessing one of the previous operations and adjusting a sketch or a parameter. After adjustments are made, the “program” can be replayed to get a different or edited model.

Other terms for history-based modeling:

  • Parametric Modeling: This term is used as parameters are critical to the ability to make edits to a history-based model.
  • Variation Modeling: This is an old term that used to be used to describe history-based modeling, but in this case the sketches and 3D operations did not need to be fully constrained. You don’t hear this term used much anymore.
  • Others: ?

Other related terms:

  • Direct Editing: This term is usually used to describe direct geometry edits that are being done within a history-based environment. Each edit is usually captured in the history tree, similar to a feature. There are some exceptions to this.
  • Others: ?

History-Free Modeling: This term describes a method of creating and editing 3D geometry by directly interacting with the geometry. Modeling steps, or operations, are not stored and there are no parent child relationships. Edits are not done through interaction with previously defined features or sketches. Edits are performed directly to the geometry. These CAD systems must be very intelligent to properly and intuitively manage geometry and topology of a solid model. If editing of any geometry attempts to create a hole or gap in the solid, the solid can be corrupted and the operation will fail. If topology (connectivity) must change to support a desired edit, the system must make intelligent choices and properly reconnect the solid.
Other terms for history-free modeling:

  • Explicit Modeling: PTC. This term takes me back many years. In reality, before there was history-based modeling there was only Explicit Modeling or CSG Modeling. Those were your choices. Today’s history-free modeling is a long ways from what it was back then.
  • Dynamic Modeling: CoCreate (before PTC)
  • Direct Modeling: Not sure where this came from
  • Natural Modeling: I’ve seen SpaceClaim use this term
  • Synchronous Technology: Siemens uses this term
  • Geometry-Based: Kubotek uses this term occassionally
  • Others: ?

Here is another way to describe the two.

History-Based Modeling: A dumb CAD system interacting with an intelligent model (Sounds a little harsh, but in reality you are just writing a program graphically and defining variables, changing variables and replaying the program. The history-tree is the program, the CAD system is the compiler and the model is the output.)

History-Free Modeling: An intelligent CAD system interacting with a dumb model (although the model can be made intelligent, it is not required)

Tuesday, November 4, 2008

A Day in the Life of a Frustrated CAD User

This letter is about 8 years old. I just found it as I was going through some old files. Not sure why I kept it around other than for a few good laughs. Not sure why I'm even posting it. I did take the name of the CAD system out of the letter as he doesn't speak to highly of it. (I also tried to clean up the expletives)


>> So how is everything going at your new company? How is the CAD system?

I spent 12 hours today changing 1 note on 4 drawings, making .igs and .pkg files. Every time I turn around, something updated and created massive data management nightmares. Another thing I can't stand is that your model file automatically saves every time you check something out, check something in, move to the drafting setup, move out of the drafting setup. I ---- you not, if you have a decent size model file, you can easily blow 10 minutes per hour waiting for ---- while it is saving. And anytime you have to ---- around with the history tree, you have to update the part. Well, nobody gives a ---- (and I don't blame them) about how gigantic a history tree is. So guess what, if you are trying to change a feature and it ----s up something downstream, you spend 80% of your day trying to get the part to update. Don't forget the automatic save, so no going back. If you ---- up a tree, you get to either blow the whole day, sometimes more just trying to get it back to where it will update. Modeling in solids is almost impossible. So instead of actually designing, you spend 90% of your time in the history tree, hunting down bad nodes, then when you find them, it's a complete mystery how they happened, and how to fix them. Nobody constrains anything (again I don't blame them) so there goes the POWER OF this CAD System right down the ol porcelain hopper. The only people enamored with this CAD System are the CAD Admin guys, and the managers who don't have to use it. It is such a bogus tool.

Get this: A set of 4 bezels. Basically a hollow injection-molded shell with 4 bosses. Rates a 2 on a scale of 1 to 10 in difficulty. Since this program was rolling before I got here, the job was outsourced. This firm had 3D imported models that were of pressure-formed design. All they had to do was convert the design from CAD SystemA pressure-formed parts to this CAD System injection-molded parts. If I were using SolidDesigner, this job would have not taken more than 1 month at the most, including 2D CPK drawing. I think the parts could have been modeled in maybe 6 days tops. Took these guys 3 MONTHS and $25,000 dollars. We have 3 guys who are CAD System experts, and you would not believe how many times they have told me, "It's going to be easier if you just recreate the model". ARE YOU ------- KIDDING ME? These outsource 'experts' have actually asked me, "How important is it for THAT change to happen? It's really going to take some effort”. This was the response to my request of, "Can you make the boss .10" taller?". EXPERTS! How ------- embarrassing. One bezel would not update because of a blend that was ----ing up an edge. Took 2 guys, 6 hours working on it, and they finally said, "eh, we couldn't get it to work, you'll just have to live with the messed up history tree." A---------MAZING.

My "mentor" just keeps laughing, because he's a SolidDesigner user, so he knows the nightmare we are living. And PCB assemblies? We get a 2d .dxf file we can overlay, and model up the components ourselves. We have to track down the data sheets, model capacitors, asics, ---- like that. Modeling electronic components! What the ----! It would be a cakewalk for 3 SolidDesigner guys to blow 6 CAD System guys out of the ------- water. I'm getting really close to modeling my parts in SolidDesigner and then exporting them to CAD System as an .igs file. So what if the history tree is non-existent? Can't use it if it's there. I personally don't even think anyone would know what the hell I was using! This one poor bastard, he goes, "I like the history tree, you can go back and see how somebody modeled the part, and put in a feature before another feature, yada yada yada..." I said who gives a fat flying ---- about how somebody else modeled the part. I just want to punch a hole, delete a blend and be done with it. I'm here to design, not to do autopsies on parts that take longer than it took to design the entire product. Get this: I've only designed 1 part in the 3 months I have been here. And this company is ok with that. Freaky!

I talked to my buddy that is running SolidDesigner2000 on NT about how much CAD admin it requires. They don't even have a CAD admin guy. Freaky! We got CAD admin guys that used to work at CAD System that tell me, "oh, no... you can't do that." "It’ll be easier to recreate the part." "Do you really need to add a radius in that corner?" And they are all excited about the new version! oooohhhh....The new Yugo is out! The new Yugo is out!

Actually, this CAD System is like having an Italian sports car: REALLY powerful, but you have to crawl in traffic all day long. Goes really fast....when it works, you're actually fixing it 90% of the time. Want to change something, like valve caps on your tires? That would mean you have to change your valve stems, then change your rims, then your tires, then your braking system, then your engine. You know what? It would just be easier if you go get another car. It would be a lot easier. So give me a call sometime, and be happy with your CAD system.... I miss those days...."


Well, fortunately CAD systems have improved a lot since then. I don't think this happens anymore.

- - - does it?


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:


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


  • 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.
  • 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.


  • 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.


Friday, October 17, 2008

Synchronous Technology and My First Impressions

I finally got my hands on NX6 and have been able to try this so-called breakthrough in CAD technology that Siemens calls Synchronous Technology.

I first got myself back up to speed by using NX6 in its default history-based mode. And as with any history-based modeling system, it is a painful process making sure that the tree is structured properly and constrained in a useful and predictable way. And as usual once you do have a nice model created that behaves the way you want, you feel gratified. Kind of like when I solved the Rubix Cube for the first time. Highly constrained and structured models certainly have their place in product development, but conceptual design is not one of those places. And just hope that you do not have a sudden change come to you once you have this nice and highly constrained model completed.

With NX6, like many other history-based systems you do have the option to perform direct edits on geometry. This capability is provided to allow you to accommodate small unforeseen changes that may come at you without having to mess with the tree or parameters. Unfortunately these direct edits are captured in the tree so that the next time you have to regenerate the model, the changes are not lost. The end result is an even more complex and volatile tree.

So to work around all the usual issues of using a history-based system for concept design, rapid design cycles, interoperability, and so on, Siemens has introduced Synchronous Technology, which will save us all from this misery.

Siemens has claimed to introduce the next breakthrough in 3D CAD with what they are calling “Synchronous Technology”. The demos that are out there look reasonable good, as any demo should. The use model looks nice and the graphical interaction and feedback appears to be very nice.

On the contrary though, what Siemens has introduced, was in reality introduced 10 years ago when Hewlett Packard first imbedded the synchronous parametric solver from D-Cube into their product – SolidDesigner. Since then the product was moved out of HP into CoCreate, and is now part of the PTC product line. The product is now called PTC CoCreate Modeling. Siemens’ Synchronous Technology is simply a combination of history-free modeling with the D-Cube synchronous parametric solver. Exactly the same as what HP did in the late 90’s. The D-Cube solver delivers synchronous solutions to geometrical relationships like dimensional parameters, coplanar faces, concentric faces, tangent faces, parallel faces, perpendicular faces, symmetry and coincidence. This capability allows an explicit – or “history-free” modeling system to apply needed relationships/parameters to 3D points, edges, faces, features, parts and assemblies. The relationships are solved synchronously and simultaneously. It is a mature and robust technology.

There are so many terms that we are hearing and using in so many different ways, that it causes much confusion. I think marketing departments purposely try to do this to keep us in the dark. The term “parametric modeling” usually refers to history-based modeling. The problem with using this term to describe history based modeling, is that it implies that explicit modeling can’t be parametric, which is completely untrue. Fully constrained models and assemblies in a history-free environment is possible. The difference between managing parameters in a history tree versus a history-free environment is that with the history tree, parameters are solved linearly as the tree is regenerated. In a history-free environment the parameters are solved simultaneously or “synchronously”.

Another term that gets abused is “direct editing”. In most cases this describes the capability to make direct edits to geometry while in a history-based environment, as discussed above. These direct edits are capture in the history tree. They must be maintained in the tree otherwise a model regeneration would remove the edits. Don’t confuse “direct editing” with explicit modeling. They are two different things. Explicit modeling is simply modeling without a parent-child relationship (history tree).

I am a long time user of CoCreate Modeling and am now getting some good experience with ST (although no formal training). Explicit modeling requires much intelligence in the modeling system to manage connectivity with the model (topology). It can be very complex. CoCreate has spent many years on this technology to ensure that results of edits are intuitive and expected and that the model remains a solid. CoCreate is very robust and easily handles complex topology changes in the model. It also properly manages adjacent faces, blends and chamfers, even on imported geometry. On the other hand ST is VERY immature in this area. Very rarely are edits that require topology changes successful. It has no concept of recognizing blends and chamfers. It does understand tangency, coplanar, parallel and similar conditions, but again rarely does that deliver the required results. It does recognize bosses and pockets, but has a lot of limitations even with this.

ST simply does not provide enough capabilities (yet) to justify sacrificing your history tree. Just use the direct edits that are already available.

For companies that can use the flexibility that comes from explicit modeling, CoCreate is still the best choice. The choice should not be based on user preference either. The parent/child relationship is not optional with history-based modeling and it has huge impact on process. I can’t tell you how many companies I have visited over the years that have developed huge manuals to define modeling standards for their users to follow in order to structure history trees in ways that will allow for team design, leverage and reuse and predictability in the model. For some companies this is required. For others, once they understand explicit modeling, they will realize what a waste of time and effort managing a history tree is.

I am currently going through a comparison of ST with CoCreate and will post my results when complete.

Tuesday, September 16, 2008

Moving from 2D to 3D to Digital Product Development

Realizing the continued advances in computer technology and 3D CAD, it is a bit odd to consider that even today much product design is still being done in 2D. AutoCAD from Autodesk is still a top seller within the product development space. Autodesk touts many thousands of seats on support within the mechanical space. Why hasn’t everyone switch to 3D design by now? Students are now leaving high-school and college with 3D CAD experience. The software is considerably lower cost and is now much more capable and useable. So why is 2D still being used for mechanical design?

Of course the question is not that simple. Let’s first take a look at the usual transition from 2D design to 3D product development.

  1. Design with paper and pencil, create detail drawings on paper
  2. Design with paper and pencil, create detail drawings with 2D CAD
  3. Design with 2D CAD, create drawings with 2D CAD
  4. Create 3D models, use 3D models to create 2D drawings
  5. Design in 3D, use 3D to create 2D drawings
  6. Design in 3D, virtual prototype and simulate in 3D, use 3D to create 2D drawings
  7. Digital product development, leverage 3D throughout product lifecycle to reduce/eliminate the need for 2D drawings and duplicated effort
Today product development is being done at all levels listed above, from level 1 to level 7. As strange as it may seem to some of us, products are still being designed with paper and pencil. Equally strange, for some of us, some product development is being done with little or even no drawings. For those companies that have actually made it to level 7, the success that they are having would indicate that eventually, if you want to compete in product development, 3D will be a key component of your product development processes and environment. So what’s the hold up?

2D has been used for design ever since man started designing things thousands of years ago. It was only recently that we started using computers to assist with the design process. Moving from the drafting board to CAD took some time to get used to but it was not a difficult move once we gained confidence with the computers. Moving to the computer did not involve any change in the process other than we were plotting our drawings rather than blue printing them. The actual design process changed very little.

When 3D first emerged into engineering and product development, it was very expensive and slow. A few early adopters were able to get value from it, but 2D CAD was still the tool of choice for real design work, besides our processes were very dependent on the 2D drawing. While some understood the benefit of designing products in 3D, most systems were justified and purchased on the idea that 3D would provide the ability to speed the process of creating drawings. At this stage many companies made the decision that their products were so simple, from a geometrical view, that 3D would not provide the needed ROI. I have personally been told by several company representatives that their products are so simple that there is really no value for them to move to 3D. Generating the necessary 2D drawings is most likely not the bottle-neck of the overall process for these companies. But are there other benefits to 3D that these companies are missing out on?

There are many companies still with this mindset. They have made the conclusion that the value of moving to 3D does not justify the cost. Obviously these are the two areas we will focus on in this paper. What is the benefit and value of 3D based product development environment, and what is the cost of moving from 2D to 3D? Considering that 3D CAD has now existed for at least 30 years, we should be able to answer these questions.

Using 3D to create Drawings Faster

While some may argue, it is very easy to prove with most any 3D CAD system that you can create drawings faster with 3D than with 2D. Even a drawing for a simple shaft can be created faster in 3D than in 2D. The 3D user simply creates the profile of the shaft and revolves it. You probably need at least 2 views for the 2D drawing. In 3D, these views are created automatically and match exactly. By the time the 2D draftsman has the first view done; the 3D user will have the entire drawing completed, along with a nice 3D representation of the shaft that can be leveraged into the assembly design process, and perhaps other future products. Creating drawings faster represents the most minimal benefit /value of moving to 3D. To understand this value you simply need a stop watch and an understanding of the hourly rate/cost of a draftsperson.

Moving to 3D to create drawings faster does not require a process change. You will need to purchase a 3D CAD tool, but most of the cost will be related to the training required of your CAD users on a new system. There may also be some cost related to the management of 3D models and associated drawings. When selecting a 3D CAD system at this stage we usually consider functionality and ease-of-use as critical criteria. These are important factors, but take note that there are many differences in today’s 3D CAD products that can have significant impact to your design process. It may be wise to get some professional help to ensure that you are putting in to place the right foundation that properly supports your process and business needs. Making the right choices at this stage can greatly reduce the potential for future cost as you mature in the use of 3D design data.

Another cost that may need to be considered at this stage is related to your existing design data. In some cases this may be in the form of paper drawings, but more often today this data is in electronic form. The value of this data is usually aligned with the lifecycle of your products and your requirement for leverage and reuse. Typically companies will maintain this data in its current form, which means that the costs related to maintaining (viewing, changing, printing, storing, …) will not go away just because you purchased a new 3D CAD system. These costs will remain for some time, perhaps years. There can be much value, however, in leveraging 2D data into 3D on an as needed basis. If leverage and re-use is important to your business, be careful in the selection of the 3D system to ensure that the provided functionality to leverage and reuse 2D data fits your process requirements.
The 2D Environment

Using 3D to create Accurate Drawings

This represents a much more substantial value than just making drawings faster. With one 3D model, many views of the part can be generated, across sheets if needed. All views will match the model – exactly. There is no possibility that one view is incorrect. An incorrect drawing that goes to production can have substantial costs. At this point drawings are still the master document, but they are entirely derived from the 3D model. To understand the value you will need to evaluate the frequency of errors related to incorrect drawings, and the cost related to the error.

Creating more accurate drawings by utilizing the 3D model is a given, and will require no additional investment, other than perhaps continued education in the use of the tool. As users become more proficient in the use of 3D, 2D views in the drawing are just simple output from the 3D model. It is now just a matter of annotating the views.

The 3D Environment

Using 3D to create Accurate Designs

Now we are approaching a level of value that is not only substantial but also somewhat difficult to measure. In the first two situations mentioned above we are assuming that drawings are being created of good designs. In this case, we are questioning the accuracy of the design itself. Do parts fit together correctly? Are interferences understood? Does the assembly work as it should? At this point drawings may still be the master document, but the 3D model is being used deeper in the design process to ensure accurate designs. We can also begin to formally manage the 3D model and assemblies. BOM’s can be extracted and access controls as well as revision and versioning can now begin to be applied at a part and assembly level rather than just documents and drawings. To understand the value, look in the scrap bins of your manufactures and assembly lines. Also understand the volume of change orders and why they occur. How much rework is being done due to errors in the design of the product?

At this stage there may be some impact to process, although minimal. What can be more of an issue, and cost, are the necessary changes to culture and habits that will be required of the CAD user. Some of this will happen naturally as they grow in the use of 3D. Further training for the CAD user will also be required to take advantage of more of the advanced functionality of the CAD system. Assembly modeling will now be required. Standard part libraries should also be developed and maintained to get full advantage of the system. There may be additional design task specific modules that may need to be purchased. Also at this point, more formal management of the 3D models and assemblies will be required. Without formal management, wasted duplication will occur. Part naming and numbering at the model level will also be required and, if not already done, will require much attention. Drawing numbers will begin to lose their relevance.

Using 3D to support Digital Product Development

As we leverage 3D to support and now drive complete digital product development, value can be a magnitude beyond that of creating accurate designs. It can also be even more difficult to measure, but it is possible. What we can begin to consider at this stage is the leverage of 3D data throughout the product development lifecycle. We can now consider the 3D model as the master, rather than the 2D drawings. All downstream documentation is derived from the master model. Rapid prototyping can be completed based on the master model. Manufacturing and assembly tooling can now be derived from the master model. CNC programs can also be developed based on the 3D model geometry. The effort to develop and maintain fully detailed drawings can be greatly reduced and in many cases eliminated. With the 3D model as the master, the management of information can be greatly streamlined. With formal management of the master model and all related information, everyone will be working on the latest version. Team members are informed of all changes as the development progresses.

As you move to digital product development, process change will be the most significant cost. With process change comes some need to address culture and habits as well. This will also require close interaction with downstream processes, including the supply chain and partners. There may also be additional functionality that will need to be purchased to get to this level. Another significant cost will be PLM. Formal product lifecycle management must be in place to support this level of productivity. It will not work without it. Unfortunately the costs to move to this level can be very elusive. It is greatly dependant on the product design cycle, product lifecycle, product volumes, supply chain, company size and distribution, and key business drivers. Don’t just start throwing tools and technologies in assuming that what works for one company will work for ours. Pay close attention to business drivers and the supporting processes. Otherwise your costs will go quickly out of control – very fast and very big.


At a very high level, the value of 3D can be summed up very quickly. Basically as we work through the various stages identified above, we are simply reducing the potential for duplication of effort, and accompanying error. We are also increasing our ability to leverage existing data downstream, resulting in improved innovation, higher quality and reduced cycle times (to name a few). Sounds a little too simple, but basically that is what it is all about. Consider designing in 2D, if you are designing a part with a hole in it, it is very likely that you are creating a representation of that same hole several times as additional views are added. This is a simple example of where duplication of effort can be eliminated as you progress into 3D design. Consider a tool designer that is using 2D to design the required tooling, if the 3D model is not being leveraged; geometry is certainly being recreated that has already been created at some point earlier in the process. It is very easy to consider countless other possible ways that duplication of effort happens within product development and throughout the product lifecycle. The basic value of 3D is in doing something once and leveraging it to the maximum possible.Consider cost, also at a high level. What must be considered foremost are culture, process and business. In reality the purchase of a 3D CAD tool may be the lowest cost piece of the puzzle. Tools and technologies, including 3D CAD, must enable process and process must deliver on business drivers and objectives. If you start throwing tools and technologies into the mix without considering this, costs can quickly fly out of control. It is important that you start with the right tools and technologies that support your business and process drivers and requirements. As progress is made in the use of 3D, process will need to adjust. However the impact to process can be minimized by selecting the appropriate 3D technology/tool. Often times 3D CAD is purchased based on user preference, ease-of-use or other low-level requirements. Be careful, there are many differences in today’s 3D CAD systems that can have significant impact to process. Select the right tools in support of your business needs.

Take a close look at the state of your product development process. Where do you fit on the chart above? Can you recognize the value and benefit of moving up the chart with your processes? Are the related costs understood?

The chart above from the Aberdeen Group indicates that those companies that are progressing towards digital product development (Best in Class) are realizing significant business benefits. The necessary technologies exist today and there are even standards that have been defined such as ASME Y14.41 to help companies make the move. If you are not already making the move to digital product development, it is likely that your competitors are well ahead of you.

Coexistence Strategy & Interoperability Best Practices for 3D CAD


In today’s product development environment, it is not uncommon to find multiple 3D CAD systems in place at the same company. This can be the result of acquisitions, process driven requirements or perhaps user preferences.
With this white paper we simply want to review some best practices for a coexistence strategy where two or more 3D CAD systems may exist in on environment or company.

Coexistence can mean different things to different people. It is very dependent on your process. In some cases coexistence can simply mean that data from different sources are being managed in the same database. While in other cases it may refer to data level interoperability between multiple systems. This paper is focused on the later.

Important Facts:

  • “History trees” or “feature trees” cannot be translated to other CAD systems. A feature tree contains things like 2d sketches, parameters on the sketches, parameters defining a 3D operation and the parent/child relationship of the operations or “features”. There is no industry standard for the translation of this type of data. Very specialized feature tree translators are available, but are very costly and marginally successful.
  • Today geometry is the only common data between 3D CAD systems. Translating geometry is common and possible through standards like IGES, STEP and a few others. Custom, or specialized geometry translators are also available that can improve the success rate of a translation.
  • To translate a 3D solid model, all edges must connect to form a “water-tight” solid model. Connectivity is critical. Without connectivity, a solid model cannot be formed and what is left is a set of unconnected surfaces and/or edges.
  • All edges have a start point and an end point. The start point of one edge must match the end point of another in order for it to be “connected”. The “accuracy level” of a 3D modeling system determines how close 2 points need to be before they can be considered one point, or “connected”.

Most CAD systems run at different accuracy settings. This fact greatly complicates the successful transfer of geometry. Some may run at 1e-06mm while others may run at 1e-04inch.

Best Practices and Suggestions:

Set a company standard for geometry accuracy. This is not a trivial task, but will be the most important and effective step to take in developing a coexistence strategy. It may involve raising the accuracy of one CAD system, or perhaps lowering the accuracy of another. Understanding the impact of accuracy settings is complex. Consider the following:

  • CAD systems that allow for uniting, subtracting and intersecting 3D parts with other 3D parts will require that all parts involved in the operation have the same accuracy setting. Many 3D modeling systems don’t allow this type of operation and as such utilizing geometry of a different accuracy level may not be an issue.
  • Consider downstream operations that leverage the 3D models. Such as tooling. What accuracy level is required to effectively communicate geometry to the CAM system.
  • Consider other outside suppliers and partners. Is there a common level accuracy that can be agreed to?
  • Increasing the accuracy with some CAD systems will greatly impact the robustness of the system. Many CAD systems run at a lower accuracy setting to increase the ability to perform complex geometry operations. A blend, or round, will work at the default lower accuracy setting, but the same blend may fail at a higher accuracy setting. Push your CAD vendor to make high accuracy modeling more robust. If a failure like this occurs, it is a defect.

Choose a standard format for geometry translation. The common choices are IGES, STEP. The ACIS SAT and Parasolid transmit file formats are also good. Also consider that for both IGES and STEP, there are many different configurations available. Each CAD system may better support a particular configuration over another.

  • IGES is the most simplistic geometry exchange standard. Because of the many different configurations possible in IGES, successful “connected” translations may be very challenging, especially if there are significant differences in geometry settings between the sending and receiving systems. It is very important to know what configurations the two systems are expecting.
  • STEP is by far more successful than IGES at capturing the connectivity of a solid model. There are different configurations such as AP203 and AP214, but it is much more rigid than IGES. STEP is also capable of exchanging much non-geometrical data such as assembly structures, part colors and other attributes, 3D dimensions, notes and parameters.
  • Custom translators will of course provide the highest rate of success in exchanging 3D connected geometry. They are still susceptible to variations in geometry accuracy but can be much more “forgiving” of inaccuracies in the geometry, and are tailored to the exchange of geometry between two specific CAD systems.

Most all CAD systems also provide the ability to “heal” geometry inaccuracies on import. Check with your CAD supplier and understand what the capabilities are and how they work.

Many CAD systems also allow direct user interaction with unconnected geometry in such a way that the user can effectively close gaps that cannot be automatically closed or “healed” during import. Be sure to understand what capabilities are provided by your CAD vender for doing this type of work.

With a common geometry accuracy level and a determined best exchange format, geometry exchange can be very robust. You can now consider automating the translation of part data based on process requirements.

  • Consider using PDM related automation technology to perform translations based on check-in, state-change, or some other manual or automatic trigger, regardless of which CAD system it comes from.
  • Notifications can be setup if required to keep the project team synchronized.
  • Use a PDM system to help keep all data organized properly.
  • It is best to use PDM capabilities that will allow for multiple documents (models, neutral files, …) to be related to a single part. This will allow you to associate multiple CAD native formats and the related neutral formats to a single part object within the PDM system.
  • The neutral files (IGES, STEP, x_t) can be linked to the part within the PDM system and accessed from any CAD system.

Other Challenges:

Geometry translations should be done at a part level, not an assembly level. Translation at an assembly level results in a single file that contains all parts that make up the assembly. As a result, coexistence at an assembly level, especially with formal data management, can be very challenging. It depends on your requirements for coexistence. Requirements for access control and revisioning/versioning will be critical to understand before defining an assembly level strategy. If it is desired to translate all parts within an assembly, it may be best to consider a batch translation of each individual part. If it is required to translate the assembly “structure”, you will need to define acceptable practices for the management of the results.

Most typical “history-based” modeling systems have very little ability to manipulate translated geometry as there will be no history, or feature tree. The translated geometry will come in as one feature with no parameters, rendering the model non-editable.


Keep in mind that a successful translation does not mean that the receiving system is superior to the sending system. It simply means that either the sending system is sending higher level accuracy data, or the receiving system is effectively healing the geometry. However, if the results on the receiving system are a collection of unconnected faces and edges, it is very likely that the sending system is sending geometry at such a drastically lower accuracy level than what the receiving system is expecting that the receiving system cannot heal the gaps without making unrealistic assumptions. All CAD systems have reasonably good geometry healing capabilities, but that can only go so far. Pay close attention to geometry accuracy.

Coexistence of different 3D CAD systems can be challenging, but it is possible with some careful planning in context with your product development process and requirements. Some trial-and-error will be required to best determine a suitable and acceptable accuracy level. The same is true when determining the translation format that produces the highest level of success.

For more information about CAD interoperability check out my article in Machine Design:


Innovation in Product Development

Originally posted Feb 2008

Well first of all, what is innovation? Here are some of the classical definitions:

  • The act of introducing something new
  • The introduction of something new
  • A new idea, method or device
  • The successful exploitation of new ideas
  • The process of making improvements by introducing something new
When it comes to product development, the generation of "new ideas, methods or devices" may fit best. As stated in Wikipedia: Innovation most likely refers to both radical and incremental changes to products, processes or services.

So is innovation important? Whether it is radical or incremental, innovation is not only important to successful product development, but critical. Without it, you really have nothing.

The next big question is: How do you get it, or where does it come from? There are several critical factors to successful innovation.
  • Recognized as a critical success factor (CSF) to the business
  • Supporting management
  • Supporting processes
  • Creative people -
  • With the ability to interact and collaborate -
  • With access to lots of information and data -
  • Enabling them to make fast & good decisions
Strangely enough, it is not uncommon for innovation NOT to be one of the top business drivers within manufacturing companies. Over the years, things like time-to-market, design-for-manufacturing, low cost manufacturing, and quality have more often filled the top spots in the company business drivers. However in recent years we have seen a renewed interest with innovation in product development. Many companies now consider it a key to their success. If it is a key to their success, management most likely knows about it and supports in some manner. This is another subject entirely; how does management not only support it, but encourage it? Well, maybe we can cover that in another paper.

So how can processes support and encourage innovation? Innovation can be captured in a process. However, for most of us in the manufacturing world, we think of process as something that is serial and repeatable – kind of like manufacturing a product. We have even tried to capture this serial process and control it – again, like manufacturing a product. Unfortunately, this type of process control will only stifle innovation and perhaps kill it. Much has been documented about the process of innovation, but what is most important, is to understand what kind of innovation is important to your business and how it happens.

It certainly requires creative people. But what do these creative people do? Well, usually they interact with other creative people and lots of data and information. In the end though, all of this interaction and collaboration is no good unless it leads to the ability to make good and fast decisions. It is about creative people enabled and encouraged to make decisions. It sounds too simple, but it reality it is simple. Don’t over complicate it.

I recently wrote a paper about the relationship between Product Data Management (PDM) and innovation in product development. The paper was published at on 12/20/2007 and is titled "The Intrinsic Relationship Between Innovation and Engineering Product Data Management". Check it out when you get a chance. Let me know what you think. How important is data and information to innovation? Can PDM contribute to innovation? Are there systems out there that are enabling and supporting the chaotic nature of creativity and innovation?


My Review of SpaceClaim

Originally posted Nov 2007

A few weeks ago I downloaded the 30 day trial of the SpaceClaim product. Wow! How cool is this? So far I am very impressed. Considering this CAD tool has been on the market less than a year, it is a very capable modeling system. SpaceClaim is well outside the box of traditional history-based modeling systems.
When compared to Pro/Engineer, SolidWorks, Inventor and other history-based systems, SpaceClaim seems effortless. No up-front work or thought is required to determine how best to create the model. With my first model I started out with a simple rectangle profile and quickly created a block.

I then added 2 additional edges, pulled and tapered a few faces and started defining some shape.
I "pulled" some blends into the shape and continued stretching and pulling. Then I added some mirror planes, a shell and few cut outs and, well, I am no car designer, but the resulting geometry is very impressive, especially considering that I have never used the software before. Total time from start to finish was about 2 hours. I watched a few demos and I spent 2 or 3 hours figuring out the use model, UI and how the system worked. Then I just jumped in.

I also created a simple fan wheel. For some reason I have created this model in many different 3D CAD systems. The blade is freeform and is usually created with a loft through multiple profiles. The hub is a simple revolved profile. I created this model faster with SpaceClaim than I have ever created it before – with a variety of systems.

As with most non-history CAD systems, changing freeform surfaces can be challenging, although I was surprised with what changes were possible. Usually once you create a freeform part, and then add blends; it gets very difficult to change. With a history-based system you can go back in the creation history (structure) and modify profiles and such, regenerate and see the resulting changes.

SpaceClaim does maintain “history” in some cases, such as with mirror planes and shells. It doesn’t create a structure tree however, the “relationships are handled very dynamically, very cool. Although, I’m not sure how to turn them off, if I didn’t want them.

I also created a simple vise assembly. This took all of about 3 hours at most. SpaceClaim is such a dynamic system. You don’t need to put a lot of up-front thought into your design or the modeling process. Just dig in and start creating. It was so easy to create this assembly. The only issue I had with this was with some blending of the Slide part. I'm not sure if you can see it in the picture, but there are two 4-edge vertices in it. I could not get the vertex region to come out the way I wanted. I had to settle for some compromises, although all required blends were added. Earlier I created other 4-edge blends with no problem. I am not sure what was different about this one. Blending is always one of those things that continually improves over time. I also couldn’t figure out how to put the threads on the vise screw, but if it is there, I'll figure it out. If not, I suppose I will have to wait for the next release.

There are a few things that bugged me. Sometimes the small pop-up tools would get in the way of the pull arrows. I couldn’t figure out a way to move them, only to turn them off. I probably need to read the documentation sometime. No surprise, but as the model become more complex, results of a pull were not always what I anticipated. Sometimes the adjacent blends of a pulled face would update, sometimes they would be left behind. I assume this depends on how complex the blends are. Thankfully there is a very nice undo and redo function. I ran into several situations where I wanted to snap to existing geometry during a pull. I am not sure if this is possible with this release. I could not find a way to do it. As a result, there were times when I had to go back and measure something and then do the pull and enter the same values in. I like the fact that it is attempting the Booleans real-time as you are pulling (at least it appears to do this). You get immediate feedback if you attempt something that is geometrically impossible, you can then adjust what you are doing. All-in-all, for being such a “young” tool it is actually a fairly mature 3D modeling system.

I also loaded several models in from other CAD systems. One of the benefits of a non-history based system, is that the modification capabilities apply directly to geometry, regardless of where or how the geometry was created.

The user interaction with the system and the UI is fantastic. This is how it should be. It’s just so simple. My son is in college now, and through high school and college he has learned several 2D and 3D CAD systems, both history and non-history. He took to SpaceClaim like he was born with it or something. It just seemed natural to him. He is a big gamer and is very much into the computer world, and I have heard him complain so much about other CAD systems. This one, he just seemed to enjoy. Maybe it is a younger generation thing – well I enjoyed it too.Anyway, SpaceClaim has my vote. I hope they do well. It is such a dynamic and conceptual tool. While many of you are wasting time trying to figure out your history/structure trees, others will be innovating far ahead of you with a tool like SpaceClaim.


(oh, and if you don't understand the difference between history and non-history CAD, read our previous post "Selecting a 3D CAD System".)