Why SolidWorks Needs a System
The history of history-based modeling is not that long, really. We can talk about all sorts of variations, but it boils down to two things: Pro/Engineer, and then SolidWorks and everything that came after, including Solid Edge and Inventor.
History-based modeling needs to start taking a back seat to newer technology. We continue to cling to it for some reason, probably just the lingering popularity of SolidWorks. In order to really improve, SolidWorks itself would have to gut or at least add another internal system, which would mean practically starting over. There are some people who believe SW is just about perfect as it is. I guess fanboys will always be fanboys. The product going forward will not change significantly, because any serious change will mean disrupting their own customers, which I think they finally figured out wasn’t a good thing. They’ll keep recoloring the icons, changing the renderer, and adding duplicate features until people stop buying it. Loyalty is a valuable thing until it starts inhibiting progress, and I think we’re there.
I think DS thought they were going to force the issue a few years ago with the V6 stink. I didn’t hang around to see how that one ended, but it looks like V6 doesn’t have much if any foothold in SolidWorks territory 5 years later.
Personally, I was hoping Onshape would do something more creative to help abolish history, but alas. They did several cool things, but pretty much bowed to the history-based deities and punted on that front. This is why, even though they have done some really innovative things, they still get accused of making an on-line copy of SolidWorks.
On the other end of the change spectrum from Onshape is Siemens PLM and their Synchronous Technology. In my 4 years with Siemens, I think the only thing I really accomplished was to find a way to communicate about Synchronous with history-based users. I wrote a free downloadable book on the topic. To boil it down to a couple of run-on sentences, Synchronous Technology essentially takes the intelligence out of the model (so in history terms, you’re working with a “dumb” model), and allows the user to define what changes and when it changes, by allowing selections of faces to determine the “feature” (whatever you have selected is the “feature”, and yes, the “feature” can include faces from multiple parts). Whatever you want to change just does what you tell it to – move 1 inch, move up to this face, rotate 45 degrees, etc, and it only does it when you tell it to. There is no such thing as “rebuild”. There are also no “persistent” relations (unless you force them to be such). And your selected faces can be the same or change as you need them to. Yeah, this oversimplifies it to some extent, but it should help your average CAD user who has been stuck in history-based modeling for 30 years understand it.
Anyway, Synchronous is a better system for prismatic models, and if you want to extend the idea to more complex models, you have to move to NX. Plus, you get to keep your history-based methods for the cases when you really need them (stuff you really want to drive with a sketch, like sketch text, or possibly fillets, or other detail type of features). Synchronous really helps eliminate parent/child relations, and just make changes that in some cases you would never even consider doing in history-based modelers because it would just be easier to remodel the part (such as rotating a feature out of plane, or only changing part of a feature, etc).
So Solid Edge already has a “system” built in. This is why Dick Gebhard’s Resilient Modeling has such a headstart in Solid Edge. You can still apply RMS on top of Solid Edge, but if you use Synchronous, you have inherently less need for it.
Now we have to talk about Pro/E. Remember Pro/E had a reputation of being difficult to use, and fairly rigid when it came to procedures. Back in the early 90’s, people who taught Pro/E taught some kind of method, or structured procedure. Something like a skeleton model, master model, or references built around planes. It was structured, it was tough to use, people failed to follow the procedures sometimes and made a mess of things. But it worked if you followed the procedure. Models were less likely to lose parent/child relations if you built everything around planes and sketches (like Stoltfus’ SSP method).
Ok, that’s all pre-amble. Now we can talk about SolidWorks. SolidWorks appeared with the advent of Windows NT, when Windows was entering the world of technical computing. You no longer needed a $20k unix workstation to do CAD. Along with the dumbing down of the IT OS/hardware requirements, SolidWorks was going to dumb down the requirements for 3D CAD usage. If Pro/E required a top 10% user to be successful with it, SolidWorks required a top 80% user. SolidWorks cleared the way, and got rid of all those pesky rules. You could do things in any order (sketch, feature, or feature, sketch). You could do object/action or action/object. You could sketch right on model faces rather than creating planes. In fact, you could sketch on faces of other parts in assemblies. So the rule book was out the window, everything was easy, and the software, hardware, and OS was cheap and easy.
This is great until the models start getting more complex. This is the point where all of those people who stopped reading this too-long blog already need to listen extra hard. It turns out that just modeling without any system leads to the chaos that it sounds like it would. There was a reason Pro/E was hard. There was a reason Pro/E users looked derisively down on SW converts. If you have a history-based model with intelligence built in, that intelligence needs to be structured, or it’s just chaos. SolidWorks freed the market by loosening the restraints, damn the chaos. Ease of use as a mantra really gets people’s attention, but discipline is less sexy. Regardless if you do it or not, history-based modeling really needs some structure – rules and procedures. This is why SolidWorks users generally are superstitious about links, and why they do silly things like deleting all links between files at the end of projects.
But the thing is that one set of rules isn’t going to cut it for every type of design. Don’t forget that as much as we as SolidWorks users think we have in common, what we do and how we do it are very different. This is probably one of the places where Pro/E really could have done better. It’s also the blind spot that I think SSP and RMS have. Everybody is used to working with their own problems, and they will solve their own problems as if they are universal to all CAD users. You can’t dump the rules, and you can’t establish just one set of rules. Each type of design has to develop it’s own structure. Machine design has a lot of prismatic shapes, reused data, motion, custom or off-the-shelf parts. Plastic and cast parts are much more complex as individual parts, but there are fewer of them in an assembly. Structural design uses a different method yet. Some assemblies are going to use both types of data so you will have to adopt a hybrid system.
In my view, SSP works great for machine design. Any type of mechanism that can be mostly explained in one or 2 2D views should work pretty well with SSP. SSP is really a sketch master. You might call it 2.5D in the CAM sense.
Master model as I use it is a 3D, usually surface master. For me, this works best for plastic assemblies, or parts where an overall shape is composed of several individual parts, like a car body.
In my view, RMS is trying to be everything – it includes sketch and model masters – and on top of that it has a lot of rules. I’m not sure it built on any particular design process or type of design (eg plastic assembly vs machine design vs electronics enclosure and structural assembly), so it might have the best chance of being adoptable as a general system that can do anything if you eliminate the unnecessary parts.
Horizontal modeling I think is trying to be a very general concept that you will have to apply via customization to any specific situation in which you find yourself.
Does all of this sound at all familiar? Hasn’t the CAD world been through this cycle of freedom => chaos => system before? Doesn’t PDM sound an awful lot like this cycle? PDM is generally configurable for different systems, and is essentially a tool for enforcing best practice rules. I think the PDM solution is a good model for solving the problem of needing an enforceable variable modeling system. It would have to be CAD package specific, and configurable within the CAD package. It would have to enforce structure and best practice rules.
CAD users will not give up their freedom easily, but the promise of editable data is quite a prize.
I keep hearing some people say that history based modeling could or should go away. As a user of Solid Edge who likes both history based (ordered) and synchronous methods I’m firmly convinced there are scenarios where one can’t do, or can’t do some things as well as the other. As you say, sync is very good for prismatic models. With that I agree. You really need to be able see all parts of the model when you do a sync change to see the actual results before you lose the capability to undo. On parts with long bodies and very small features on the ends that is hard to do.You can’t be zoomed in to both ends of a 4 foot long part in order to monitor changes. Often I don’t find problems until I’m in drafting mode and I notice aliasing on lines that should be strictly vertical or horizontal. So I open the model and see that I missed some small changes, often because the features are so small, or that a face or faces got consumed (ordered doesn’t consume faces) and really hosed my part.
And driving such a sync part with variables is difficult because there are so many options in the design intent rules which are not even visible when using variables. And intent settings are not saveable with a part unfortunately. They stay in last used condition per session. Having them set wrong when blindly changing a part with variables is “dangerous” and difficult. It’s difficult to set up because you have to control all faces with dimensions which with small features is cumbersome and really clutters the screen since they are on the model and not discretely confined to feature sketches. So it’s trial and error until you figure out all the dimensions and relationships required to keep some feature from squirting out of whack due to a change elsewhere.
So I learned to stick with ordered when I want to provide models that are variable driven. Especially when there are small, hard to see features.
Of course sync really shines with imported models as with sync they need no longer be considered “dumb”. Maybe things will change in the future but direct modeling or synchronous without ordered is, IMO, not near ready for prime time.
Lately, where I work, none of our SOLIDWORKS assemblies need any Mates, so when fully Mated, we Fix all Parts in place & Delete all Mates, Another method we use is to Save all files as STEP files, bring them in as Dumb Solids, then use SW Direct Editing for changes. Try it, you’ll like it.
Even I agree. For 3d modeling and complex surface modeling, ProE is like a father though hard to get convinced but its restrictions are always for our own betterment. While SW is like mother, you get stuck in the middle there are one or the other options to skip the difficulty rather than resolving it. Pampering is not good thing!
I like that analogy! Never thought of it in those terms, but you’re right!
Excellent insight. I would argue the same ProE/SolidWorks comparison of “those pesky rules” applies to PDM systems. So much whining over the years about how “hard” it is to figure out how to use tools like Autodesk Vault, EPDM, TeamCenter, etc. So they introduce tools like Fusion 360 and OnShape that promise “no more stupid PDM needed”… until years later they come out with “Enterprise” versions that, you guessed it, require permissions/role capabilities to control data access & workflow. What a concept. Give it enough time and we’ll likely see a resurgence of complaints about not understanding the “rules” and having to jump through too many hoops.
Well SolidWorks V6 is still around (xDESIGN) and keeps getting pushed to us SW Customers at least every year during SW World. The future is uncertain IHMO for the Desktop Version of SolidWorks, at least in terms of innovation. It’s understandable from a business perspective, but as a customer is the worst, since we will never see the benefits of newer technology like Cloud collaboration (yes, it is important for business, maybe not as much for consultants). If I wanted users to have something like that, we would have to move to the 3DExperience which is basically CATIA, which is incompatible with SW and DDS-SW is not making it any more appealing with their pricing/cost module. Onshape is appealing because is basically what SW should have mature too, History-Based Modeling (HBM) has it’s place. It’s a well-rounded where it fits about 80% of the CAD scenarios efficiently, is that 20% (or less) when you have very specific Company/User needs for CAD; this could be really complex models, really large assemblies, or something like that, I doubt there’s any system that would serve 100% of CAD scenarios
Hello Matt- Please review this video about Fusion 360 and the ability to use History or Direct Editing, thanks.
http://help.autodesk.com/view/fusion360/ENU/?guid=GUID-DCC3B4DD-8853-40E5-AA33-1839092C99BF
Devon
Devon, Thanks for the suggestion. I’ll have to download it again and give it another try. Thanks!
SW needs SYSTEMS. One for each major definable design genre. Just as you state each system would need to be tailored to the genre it serves. I do mold/product design so the “Master model” as you designate it is what serves me best. I make “Top Down” references such as “Cavity features” “Extrude up to features” “Convert edges features” “Linking locations of features in different components through coincident relationships” etc…, but I don’t use a lot of them, and my assemblies are relatively small by most standards, also I’ve discovered how to make them fairly robust and “design Change” tolerant through sequencing and avoiding learned traps over the years. I can even replace the “Master Model” which is usually the customer plastic part with their newest revision and generally only have to clean up a few lost references, and that is only when topology directly used in splitting out individual components changes. I will often modify the “Master model” with “Scaling” or “Delete Faces”, but I keep those changes simple and repeatable should the customer send a new revision. It Works for me.