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



PellaKen said...

Paul, with Solid Edge (with Synchronous Technology), you achieve #2 by selecting the face and using the move handle as you would with #1, but you change the Connected Faces option on the Quickbar to maintain the moved face boundaries.


Paul Hamilton said...

Ken, Thanks for the pointer. Do you know if it works the same in NX?

roberto ciarloni said...

On several "important" direct editing CAD tools I have found simple situations where I want solution #1 and I get solution #3. Even worse dragging the face when the distance overcome a threshold (and the underlaying algorithm fails...) the system switch from #1 to #3. This is very disturbing because non expert users can create wrong models without notice.

Paul Hamilton said...

Roberto, this goes back to the question of whether the system will make assumptions, or whether it will require the user to be more explicit. Fortunately with the immediate feedback of a direct edit, the user will know right away what the system is doing and can change methods if needed. Contrast that to a history-based edit in which you may not know the results until after the regeneration.

Direct edits are available in many history-based systems as well. How would Think3 handle these examples? Does it provide different commands or options for each, OR does it make assumptions, OR is it based on how the part was modeled in the first place?

The term "wrong model" is an interesting one. I am not sure it applies in the context of history-free modeling - since what-you-see-is-what-you-get. I find it much easier to recognize and resolve geometry errors in a model than structure errors in a tree.

Anonymous said...

Hi Paul,

How do you accomplish #2 in CoCreate?


Paul Hamilton said...

Today it is not too straight forward. You would first need to constrain the height of the front and back faces. Then when you pull the face to move, you need to select the update relations option.