Is it OK to use Sleasy CAD Tricks Some Times?

Now that the furor over direct edit has passed most users by unaffected, and it looks like SolidWorks is the only company that doesn’t have their hair on fire over this topic, maybe its time to reexamine it, especially in the context of history-based modeling. There is a lot of background reading that you can do here on this blog, by going to the Categories drop down on the bar to the right and selecting Direct Edit, or by going to Phil Hamilton’s blog, also with a link in the side bar.

I’d really like you to go back and read this one post on how SolidWorks could make their implementation of history-based modeling better. If you need something more basic, here is another primer post. The more I think about it, this blog post really contains what I think is the key to SolidWorks moving forward and laying to rest some of the silly accusations of the direct edit marketers. Who knows, it may even hold some keys to what Autodesk is messing with in Fusion. The ideas are from both me and people who have made comments on this blog.

Anyway, I want to take a more practical look at how some direct edit functionality currently works in SolidWorks, and some philosophical questions about if you are going to create the CAD equivalent of a black hole or a loop in time by using direct edit and history based modeling at the same time.

sleasy

sleasy2

Phil Sluder is one of the better SolidWorks users you will find anywhere, and I’ve heard him express this sentiment before. He’s not the only one. I’ve said something like it from time to time. Phil’s tweet reminded me of this (and coincidentally gave me an opportunity to show what I think is a useful use of Twitter for work purposes, even though he didn’t fit his idea into only 140 characters).

Just look at what Phil has to say. He just moved some faces instead of changing dozens of dimensions. Is he being sarcastic? Is cutting down your work like that really that “sleasy”?

I totally agree with Phil. I think you can only understand what appears to be a sarcastic contradiction if you’ve actually gone slease yourself. Admitting it in public is the next step. I’ve done it a number of times myself, but the only part of it I’m proud of is how much time I saved by understanding advanced functionality. I don’t get a feeling of heroism for following the rules regardless of the cost.

Phil said the part deserved it. What could he possibly mean by that?

Well, here’s an example of a part where I used some sleasy modeling methods, and I saved myself a ton of time, and yes, I think this part also deserved it.

sleasy3

This is a part I’ve shown a few times because it has a lot of great examples of different kinds of modeling in it. First, it is part of a set with another very organic looking part, and they have to fit together perfectly on some organic shaped surfaces. That’s nasty. It’s really part of a family of parts that I’ve been working on for the last several years, including size and functionality differences. Originally there were some master model type techniques going on, but with all of the impossible changes and with the range of sizes, much of that is just a distant memory. In all, these parts have features that are long forgotten, some that were made and never used or removed, some that were created, then cut out but not deleted, and so on. In all, it’s like a concept model that never got cleaned up. And yes, hard tooling has been made from some junky data. With all of the changes the customer makes, from time to time, I have had to just go back and do a fresh remodel on a part rather than have another hack at it.

The point here is not the fact that from a parochial parametric point of view the data is ugly junk. The point you need to remember is that you don’t need to be so parochial about your data. You can actually work with “ugly junk”. In fact, there are several software tools that use this ugly junk method of modeling exclusively. In this case, I’m thinking particularly of something like CoCreate. The modeling I am calling “slease” and “ugly junk”, are what other people call direct editing.

Anyway, back to the part.

In this part, I just used the Move Face tool to offset the outer faces that were created by a set of features including sweep, split line, boundary, loft, trim, delete face and replace face. I could have gone back in history and changed a couple of sketch dimensions in a couple of different sketches, controlling different features, and take the chance that all those down stream features are gonna blow up, or I could just put the Move Face at the end of the feature tree. Oh, and there is a Scale feature in there somewhere too, so I would have to back calculate the sizes needed so the scale would come out correctly. Is your head ready to split yet? Do you blame me for going “sleasy” on this one? It probably saved 45 minutes, or possibly a couple of hours if I had to repair a bunch of features.

On the downside, next time I edit this part, I’ve got to remember what is driving the final shape. I’ve got to remember that the Move Face feature has final say, and not the Scale, or the sweep, or the loft, Move Face has some characteristics that make it a wonderful tool, but the same characteristics can be maddening. For example, if you use Move Face on a model, it does not rename the face or edges (unless it causes a face to intersect with faces different from the original intersected faces). So that means that if you click on a face moved by Move Face, it lights up the original feature, not the Move Face feature (unlike some features such as Split Line).

Here’s another one in the same part:

sleasy4

If anything, this one is even uglier than the first one. The image shows the result of an offset. The alternative to this was to edit a shape in another part that was inserted into this part, which would probably involve adding a configuration so that the one version would be used here, and the other version in the original context of the part. In short, the lip around the part shown here had to be treated like imported geometry. In the original part, the faces were created by a complex lofted surface cut, then the faces were brought into this part and made into a solid. So I could go back and try to mess with all of that, or I could just do what is completely natural in CoCreate, and just cheat, and use the Move Face tool.

I’m not sure what type of parts Phil was working on, but I recognize his conundrum. History-based modeling is all about process. Most of us recognize a lot of benefits from that history-based process, but it can sometimes be difficult to manipulate. Sometimes it is easier to just step outside of the process.

I’ve had a look at Spaceclaim, and CoCreate and Synchronous Technology, and I’ve got to say, that there are things I like about being able to ditch the process. The big argument is that the history is A) hard to undersand and B) bogs you down with rebuild times. These are true to some extent, but the marketers are trying to instill fear, while going short on facts. The history-based implementation in SolidWorks is not so hard to understand because you can click on a face in the model, and it scrolls the selected feature in the FeatureManager (requires a setting – Tools>Options>FeatureManager>Scroll Selected Item Into View). The demos for direct edit modelers represent people fumbling around with a tree trying to find which feature controls which geometry.

The rebuild times claims are true, but for the types of geometry that you can actually edit with something like Spaceclaim, the shapes have to be simple, so the trees are likely to be less complex than more complex geometry, and in that kind of part the rebuild times are not much of a problem. The direct edit marketers found a valid pain point in history based modeling, but I think have failed to demonstrate a relevant connection between their solution and our problem.

In the end, SolidWorks can currently handle both history and direct edit functionality simultaneously, but seeing a direct edit feature in a history based tree begs some underlying questions. I only use these methods when I have to, or when its not an option to do it the correct way. Even things like patterning or mirroring faces can be considered direct edit. These are considered valid ways of working in the direct edit world. I really think that if SolidWorks takes the ideas in the history implementation post and combine them with improved direct edit tools and functionality, they will have an unbeatable combination that will settle the history vs direct argument for the foreseeable future. The existing tools are good, but raise a lot of best practice questions. Additional control over rebuilds and the tree are needed to make this really make sense.

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.