SolidWorks 2010 More speed tests (Tune-up III)

So, I set out to make really bad use of Delete Face and Surface-Fill features.  This would be a completely outside the box type of screwing around that might not be expected, just to see if I can maximize the contrast between speed improvements from SolidWorks 2009 to SolidWorks 2010.

The motor-casing model that comes in the Samples folder of SolidWorks 2009 seems to tax SolidWorks a bit as is, all without any fancy features.  In SW 2009, I used the Delete Face feature to remove all of the internal walls in the main casing.  This was followed up with horrible Surface-Fill to patch the hole.  (Please take note of the rather unnecessarily wavy Surface-Fill results.)  After saving and Rebuilding twice, I checked the model’s Statistics.  The image below represents one of the better Rebuild (CTRL-Q) results I was able to achieve in SW 2009.  No surprizes.  Surface-Fill is on top and Delete Face is near the top.

Next, in SolidWorks 2010, I opened that very same file.  After saving in SW 2010 format, I closed the file and reopened it, then checked the Rebuild results there.  Strange….  I didn’t notice much of a difference.  This was starting to look a bit like my previous round of tests on another model (See the previous article in this series).  To check this further, another test needed to be done.

I deleted the Delete Face and Surface-Fill features and recreated them from scratch in within SW 2010.  Three things happened.  First, I was able to more quickly access both the Surface-Fill and Delete Face commands.  Second, SolidWorks made a much more logical choice in how to form the Surface-Fill feature.  Note how smooth it is versus the same feature created in the same fashion within SW 2009 (predictable results when creating features is another area where SW 2010 has improved). Third, look at what happened to the Delete Face Rebuild times!

Surface-Fill time reduced from 5.13s to 3.16s.  Delete Face time reduced from 0.63s to 0.09s!  It may be that the Surface-Fill time is more a factor of the simpler form than improvements in the underlying code.  However, since the software did make a more logical choice in the formation of the Surface-Fill, this still kinda counts.  Either way, the big news is the time savings on Delete Face!

Who really cares?!

OK,  OK, now the question from many comes up, “I’ve never use Delete Face; who cares about it!?”  In fact, in my test here, the difference in Rebuild times is entirely traced back to the Surface-Fill and Delete Face features.  No other Rebuild improvements are witnessed in any of the more common features.  So where does this leave individuals whose focus is on machine or sheet metal parts, where Delete Face would generally be very bad practice?  Well, as mentioned in the previous article, other areas have also been improved.

Improvements to multibody parts and related commands, Weldment cutlist updates, and equation performance have been reported by SolidWorks Corp.  Other areas may have also been improved, but I have yet to get confirmation of those.  The funny thing is that performance improvements aren’t really covered in the SolidWorks 2010 What’s New file!

In the What’s New file, I only found information about selecting a large number of entities within a sketch to create blocks as being “much faster”, and that Copy and Paste within Sketch mode is faster.  Nothing else readily comes up!  So, why does it seem that SolidWorks Corp is letting one of the more significant improvements in SolidWorks 2010 go under-reported (practically by word of mouth)?  I only found out about these improvements because the faster times for Delete Face was briefly demonstrated at the recent Blogger Event at SolidWorks HQ in Concord, MA.

The cynical side of me might say they’ve made no big announcement because they don’t want to make a big deal about how slow SolidWorks has been in the past.  However, the devil’s advocate might say that they’ve made so many improvements, they may not have a collected list of those items even now (as the case may actually be), and certainly didn’t have that list when the What’s New file was released.  Either way, it is almost fun trying to find the speed improvements, like an Easter Egg hunt (pun intended…and if you understand why that is a pun, you are truly a geek).

SolidWorks 2010 Runs Faster? Maybe! (Tune-up II)

On Monday, I announced that SolidWorks 2010 has had a tune-up.  The code in certain areas of the software had been getting a little long in the tooth, and long in the rebuild times too.  For SolidWorks 2010, the team at SolidWorks Corp set out to clean up some of the more inefficient code that’s been dragging SolidWorks down.  I’m not yet sure how successful they were in this endeavor.

Some of the areas have affected in this clean up (not a complete list):

  • the Knit Surface algorithm, which not only includes the Surface-Knit feature, but also all other features and commands that utilize the algorithm;
  • Multibody parts and related commands, mostly noticeable on a large number of solid/surface bodies;
  • Weldment cutlist update (body comparison)
  • Equation performance;
  • Delete Face feature.

Unassuming 2009 example modelI set out to see just how much improvement one might expect from a simple example of Delete Face.  (Reminder: I’m using SolidWorks 2010 Beta 2.)  I found a rather basic model example available in SolidWorks 2009.  Within SolidWorks 2009, I used Delete Face to delete one random surface.  The options I used were Delete and Fill/Tangent Fill.  It’s a self repairing deletion that would normally be used on something a bit more complex than a flat surface.

Average rebuild times (s):

  • SW 2009 w/o Delete Face:  .360
  • SW 2009 w/ Delete Face:  1.330
  • SW 2009, just Delete Face: .937
  • SW 2010 w/o Delete Face:  .390
  • SW 2010 w/ Delete Face:  1.210
  • SW 2010, just Delete Face: .823

The Delete Face feature does indeed have improved rebuild times, but with the options I choose, it’s not by much.  Then, I discovered something weird.  In SW 2009, I reloaded the model and found the Delete Face average time was 1.60 (for a total of 2.00)!  After suppressing the Delete Face feature and rebuilding a few more times, the total average rebuild time was again 1.33.  What the heck?  So, I tried this out in SW 2010.  First rebuild was a whooping 3.17 seconds for just the Delete Face feature! After rebuilding more, it settled down to average 1.31 (totalling about 1.86)! Only after the same suppression, unsuppression trick did the times return to what is shown in the table above.

This leads me to question: are there are different algorithms being used based on how SolidWorks becomes aware of a feature?  It is very strange behavior witnessed in both SW 2009 and 2010, though 2010 still does show some minor improvement for my overly simple test.  I’m going to dig further into this for upcoming articles.