Updating to the Latest SOLIDWORKS Release Broke my Part!
Everything was fine in [INSERT PREVIOUS YEAR]! SOLIDWORKS did something with the coding and my part that worked fine WITH NO ERRORS in [INSERT PREVIOUS YEAR] doesn’t work anymore. This is why I don’t upgrade! This newer version just isn’t as stable as the old one. I never used to get these errors before. Now everything is blowing up! Updating to the Latest SOLIDWORKS Release Broke my Part! (Cut to keyboard and/or mouse being thrown across the room with wide-eyed coworkers)
Ok. Pick up the keyboard and or mouse that is now in bits strewn across the floor. Don’t make eye-contact with your co-workers, it’ll only increase the awkward tension in the room. Get a cup of coffee and take a breather. Everything isn’t going to come crashing down, I promise. Once you’re fully caffeinated let’s talk about what happened to cause this RIDICULOUS BREAKDOWN JUST BECAUSE SOLIDWORKS WANTS TO MESS WITH THE #*$@&^+ CODE AGAIN AND WASTE MY TIME! I’M ALREADY BEHIND SCHEDULE! … what did I say? Deep breath.
Relaxed now? … Ok, let’s change that. Likely, if the part worked fine in a previous year with no errors and you’ve now saved THAT SAME PART in a newer release of SOLIDWORKS and it has errors, it has nothing to do with any code changes that SOLIDWORKS has made in the newer release. Raging again? Stick with me. By saving in the latest version of SOLIDWORKS, you think SOLIDWORKS Release Broke my Part, but instead you uncovered a problem that existed in your part in the prior release the whole time.
Conversion Process to Newer Versions
So, what actually happens during the conversion process to a newer year? When does it happen? What uses the ‘new code’? When you’re using a newer version of SOLIDWORKS to open an older version of a part, you see the save icon warns you a file that needs to be saved in the current year.
When you select this, SOLIDWORKS saves to the latest version AND SOLIDWORKS performs an Advanced Body check.
Advanced Body Check
What’s an Advanced Body Check? An Advanced Body Check is a validation that the geometry is a good watertight solid model. This check ensures there are no invalid faces or edges. You can run this check at any time as well through Tools > Evaluate > Check Entity.
But if you didn’t run the Check Entity, how does SOLIDWORKS know to check the geometry? How can I set up SOLIDWORKS to consistently run body checks? To understand that we look at what option is automatically on during the save process when saving to a new version.
Verification on Rebuild
In System Options > Performance, there is an option that is OFF by default. ‘Verification on Rebuild’ is off by default. This is intentional because ‘Verification on Rebuild’ checks all the geometry for consistency during every rebuild, which for most cases would be unnecessary computation time.
You see the errors in the newer version of SOLIDWORKS with the prior year’s version if this option was on. It’s not a case of the new SOLIDWORKS release broke my part.
Why the Errors?
So why would a model (REGARDLESS OF YEAR) show an error with ‘Verification on Rebuild’ disabled? It has to do with what SOLIDWORKS checks if a feature is possible to create. When a new feature is created, SOLIDWORKS checks if the newly created faces and adjacent faces are valid. Let’s say I have a simple shelled part like the following.
Then I add a fillet to the bottom edge outside edge as shown below.
Looks weird right? SOLIDWORKS says it’s a valid model and if I rebuild the model, I have no errors in my tree.
But as soon as I save this model in a newer release of SOLIDWORKS I will see an error in my tree, which was actually an error all along.
Without the ‘Verification on Rebuild’ enabled SOLIDWORKS checks the new faces (TEAL) and the adjacent faces (MAGENTA). Those are all valid faces that do not cause any geometry problems, so SOLIDWORKS thinks the geometry is ok.
When the error is not as egregious as the one shown in this example there often aren’t any visual cues that somethings wrong. We may go months or years before finding error. And often times the SOLIDWORKS Update takes the blame, when the problem’s been there all along.
New Feature Coding
As a last side note, it’s important to understand how any new feature coding is applied when new releases occur. When a feature’s coding is improved from year to year, it’s done for any number of reasons. Changes to any given feature help improve stability, performance, and functionality. But the beauty of SOLIDWORKS is that coding changes are not immediately applied to every feature that’s changed. If that were the case, updates to newer versions would take much longer, you could have issues with parts that you have no intention of changing, or you could have to deal with unnecessary bugs that are resolved from one service pack to the next all the time.
The only time SOLIDWORKS uses newer feature coding on an older feature is when that feature is edited. To clarify, during the save process to the latest version of SOLIDWORKS, SOLIDWORKS only does the body checking mentioned previously, it does not update any feature coding. So, there are times where a part is saved in the latest version of SOLIDWORKS, an edit is made to a feature and the part ‘breaks’. To see if this is the case, right-click on a feature in the design tree, select ‘Feature Properties’, and look at the ’Date Created’ and ‘Last Modified’.
I hope this brief outline helps you better understand what’s happening when SOLIDWORKS files are updated. Now you know that upgrading to the latest and greatest version of SOLIDWORKS may not be a case of the SOLIDWORKS Release Broke my Part. There may have been a problem all along.