Relationship Counseling – Part 2
Why do SolidWorks users as a class of CAD users need more relationship counseling than, say, Pro/E users? The answer is going to sound sarcastic, but I honestly believe it is true. I think it boils down to an outdated modeling philosophy more closely related to ease-of-use marketing dogma than to best practice type suggestions. SolidWorks has always recommended a fast-and-loose approach in order to sell software, without regard for robustness through changes. SolidWorks has also become more and more error phobic, more intent on giving users ways to ignore or hide problems instead of ways to build models that don’t get the errors in the first place.
As usual, there is some history behind this story, and we hae to learn from history. Parametric Technology Corporation was the first to develop parametric solid modeling in a successful commercial product, known as Pro/ENGINEER. Parametrics was a new way of life back in the late 80s, and it was important for the company to deliver some modeling philosophy along with the tool. Pro/E has a reputation for being rather rigid in how it forces users to use the parametrics. Sometimes it is difficult to separate rigidity built into the software from the traditional usage or corporate dogma laid down through documentation and formal training. There was a reason for the rigidity, it was necessary to make models that held together through change.
Pro/E’s method was not called “horizontal modeling”, in fact, I don’t think it had any name at all. That name was a child of licensing wonks at Delphi eager to coin a phrase describing a technique already established by Pro/E users. Delphi used Unigraphics to develop their take on the process, and are clear to mention that it can be used with any parametric history based modeler.
Regardless of how or why, when you import a Pro/E part, you are sure to get a lot of what seem like unnecessary planes. This is because the Pro/E process includes making a “datum” or what we would call a Reference Plane for each sketch.
SolidWorks began winning out over Pro/E in the late 90s CAD wars by being easier to use (and cheaper). Pro/E imposed a lot of rules, but SolidWorks did not. Users predictably chose the path of less initial resistance. Pro users knew intuitively that there was a problem with the SolidWorks approach, but didn’t know how to articulate it. It turned out that Pro/E (the software) was like a good parent, raising good children by disciplining them. SolidWorks was a new age parent, and produced children who neither knew nor tolerated any discipline.
SolidWorks “best practice” ideas started to be spread at the grass roots level by users. SolidWorks corporate kept talking sales jive, and didn’t recognize the need for a change in the direction of the modeling philosophy that they asked people to buy into. When it came time to make changes to models, Pro/E models are better behaved because the model is constructed in a disciplined way that guarantees better success. SolidWorks models tend to fall apart when you start making changes beyond the simple, because the traditional SolidWorks technique taught to users through the corporate documentation and formal training advocates a “fast-and-loose” approach.
The real difference is that SolidWorks encourages you to sketch on faces, make references to solid and edge geometry, and build a chain of references. When you consider that each feature in SolidWorks is directly dependent upon the feature that comes before it, like the picture on the left. Unfortunately, when features are built this way, when one feature fails, all of the features dependent on the failed feature also fail. This is what the Delphi materials call “Vertical” modeling because the relationships are vertical.
By contrast, the horizontal modeling method looks like this when charted:
The “control data” here is either sketches or reference geometry (planes, axes, reference points). When a feature fails in this scenario, it doesn’t take other features with it. The references when charted tend to make a short, wide tree. I wrote a lengthy news group postabout a year ago that descibes this a bit. Where I use the “wide tree” term, you could substitute “horizontal modeling”.
This concept can be applied at both the part and the assembly level, and is particularly useful for overcoming in-context difficulties. You can even use another part as the “control data”, with an inserted part in a part document or an envelope in an assembly.
The good news is that any parametric modeler can do this, Pro/E, Catia, Unigraphics, SolidWorks, Inventor, Alibre, whatever. You don’t have to model in a sloppy and lazy fashion, the way that SolidWorks teaches people to model.
The problem with this approach is that SolidWorks users are impatient. We are trained to think that modeling quickly is the ultimate good. You can’t do “wide tree” modeling as quickly as the “tall skinny tree”. It takes planning. It takes forethought. It requires discipline. It requires you to move your mouse and make more clicks. SolidWorks is trying to condition its users to be work-phobic, believing that you can not just model, but design with no effort, and that your work should be judged not by the quality of the final product, but rather by how much you moved your mouse and clicked. I think their modeling philosophy shines through in their software design. It is all getting that same plasticine sheen, the hallmark of a product banged out far too quickly without attention to details or quality. Think more Yugo than Pro/E’s Lexus. There is a price to pay for fast-and-loose.
You can’t just pick and choose with this method either, really. You need to implement it from the beginning with a part or an assembly. If you created a model using the “vertical” method, and then change your mind, it can be done, but depending on how many features you have it may be a load of work.
Ok, well, I’m going to have to extend this to a Part III. That will contain the techniques to use for selection of entities when you have to reference solid and edge geometry. This is the stuff I really wanted to post in the first place. All the rest of this is just a bit of fluff leading up to it. Interesting stuff. Come back tomorrow.
PS
In Part I I mentioned that someone at SolidWorks World this year is going to give a presentation on Horizontal Modeling. Matt Lorono (fcsuper) encouraged me to do a bit of research into who this was. This person turns out to be Elise Moss, the well known author of books on Autodesk products. Has Elise “changed teams”? She is asking a lot of beginner type questions on the SolidWorks Forums, so it looks like she is trying to learn the software. It’s not clear to me that someone with a few months experience on the software is going to be a valuable presenter of modeling techniques in SolidWorks, but with her writing background, maybe she has Inventor ideas she is bringing forward with her. Anyway, we shall see. Maybe someone could convince Elise to stop by and leave us a note here?
I think one of the reason where SW allows user to mess up with their feature tree is allowing to go them multibody. When an individual deals with a model which results in longer model tree, there is huge associativity among features. So when making changes to such model if a feature fails which lies on the top of the feature tree, the “best practice” used by individual (yes that was me initially) is to simply split that much portion, work upon it and go home happily. Creo hates multibody!!!!!!
Great info Matt. I have been on my own for 16 years. Last year I gave my self a clock. Had a all hands meeting, got my name wrong, forgot what I did, the whole bit. Well, OK I bought the clock off Ebay and put a different works in it, but it’s my company so I can do that.
the one thing I would add to your excellent advice is to get a good accountant. A good one is like hiring a good CAD guy. They save you more then they cost. Mine has saved me many 10s of thousands. Also, like a good Cad Designer, you want one who is conservative but not to conservative. (He finds the things that will save you money, but will also stand up to an audit. Mine has a theory that audits are fun. they call you in, He goes with you, says I’m glad you called. I wanted to have my client claim this and this and this and oh, have you read about this one. He had a few audits the first few years (never one with me) and each time his client, walked out with a check FROM the IRS. for some reason, they have stopped auditing him. Any way, he got me into tuition benefits for my son and my self, a company car, business trips. (always visit a vendor or customer and keep records) and many other ways to save money.
Frank
****
Frank,
Thanks so much for commenting! It’s great to hear from you again. Your practice was one of my original inspirations for going independent. It took a long time for the seed to germinate, but I finally jumped. Great advice about the accountant too. Thanks again.
Matt