Techniques for Opening Corrupt Assemblies

The Dreaded Error Message
Stop me if you’ve heard this one: “SolidWorks has encountered an error and needs to close”. Have you ever tried to open an assembly and encountered this error? Fortunately, it happens rarely, and many SOLIDWORKS users have never experienced this error. For those who have, it can be very frustrating.

The error is more common with assemblies and even more so with assemblies that contain components imported from other CAD programs or downloaded from the internet. In such situations, there are two techniques that can help you open the assembly and salvage most of your work. This blog will explain these techniques.

The Large Design Review Technique
This technique is the preferred method to troubleshoot an assembly that won’t open if you suspect there is a part in your assembly causing the problem. When opening the assembly, select the assembly file, set the Mode to Large Design Review (see Figure 1), then click Open. If you’ve never used Large Design Review before, you will see a window that describes its benefits. Feel free to click OK once you’re done reading, and check the option to “Don’t show again” if you prefer.

Figure 1: Setting the Mode to Large Design Review.

When your assembly opens, only the visual information needed to display the assembly is loaded into memory. None of the parts are actually open yet. If you’ve gotten this far, it means there’s a good chance your assembly file is recoverable, and it’s one of the components which are gumming up the works. Now it’s a matter of trying to figure out which component is the culprit.

On the Large Design Review Command Manager, look for the command for Selective Open and click it (see Figure 2). Once you’ve done that, the Selective Open window will appear. It should default to “Selected components”. Select a component you are fairly confident has no problems, either from the work area or the FeatureManager component list on the left side of your screen, and then click the Open Selected button on the Selective Open window.

Figure 2: Selective Open

What happens next is interesting, and a somewhat unique situation. An informational message appears which talks about display states and hidden components. Let’s focus on the matter of the hidden components, as that is what is important for our discussion.

Figure 3: The “Selective Open” informational message.

Normally, when a component in an assembly is hidden, it stays loaded in memory (RAM). The SOLIDWORKS user can no longer see the component, but SOLIDWORKS does. Likewise, all of the component’s mates remain in place and any assembly motion that existed prior to hiding the component will remain. Nothing much has changed, we just can’t see the component any longer.

When using Selective Open, the hidden components never have the chance to get loaded into RAM. This functions as a great troubleshooting aid. As components are shown, they are loaded into RAM. This allows you to take note of exactly when the problem occurs. If a component is shown, and an error occurs, you know you’ve found the problem (or at least one of them). A typical solution at that stage would be to then attempt to open the part on its own to confirm the issue, or rename the component prior to opening the assembly. SOLIDWORKS won’t be able to find the part, but hopefully the assembly opens. The problem component will be suppressed, and further action can be taken as you deem appropriate.

Inserting the Assembly as a Sub-assemblyIf there is a problem with the assembly itself, but the components are okay, you may get lucky with an easy fix. This technique is extremely easy to implement, so what have you got to lose?

Start a new assembly using the same units as the original. Next, insert the problem assembly as a component. During the insertion process, you can click OK in the Insert Component PropertyManager and the assembly should drop right on the new assemblies’ origin point. Finally, right click on your newly inserted sub-assembly component and select the Dissolve Subassembly command.

Both techniques are not solve-all solutions for every problem assembly. Sometimes there will be other factors which will not allow for using these techniques, but at least you now have a few more tools in your tool belt which may help in a problem situation.