Deelip.com

Thursday, May 28, 2009

Direct Editing and Direct Modeling

Paul Hamilton's comment made me wonder why there may be some confusion regarding what I have been calling "Direct Editing" on this blog. Alibre and its customers claim that they already have direct editing, and some think that it is the same as what SpaceClaim, Siemens and others are offerring. The problem has been the term "Direct Editing". I should have been using the term "Direct Modeling" instead and I will begin to do so from this post onwards.

This post will also serve as a comparison (as I see it) between the Direct Editing capabilities offerred by Alibre Design and SolidWorks.

Alibre Design has a sub-menu called Direct Edit in it's Feature menu that contains a bunch of commands to directly edit something. We will find out exactly what in a while.



Now lets see how direct editing works in Alibre Design. I sketched a 1" x 1" square and extruded it by 2" to get a box.


I then used the Push Pull Face or Sketch command from the Direct Edit sub-menu and used the mouse to push the dark colored face (in the figure above) into the solid by 1" to arrive at a cube.


I then used the same command to pull the same face outward by 1" to return to the original geometry.



Now let's see what happenned to the feature tree.



After the Extrusion feature we now have two Move Face features. So although the geometry is exactly the same as before I started direct editing, we now have two extra features. So if I were to sit all day and push/pull a million times I would have a feature tree a million features long and would still have modeled a 1" x 1" x 2" box. This is called Direct Editing in Alibre Design. But what is it directly editing? The Extrusion feature? No. If it were directly editing the Extrusion feature then the extrusion distance parameter would have been modified from 2" to 1" and then back to 2" and we would have just one Extrusion feature in the tree. Direct Editing in Alibre Design means adding features to the feature tree.

Now lets see how SolidWorks does the same thing. I created a similar 1" x 1" x 2" box in SolidWorks by extruding a square and turned on Instant3D, their direct editing feature. I picked the square face, pushed it into the solid and then pulled it back. When I looked at the feature tree I found that there is still the single Extrude feature and no other features. So it appears that SolidWorks is smarter then Alibre Design because it recognized that the face I was pushing and pulling was created by an extrusion and modified the extrusion distance instead of adding Move Face features to the tree. Direct Editing in SolidWorks means that you directly edit the parameters of a feature, whereas in Alibre Design you directly edit the entire model by adding features to the end of the feature tree.

So you might think that SolidWorks has a better Direct Editing solution than Alibre Design. Well, according to me, it is quite the opposite. I bet you will find this interesting. Lets go back to Alibre Design and push one of the rectanglular (not square) faces into the solid. As expected, the face is pushed in and a third Move Face feature is added to the feature tree. If you try and to the same thing in SolidWorks, the rectangular face does not get pushed into the solid. Rather the entire model is pushed in space. This is because SolidWorks cannot find an Extrusion feature corresponding to the rectangular face and hence cannot change its value to push the face into the solid. SolidWorks does have a separate Move Face command, which is not tied into the Instant3D feature, which can be used to move the rectangular face into the solid. But just like Alibre Design it adds a Move Face feature to the feature tree.

So if you compare the two in terms of directing editing a model using the mouse, I would prefer Alibre Design to SolidWorks, simply because they have managed to let the user use their Move Face command (they have one as well) with the mouse. SolidWorks has not yet managed to tie their Move Face command to Instant3D. However, it would be nice if Alibre Design would not add Move Face features if the user was moving a face linked to an extrusion. However, both end up messing up their feature trees. And this is Direct Editing when it comes to history based parametric modeling systems like Alibre Design and SolidWorks.

As you can see, it is quite a messy affair. I call it messy because in order to make a modification, a user has to study the history tree and figure out which sketch or parameter of which feature he needs to modify in order to effect his change. And now if users can arbitrarily move faces using Direct Editing commands, the feature tree is bound to get only more and more complicated and difficult to understand and work with. No model is perpetual. It undergoes several changes thoughout its lifetime with the changes being made by different people. As a programmer, I know how hard and frustrating it is to modify someone else's code, especially if the programmer has not left comments in the code. In SolidWorks you can add comments to a feature. In Alibre Design, I don't believe you can.

