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?