If you read our other posts discussing SolidWorks or Creo, then you know we use, and value both. Of course, in the CAD industry there is a constant bit of bantering about which system is best, and the discussion usually highlights values, or frustrations of each. That's healthy, as long as it doesn't get out of control.
Like our previous post about differences, today we will highlight one pretty major difference. I think this item largely defines a love (or dislike) of SolidWorks or Creo — from both sides. Depending on which side of the fence you like to run.
Sketching
Both SolidWorks and the CAD competitor Creo define a lot of their features with a sketch or sketches. While the sketching concept is largely the same in both, there are several important differences. A fundamental difference for SolidWorks or Creo, is constraints. Yes, they both have constraints, and they both use similar concepts in constraining sketch entities. The big difference is whether you MUST constrain the sketch, and how much constraining you need.
To sum it up pretty simple, SolidWorks is generally more relaxed with constraints. You can constrain if you want, or just sketch and be done - without dimensioning or defining how the sketch relates to other areas of the model. Pro/Engineer (Creo), on the other hand, requires constraints.
SolidWorks also allows some over-constraining of entities - if they are consistent. (As in this image where the line constraints are both Horizontal and Collinear. It looks like just the endpoint is Collinear, but the selection was the entire line, and if it is just the end point, then it would show a point on entity instead.) Creo doesn't allow over constraining like that. It complains.
SolidWorks does not allow constraints to surfaces - like faces of model geometry, where Creo prefers surfaces over edges. (As a side note, after working with both, I believe feature surfaces are SSSOOOOO much better for model robustness. I could easily get on a soapbox here, but I'll leave that for later.)
Then, there is the paradigm difference with SolidWorks or Creo in how sketches are handled. In large measure sketches are like features in SolidWorks, and I love the ability for sketches to directly reference sketches.
There are certainly advantages to both systems. Whether you choose Solidworks or Creo (Pro/Engineer), there are rules to learn. The point is not a debate, but a highlight of one way sketcher constraints can really cause trouble. (Or in this case, a lack of constraints.)
Making A Small Project Bigger
In a recent project we were provided SolidWorks native CAD files (.SLDPRT and .SLDDRW) for some changes. (I don't know who did the original models.) The changes weren't hard, but they became much harder because the previous firm didn't take time to properly define most sketches. That makes it pretty hard to follow design intent.
Without going into detail, I'll just say there were some funny bits in the models. Some of the features were off by a thousandth or a few. (Some much more.) Normally, it is a fun challenge to decipher a model and see how it was created. Mostly I find that process very enlightening because I find tricks that are cool. However, this time I found several sketches that didn't have constraints. And, that led to finding more SolidWorks bugs. The image below is an example of a sketch in the part.
No kidding. This sketch has nothing to constrain it. Not even one constraint. No wonder child features break when the model changes. No wonder things in the model are off by little tiny amounts! This is obviously why the customer has so much trouble with the prototypes. The little things can make a big difference.
So, following the sequence of events, here is what I found when constraining the sketch.
The 301.47mm dimension is significantly off (by more than a normal tolerance) from where it should be. The angle dimension is more like the error I expect - but really, the error should not be in the model! Anyway, the image below shows the proper dimensions.
With this feature buried deep in the model, it was a little hard to find. Unfortunately, this was not the only such problem. Which brings up two important questions:
- Is that a contributing reason the product did not work properly?
- Are the sketches like this because of laziness? Or did they just forget to go back and finalize it?
(Whatever! Either way it is poor quality because they didn't check their own work. - Oh boy, that's another soapbox topic.)
The Solidworks OR Creo Love & Hate
Some people love SolidWorks because it allows unconstrained sketching. Some people hate Pro/Engineer because it enforces full constraints. On the other hand, some people hate SolidWorks because it is so tedious to do full constraining. Some people love Pro/Engineer because it automatically does a lot of constraining for you.
With automatic constraints, Creo rewards you for sketching accurately, and SolidWorks punishes you for the same thing because selecting intent constraints immediately behind a sketch is harder. (Gross sketching in SolidWorks makes it easier to select the exact existing geometry to control the constraints.)
As a side note, when I first started with Pro/E back in the dark ages - before some of our readers were born - the Pro/E sketcher was much like the now SolidWorks sketcher. It was much more tedious to work with. So, in comparison of SolidWorks or Creo . . . What's old, is new again - but in a different CAD System. So, SolidWorks or Creo? Which frustrations do you want?
The above project really emphasizes the need to provide quality construction. To be honest, I feel like leaving unconstrained sketches is laziness. Yet, as I say that, I instantly think about how much I appreciate the ability to be lazy in Pro/Engineer ( Creo ) with its automatic constraints. It is probably a little of both.
That said, I like SolidWorks for a lot of things, but I dislike dealing with their approach to sketch constraints. Oh, and I really dislike dealing with the fallout from other designers that "forget" to constrain things. 🙂 That project was a mess, and it cost the customer a lot more than it should have. Why? Because I first had to dissect the model to figure out what constraints were missing, before doing the work.
Summing It Up
There's an old saying "If it's not easy, most people won't do it." I first heard that in reference to wearing seat belts as a justification for creating airbags. Yes, we do live in a pretty lazy society.
For the record, a 5 point harness and a roll cage are MUCH safer AND cheaper than airbags. They perform all the safety functions better. However, the public doesn't really want Safety, they want the perception of safety, but only if it is convenient. I call it lip service. To me, unconstrained sketches in production parts are akin to being too lazy to put on a seatbelt.
Regardless of which side of the Love or Hate relationship you find yourself on - whether SolidWorks or Creo - be proud of your work. Do a good job that you will be proud to have someone else (like me) look through your designs. Taking time to do it well pays big in both quality and in optimizing the design process later.
My advice is always: Quality is Free if you do it Right the First Time.
It honestly does not matter if we talk about Solidworks or Creo. They both accomplish amazing parts, and they both have silly frustrations. This is more about you as the driver than about the software. Choose to build good models.
Happy Constraining !!
Want to read more? The paradigms of learning Creo. Or, learn more about the Creo User Interface.
Excellent article. I just started learning SW after many years of using PRO/E (now Creo). My horror when learning all the effort trying to manually fully define sketches in SW. Coming from Creo I could not understand why SW would opt for such a laissez-faire (lazy?) approach for sketch creation. Sketches need to be fully defined, period :). Another gripe I have with the arcane (IMHO) snapping approach in SW. Just trying to sketch something simple suddenly becomes more labor intensive, with the mouse not really obeying where I want it to go. Maybe it's just having to re-learn mouse gestures? Still, no kudos for snapping in SW from me.
After several weeks of using SW, however, I started appreciating other features and approaches not readily available in Creo. For one thing the learning curve in SW seems less daunting (or maybe the years of experience by using Creo is paying off in some way). The context-rich menus, shortcuts and Windows friendly features make Creo seem clunky and almost old school - sometimes. For sure, learning SW has become an exciting goal for the next few months. If only the best features of both could come together. Thank you for sharing your experience.