Direct Modeling is an entirely different ball game. Direct Modeling systems are not history based, although some like Solid Edge ST have features, parameters and constraints. In others like Spaceclaim, a model is simply a bunch of closed solids and open surfaces. These systems give the user the ability of directly modify the geometry of a model without being constrained by the limitations associated with history based systems. They differ in the way they offer this functionality and the outcome of a modeling operation, but essentially they are all about making the geometry creation and modification processes quick and easy.

The fundamental difference between Direct Modeling systems and history based systems is that Direct Modeling systems make or allow geometric changes by taking a bird's eye view of the entire model, whereas history based systems make or allow geometric changes by performing modeling operations in a sequential mannger. Hence they lack the flexibility of Direct Modeling systems. Its like deciding your trip by looking at a map as opposed to reaching a place and then deciding where to go next.

Alibre and SolidWorks seem to be of the opinion that their customers need Direct Editing and not Direct Modeling. I know for sure that Alibre feels that way. In a comment, Paul Grayson, the Founder and CEO of Alibre said, "Alibre already has direct editing and the non-history based editing is simply a feature, not the basis for a product." Clearly, Alibre and SolidWorks feel that Direct Editing, of the kind I showed above, coupled with the benefits and power of history based parametric modeling outweigh the value proposition offerred by Direct Modeling systems. I tend to think otherwise. As Direct Modeling technologies evolve to more closely integrate parametrics, features, constraints and all the things that make history based systems powerful and also difficult to use, I believe we are going to see the sense in what some consider to be a rush towards Pushmi-Pullyu CAD.

I hope this explains a few things. And I promise never to use the phrase "Direct Editing" when talking about non-history based systems.

