According to Murphy's Law, file corruption will occur shortly before a deadline. Nobody wants to redo work they've already done with the clock bearing down on them. Regardless of what caused a file to become corrupt (random network glitches, bad geometry imported from other CAD formats, power fluctuations, improper shutdowns, sunspots, ancient curses) SOLIDWORKS provides some powerful tools to help us find and fix problems. If an assembly won't open the problem is most likely an individual component of that assembly. To fix it, first we must figure out which one it is. Or just let SOLIDWORKS do it for you!
Auto Repair Function
SOLIDWORKS 2017 added an automatic function for repairing corrupted files. If you try to open a corrupt file it may be able to repair, a dialog box will ask Would you like SOLIDWORKS to attempt to repair the file? Give it a shot! The tool attempts to identify damaged segments, remove them and save a copy of the original. If damaged components were removed, the repaired assembly will open without them. You can take it from there.
Restore from a Backup
If you have Auto-recover and Backup options enabled, and the corruption happened recently, you may be in luck. Try restoring from the file paths listed under Options > System Options > Backup/Recover.
If Auto Repair fails and a backup copy is either not available, too out of date or also corrupt, all is not lost. We have yet more tools at our disposal.
Advanced Configuration Method
My favorite way of finding a corrupt component is by creating a troubleshooting configuration from the Open dialog box. This method has been available since SOLIDWORKS 2012, so if you're behind by a few releases you can still get the job done. Use the following procedure:
- Launch SOLIDWORKS with no files open. Click on Open.
- Browse to the assembly which won't open and select it, but do not hit Open yet.
- From the Configuration drop-down menu select Advanced.
- Click on Open to bring up the Configure Document dialog box.
- Select New configuration showing assembly structure only and type in the name of your choice.
- Click Ok to open the assembly in the new configuration with all components suppressed.
- Right-click the first component in the tree and select Set to Resolved.
If the base component loaded successfully, work your way down the tree resolving components until you find one that fails. If it's a subassembly, repeat this procedure on that file to narrow down which component is corrupt. If you find a corrupt part, you can remove it from the assembly and replace it as you see fit.
Large Design Review Mode Method
This handy feature was also added way back in SOLIDWORKS 2012 so even large assemblies can open very fast. Only the bare minimum component data is loaded in memory, just enough for the assembly to be displayed and examined.
This method loads more data than the Advanced Configuration method does, but it's still likely to work for troubleshooting. A major difference here is you'll be able to see the components before you fully load them into RAM. Use the following procedure:
- Launch SOLIDWORKS with no files open. Click Open.
- Browse to the assembly which won't open and select it, but do not click on Open yet.
- Under the Mode settings select Large Design Review, then open the file.
4. Click Ok on the Large Design Review popup if it appears.
5. Click on Selective Open on the Large Design Review Command Manager tab.
- Select a part in the FeatureManager Tree you think is probably not corrupt, then click on Open Selected.
If you got this far you will no longer be in Large Design Review mode. The part you selected will be fully loaded into memory and all other components will be hidden. A popup will warn you about hidden components note being loaded in memory.
Under normal circumstances hiding components only makes them invisible to us, but all the data is still in RAM for SOLIDWORKS to use. With this method you can start showing components one by one, and as each is shown it will also be fully loaded. When one of them fails, you have found your corrupt component.
I suggest expanding the Display Pane to speed this job up. (Small flyout arrow at the top right of the Manager tabs above the tree.) Instead of selecting components one at a time and picking the creepy eyeball icon from the popup toolbar, you can toggle hide/show status with one click. However, it may not be available if you didn't select the Edit assembly checkbox next to Large Design Review in the Open dialog box.
Inserting the Assembly as a Subassembly
If you find you can't open the assembly at all, but you can load all the subassemblies and other components individually, there is a good chance your SLDASM file itself is the problem. You may still be able to salvage your work without re-creating the assembly. Use this procedure:
- Launch SOLIDWORKS with no files open.
- Create a new, empty assembly using the same template as the corrupt assembly, if possible.
- Insert the corrupt assembly into the new one as a subassembly. Hit the green check without dropping the assembly in the graphics area to automatically fix the assembly origins and default planes together.
- Right-click the subassembly in the FeatureManager Tree and select Dissolve Subassembly to move its components to the top level of the new assembly.
- Save the new SLDASM file with a new name, and test to make sure it works.
In rare cases when none of these methods work, it’s possible SOLIDWORKS Technical Support can recover a corrupted file. This often fails, and even when successful processing the service request will take a few days. In many cases recreating the assembly is the best option. But using the above methods, there's an excellent chance you won’t have to burn the midnight oil to make that poorly timed deadline.
If you want to learn more about assemblies in SOLIDWORKS, watch our on-demand webinar TriMech Tips and Tricks: Assemblies, where our Application Engineer routs out a multitude of tips and tricks he has learned from many years of experience.