Sketches, Direct Edit, and the BREP

A commenter recently chimed in that he thought sketches in CAD were completely disposable. Something gives me a feeling he is from the direct modeling camp. I have a certain amount of sympathy for the direct modeling way of doing things. I waste a lot of time repairing history-based relations in SolidWorks. Sometimes those relations don’t seem to benefit me much, and sometimes they seem to positively cost me a lot of time. Of course I know that they also save me a lot of time, but when you’re cursing the software because it has done something incomprehensible, you tend to forget about the good times that you had together.

The main point here is that direct edit has 2 weaknesses:

  1. Once its gone from the BREP, its gone
  2. Can’t deal with effects of ordered features

What I mean about the BREP is this. BREP is just CAD geek speak for boundary representation. It is the set of faces that enclose the solid model’s volume. Remember that each face is in turn made up of a 4 sided NURBS surface and it’s boundary, which is not necessarily 4 sided.

Another term you need to know here is “topology”. In CAD, topology means the make up of the faces. Generally, faces are divided when neighboring math can’t be simply extended. Coplanar faces have the same math and can be extended, so SolidWorks usually joins adjacent coplanar faces into a single face. Planar faces at right angles to one another cannot be joined, so there is an edge between them.

The thing that you have to know about topology and direct edit is that when you lose topology in direct edit, you can’t get it back. In history/feature modeling, you can. Here’s what I mean:

Let’s say that you have a situation like this, with a line and a tangent arc, and then a non-tangent line. When extruded, it makes edges.

Then let’s say you put a fillet in there and the fillet eliminates one or both of the faces adjacent to the non-tangent interior edge. When you do this, the topology has changed in 3 ways: the fillet is new, the tangent face is gone, and the planar face is gone. That’s fine. That much of it works with both direct and history modeling. But what doesn’t work in direct modeling is when you make the fillet smaller and the BREP needs to add back some of the former topology. Direct edit doesn’t remember the BREP faces, so making the fillet smaller fails. Generally, this kind of operation is ugly in direct edit. It can be done, but you’ve got to perform silly workarounds, like making the fillet smaller, moving other faces, and then re-extruding another bit of geometry to add back the missing faces. When you have sketches associated to faces, the BREP automatically rebuilds itself.

So for this reason, I don’t believe in straight direct edit modelers. They can’t handle simple every day type issues.

The classic example of removing and adding topology is the boomerang to cube to hemisphere to shelled hemisphere back to shelled cube transformation that Evan referenced in part. This was a 2 minute demo I performed regularly for several types of users. As simple as it was, it sold a lot of software.

The second weakness of exclusive direct edit CAD is that it can’t deal with the effects of ordered features. You have the classic overlapping fillets in SolidWorks that change the shape of the model when you change the order of the fillets. You also have shell features that you can apply at different points in the history to shell out different areas. I’ve seen some slick stuff where a shell is a functional feature and it can continue to shell regardless of its place in the tree – kind of like a sheet metal part where you don’t have to keep specifying a thickness. I’ve heard of rumors of intelligence added to direct modeling software such that it can deal with feature order issues, but they’re really just adding history to the model.

All of this is why I believe that the Solid Edge implementation of Synch Tech 3 & 4 is the right approach. You can apply features as ordered features, or work with a 100% direct edit model. You can apply ordered features to a “dumb” solid, and work with direct edit tools on the dumb solid, and use feature history on the ordered features.

I also think that there is no way that SolidWorks V6 is not going to have this kind of functionality. If you read what you can find on the Catia V6 engine, you will find that this type of capability is there. While I’m loathe to even breathe the “c” word again in this lifetime, that most people are associating with V6, there is a whole lot of potential good news that is on its way that may indeed outweigh the down side of the “c”. Or it will make you wet your pants hoping that there is a local install version of V6. I know most SW folks are not idiots, but I don’t have any information about Dassault. Delivering V6 without a local install option would be catastrophic for the future of SolidWorks, in my opinion.

Unfortunately for SolidWorks, Solid Edge has that combined history-and-direct functionality today. This is I believe why SolidWorks is being so secretive about the good news in V6, even though it is slaughtering their reputation. To admit that a combined history-and-direct method is the future, they would be selling Solid Edge when there is no SolidWorks that can compete.

7 Replies to “Sketches, Direct Edit, and the BREP”

  1. Great thoughts on what separates brep modelers from history based. To add to that, here are a few examples of where Solid Edge Synchronous is so much more than a b-rep direct editor. In all cases below there is NO history tree as you know it. These are brep models but with the extra smarts of Synchronous.

    PS> apologies in advance for the quality. This is me hacking around on my laptop — not some professional demo jock…

    Here, the sketch is consumed into the feature and the dimple edits like a feature, even though there is no traditional history tree. This is what Procedural Features are — feature-based editing, but without the history tree baggage. You don’t need these for everything (protrusions are largely just 3D instantiations of a sketch, so why carry both) but for dimples, helices, beads, louvers, and all that I can’t imagine chucking the sketches.

    http://screencast.com/t/FvthhZakr

    Here, the user has created rounds in an undesirable order and wants to fix it. And you use the “Reorder Rounds” command to get the torus result. This doesn’t do any reordering really — remember this is a brep only. Its just “give me the other answer” but we call it reorder cuz that is comfortable for folks.

    Note that int the video below the order of the feature list is irrelevant to the result (remember this is a brep only) — I’ve demonstrated this by having the round come before the protrusion (!) in the list.

    http://screencast.com/t/w268LPn1w

    Lastly, here is an example where you control the result not with the feature tree, but with a simple switch. In a history-based system, you control whether a protrusion wins or a cutout wins, based on who comes last. The last guy wins. In Synchronous, you just toggle a switch. By default, the “moving guy” wins, but you can have the model win instead, but just flipping a switch. See here.

    http://screencast.com/t/ZybwiDLx

    Now, that’s not to say there is not still benefit in ordered (history-based) modeling, depending on your application and what you want to do, but I hope its apparent we’ve thought A LOT about the traditional benefits of order and how to incorporate them in Synchronous to make it so much more than your standard b-reppy system.

  2. The youtube vid is impressive. But I thought – have I ever needed to change my design intent – as shown in the video? Not really. Have I ever wanted something that just always works? Yes.

  3. SWV6 will likely be based upon catia live shape which I think allows a mix of feature and non-history based modeling. I’ve seen some videos of catia live shape and it looks very powerful. It’s been mentioned several times from DS that there will be no forced use of the cloud. This immediately makes me think of a local server install could easily be implemented. I think this SWV6 thing will work like a 3D video game. you can laugh all you want but some of these games can host some seriously large datasets without transmitting all of the dataset (see where I’m coming from?). The other interesting aspect of 3D video games is that they’re very much real time and can track the entire history of the game and be replayed at anytime. It’s all about how you synch the data (local with remote).

  4. But how much longer is V6 slated to release? I thought it was 2013 or so? Still, interesting conclusion. I do think local install will need to be mandatory unless they can prove no performance hit on the cloud.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.