10 Comments:

  • Great post Deelip. You bring up another common point of confusion regarding the term “Direct Editing”. In the context of history-based modeling, this term is used to describe two completely different things.

    1) As you point out, with Alibre, (and several other history-based CAD tools) it refers to the direct manipulation of geometry. When this manipulation is done within a history-based model the system must track the edit in the tree otherwise the next time the model is regenerated, the edit will be lost. This type of editing is great for parts in which the history tree has become unmanageable or overly complex and you just need to make a quick change, or when you are working with imported geometry.

    2) As you point out with SolidWorks and their Instant3D, some history-based systems allow you to dynamically edit a parameter of a feature. We will see a lot more of this in history-based CAD. This method provides instant feedback of the edit rather than waiting for a regeneration. It requires that a parameter exist in the model. As such it may not always work, based on how the model was created in the first place (as in the case you mention). It also may not work for imported data. (By the way, this is the technology that is used in IronCAD. IronCAD is not history-free direct modeling, although it does provide direct geometry manipulation as well)

    These two technologies “graphically” look the same on the screen, but in reality are very different and both have their pros and cons.

    So, how do we label these technologies? :<)

    Paul

    By Blogger Paul Hamilton, At 8:19 PM, May 28, 2009  

  • I think we can safely call both "Direct Editing". Adding another term may end up adding to the confusion. But if you must, you can call (1) Direct Editing and (2) Direct Feature Editing.

    In (1) you are simply appending to the tree, thereby editing it. In (2) you are actually editing a parameter of a feature, thereby editing a specific feature.

    By Blogger Deelip Menezes, At 9:03 PM, May 28, 2009  

  • Isn't this all a bit academic Deelip? If you are moving or editing flat faces or fillets it is not really an issue. If you need to edit surfaces and surface blends that is when it gets complex. In my company I have history based systems and non history based systems, nurbs modellers and sub div modellers.

    I regularly start in one swap to the other and edit in that. For example I might knock up a concept model in Ashlar-Vellum Cobalt, export that to SolidWorks and add detail to that there. I can easily move ribs, holes etc using the Move face commands. Or use the 3D curves from Cobalt and rebuild the surfaces from scracth in SolidWorks.

    But what I will usually do is at production release stage I will rebuild the model as a full history based system so that I can make quick changes to features as required, or due to feedback from tooling.

    I am 99.99% sure that for most consumer product design you will get results 10x faster using a freeform surface modelling/direct modelling/ non history tool like Rhino than you will with any mid range MCAD system.

    By Blogger Kevin Quigley, At 9:42 PM, May 28, 2009  

  • Well said, Deelip, Paul and Kevin.

    I’m not sure why there seems to be a sentiment that some direct modeling cannot do the entire job, or is somehow inferior to history-based modeling because history-based modeling became pervasive in the '90s.

    We maintain that different tools are better for different users and jobs. Although we are designing SpaceClaim for engineers and designers who are not well-served by the complexity of traditional CAD tools, we are well aware that SpaceClaim must fully solve our customers' problems.

    What does it take to get the job done? It’s not just push and pull. How about:
    • Slice and dice: all mixing and matching is fair game in a pure direct modeler. It’s also handy for more advanced editing. I use it in day-to-day creation, to model something extra big and trim it when I see fit. Kind of like one might do in 2D.
    • Advanced round removal. Without the ability to suppress rounds, direct modeling can get bogged down. The automatic stuff looks cool in direct modeling demos, but when you have an imported part with 2000 round faces, you’re going to need a bigger hammer.
    • For assembly modeling, the ability to create in the cross section changes the game. Solve top-down, layout-driven design where the action is.
    • Pervasive editing tools. You should be able to work the same way in all design contexts. Part, Assembly, Drawing, Markups. That way you can fix a problem where you find it, without losing your train of thought.
    • Never asking the user to commit to assembly structure, file structure, of feature structure. Never having to say that there’s a right and a wrong way. With true, pure direct modeling, you can never paint yourself into a corner.
    • And it has to work on more than planes and cylinders. Constraints don’t like to stick to swoopy surfaces. Direct modelers need tools that scale.
    • Saving your model history in backup files. Sometimes you might delete or change something and realize you made a mistake. Undo and redo are okay, but having your chronological history is critical. Just copy-paste and slice-and-dice from your old version to the new design.

    Direct modeling, properly implemented, can get the job done. For conceptual engineering and industrial design, SpaceClaim is a great product. Cocreate and Key Creator are great detail-oriented products. At this point in time it’s just a matter of habit and preference.

    (Full disclosure, I am a founder of SpaceClaim.)

    -Blake

    By Anonymous Blake Courter, At 9:50 PM, May 28, 2009  

  • Kevin,

    It does sound academic. But the real problem with history based systems was never geometry creation. It is geometry modification. If you are the only one who is ever going to modify your model, then maybe using a history based system will work for you in the short run. But even you will not be able to remember all the stuff that you did a few years from now. And if you continue to use the hack and whack method of Direct Editing in history based systems, you are only going to add to the problem - for yourself and the people who are going to work with your model down the road.

    Direct Modeling systems are trying to solve this very problem. Remember that the technology is in its early stages and is going to improve considerably over time. The large companies have just started to invest in this kind of a thing. Siemens has done a good job in tying features, parameters and constraints to their direct modeling solution. And then we have companies like IronCAD that have been doing a lot of this for quite a while now.

    When everyone decided to build cars, they only got better, faster and easier. The same is going to happen with Direct Modeling systems.

    By Blogger Deelip Menezes, At 11:29 PM, May 28, 2009  

  • Kevin’s design pattern is precisely what we’re seeing drive our sales. Engineers and CAD experts alike use a combination of 2D layouts, surface models, CAE, and direct solid models to churn through design iterations and converge on the basic design idea as quickly as possible. Once they are confident in the concept, they or their colleagues model it in traditional CAD.

    Direct modeling is not experimental technology. CoCreate and KeyCreator are hardly immature products. SpaceClaim is in its forth release and can model and edit just about anything. Every major CAD vendor is committing to it. Engineers are using it every day to cut costs and solve problems that are inconvenient to solve with history-based modeling. The genie is out of the bottle. The future is here. Have at it!

    By Anonymous Blake Courter, At 1:11 AM, May 29, 2009  

  • Deelip, I'm going to come clean here. I think direct modelling (of the Spaceclaim. ST etc variety) is great. I also think history based modelling (of the SolidWorks, Pro/E variety) is equally great. I am not however at all interested in the underlying technology of it all. I am interested in the user interface - how easy is it for me to do what I need to do. Nothing else matters to me. My question is "can I model what I think?" Of course it is not that easy! it still takes skill and experience to get results, but I live in hope that one day I can think what I need and just do it instinctively without having to work around the sometimes odd ways the developers have programmed it!

    I agree 100% with your point about history modelling and losing track of features and modelling intent. I frequently open up old files I have worked on and look at the 200 features in the tree and try to pick what I need to change out of the list. But the reality is that you can do it using rollback and stepping through history - something a direct modelling system cannot do. There, if your intended edit fails, you have no choice but to hack and whack!

    One thing that I do find interesting is the assumption that I am going to send my models in native format outside the building. No. Never. I always send generic formats - dumb solids - parasolid or ACIS, IGES or STEP.

    When I release data I want it to be frozen, not tweaked to death by persons unknown. This also serves as a good archival method for me. Many times it is easier for me to import the dumb solid back into whatever modelling system I am using and hack and whack it so all I have in my tree is the imported data and the edits I have made. Works for me and many others. In fact on many projects I have a multi tiered structure where by I have a model with some history that is saved out to parasolid and used as the basis of further edits. In most systems now when you import you can retain the relationship to the original, so if you update the first file and re-export it, the re-imported data will be updated and the tree downstream will also update the references.

    It is also true that most tooling based modelling systems like Delcam's Powershape, or VX or even Think Design excel when handling non native data. They are designed to handle complex tweaks to existing data or to take components the extra mile along the design (for example by applying surface relief).

    The answer I think is a combination of history and direct editing in the same file format. Or if not history then certainly some kind of curve based control for surface manipulation.

    The Spaceclaim section capability is more or less what I mean, but with user control over curve points for localised edits (and then we are getting into Think3 territory!!).

    The problem is, having laid down £6k on a mid range CAD system not many users are going to swap to an alternative unless there are some real and tangible benefits - immediately. For most of us, the CAD system we have picked is the one we will stick with unless our work changes, or unless the CAD vendor goes out of business.

    We just sit in hope that our selected vendor comes up with solutions to what we need.

    By Blogger Kevin Quigley, At 1:24 AM, May 29, 2009  

  • Kevin,

    Thanks for the insight. We appreciate it. I would like to repeat a point I made in an earlier post. You said, "For most of us, the CAD system we have picked is the one we will stick with unless our work changes, or unless the CAD vendor goes out of business."

    I agree. But I would like to add another case - "or if the CAD vendor abandons his current modeling approach and adopts a new one", which maybe what all this will boil down to in a few years. I frankly don't see a company like Siemens investing in history based modeling to the same extent as Synchronous Technology.

    By Blogger Deelip Menezes, At 7:34 AM, May 29, 2009  

  • Deelip: This is an informative, detailed study of the subtle differences between two examples of direct editing (or, as some would have it, direct modeling).

    Sometimes I fear the discussion about direct editing and history-based editing is devolving into a debate about terminologies, which shouldn't be the case.

    I think we can talk about why one package is better for certain modeling tasks than others without nitpicking on whether it should be "direct editing" or "direct modeling."

    By Anonymous Kenneth, At 4:51 AM, June 02, 2009  

  • Kenneth, I agree. Terminologies can add to the confusion. Case in point - the Rapid Prototyping industry. Each analyst/vendor is coining a new term to explain a slightly different variant of the same technology.

    As regards the discussion between Direct Editing and Direct Modeling, I see that people are confusing different technologies and methodologies since they are using the same terms. And those people included me as well. This post was meant to simply highlight the difference between the push/pull technologies used in the both kinds of modeling systems: history and non-history based.

    By Blogger Deelip Menezes, At 8:01 AM, June 02, 2009  

Post a Comment

Subscribe to Post Comments [Atom]



<< Home