LOADING

Type to search

Large Assemblies Open Faster Than Ever in SOLIDWORKS 2020

CAD

Large Assemblies Open Faster Than Ever in SOLIDWORKS 2020

Every September, the most passionate SOLIDWORKS users cannot wait to get their hands on the What’s New document for the latest release of the most popular 3D parametric software.

This year, the SOLIDWORKS 2020 What’s New manual is 221 pages, so there is a lot to read. This month and the next, engineersrule.com will host many articles describing in detail what new tools are in SOLIDWORKS 2020 and how you can develop new techniques for using them.

If you are a power user, you will most likely read the manual and related blog posts, then start trying all the enhancements that are relevant to you. It will require quite a lot of time and effort, but it will be worth it.

The enhancements I like the most are the one that require no reading or training but have a huge positive impact on the software’s performance. You simply upgrade the software and your professional life changes.

This year, the users of large assemblies and their product data management (PDM) administrators are the big winners of this release. The users will be able to open their assemblies faster than ever before, while PDM administrators will spend less time upgrading the library files in the file vault.

Background

To understand what exactly has changed in the software, let’s consider a common setup in a typical engineering team using versions of SOLIDWORKS earlier than SOLIDWORKS 2020:

  • The team has been using SOLIDWORKS for several years.
  • Every year they create thousands of part and assembly files.
  • Once the files are released for production, they become read-only and are not supposed to be modified without an engineering change request (ECR).
  • Since the software is upgraded periodically, the files stored in the file vault are saved with different version formats (i.e., SOLIDWORKS 2016, SOLIDWORKS 2017 and SOLIDWORKS 2018).
  • A new assembly created in the current version (i.e. SOLIDWORKS 2019) could contain existing components saved in earlier versions. Since these files are read-only, when the assembly is saved, those components are not modified.
  • Some of the components saved in earlier versions of the software have several configurations.

In the setup just described, the users are usually not very happy to work with large assemblies. They know that when they open assemblies or drawings referencing older components with multiple configurations, they must be prepared to wait. Opening such a file is a great excuse to grab a new cup of coffee. (Maybe that’s why many of us are so jumpy.)

These are some of the symptoms these users experience:

  • Long opening times for assemblies.
  • Unnecessary rebuilds needed by the assemblies.
  • Unnecessary views of updates needed by drawings.
  • Even when they attempt to open the assembly in Lightweight mode, it will still need to resolve some of the older components.

How SOLIDWORKS Used to Process Read-Only Files Saved in Earlier Versions

When a part or an assembly has several configurations, the user could choose to rebuild some or all of the configurations before saving the file. By rebuilding the model in a given configuration, the geometry is generated for future use. We call that the “body data.”

When an assembly loads the component in one of its configurations for which the body data has been saved, the loading process is very fast—It’s like going to a bakery and buying a cake that’s already on the shelf. The body is there; there is no need to wait for it to be baked.

When the body data is missing, the assembly opening process stops and a rebuild of the component is triggered. Imagine going to the same bakery and ordering a cake and then having to wait a week for it to be ready. They have the recipe (features) and will use it to bake the cake (the body data). It just takes time. Are you prepared to wait?

If the component was saved in an earlier version, when the assembly loads the component in any non-active configuration, it will trigger a rebuild regardless of whether the body data has been saved or not! Before SOLIDWORKS 2020, the assembly simply could not use the configuration body data saved in earlier versions.

The consequences of this are unnecessary rebuilds, drawing view updates and a lot of wasted time. Since the components are usually read-only, even if the assembly is saved, the components would not get converted to the current software version. Because of that, the whole process repeats the next time the assembly or drawing is opened.

Until now, the only solution was for the PDM administrator to upgrade all the commonly used files in the vault—every time the software was upgraded. For large vaults, that is a daunting task, even with the automated batch processing available today. It is no surprise that many companies do not go through the upgrade process, accepting the impact on end-user efficiency as something that is unavoidable.

SOLIDWORKS 2020 made a subtle change on how such components are read. The software will simply read the body data saved in the file, regardless of its version. A small change with a huge payoff for both the end user and the PDM admin. It is one more example of how Dassault Systèmes, through people like Nick Birkett-Smith, senior product definition manager for assemblies, and Jeff Niederman, R&D product definition manager, have listened to the constructive feedback of its users and act to alleviate their pain.

We wanted to estimate how much time users of large assemblies would save after upgrading to SOLIDWORKS 2020, so we performed several tests.

Test #1—SOLIDWORKS 2018 Part File with 5 Configurations

For the first test, we created two files using SOLIDWORKS 2018:

  1. Part file (see Figure 1):
    • Complex geometry
    • Has 5 (five) configurations (16.5 seconds of rebuild time per configuration)
    • The body data is saved for each configuration
  2. Assembly file (see Figure 2):
    • Has 5 instances of the part as a component
    • Each instance refers to a different configuration
Figure 1. Complex SOLIDWORKS 2018 part with 5 configurations.
Figure 2. SOLIDWORKS 2018 assembly containing 5 configurations of the same component.

Notice that in Figure 2 each instance opens quickly, in less than half a second each. It is clear that no part rebuild is needed.

Moreover, File Explorer reports the assembly open time to be 0.08 second (see Figure 3).

Figure 3. The assembly open time in SOLIDWORKS 2018.

We opened the 2018 assembly in SOLIDWORKS 2019 and SOLIDWORKS 2020 and confirmed that the What’s New document is correct.

SOLIDWORKS 2019 Test

When opening the file in SOLIDWORKS 2019, it was obvious that something was not right. Take a look at the Open Progress Indicator shown in Figure 4.

Figure 4. Open Time in SOLIDWORKS 2019—taking 304 seconds!

The report from the Performance Evaluation tool revealed what actually happened (see Figure 5). The component instance, which used the active configuration saved in the part file, opened in 0.34 second. Each of the other instances took upwards of 20 seconds to load.

Figure 5. Performance Evaluation—the Open Time in SOLIDWORKS 2019.

We also attempted to open the 2018 assembly in Lightweight Mode using SOLIDWORKS 2019. The result was an assembly with all its components fully resolved.

SOLIDWORKS 2020 Test

When opening the same assembly in SOLIDWORKS 2020, the results were similar to the one recorded in the native release, SOLIDWORKS 2018. The assembly opened in 9 seconds!

Performance Evaluation reports the opening time for each instance to be 0.15 second (see Figure 6).

Figure 6. SOLIDWORKS 2020 opens components saved in older formats quickly.

Notice in that in Figure 7, in SOLIDWORKS 2020, the 2019 assembly can open in Lightweight mode.

Figure 7. Lightweight Mode in SOLIDWORKS 2020.

This was a lab test. What about performance with a real large assembly?

Test #2—Assembly with Over 80,000 Components, Saved in 2017 Format

For this test we used a large assembly provided by a company that partnered with us as part of a large assembly service. While we cannot post any pictures of the assembly, we can share the final results.

The assembly was saved in SOLIDWORKS 2017 format and contains a large number of Toolbox fasteners that have multiple configurations. These fasteners are present in the Default configuration of the assembly and they are suppressed in a NoFastener configuration.

The Default configuration contains 80,000+ components.

The NoFastener configuration contains 39,000+ components.

As we opened the 2018 assembly in SOLIDWORKS 2019 and 2020, we timed each phase of the assembly opening, using three tools:

  • Open Progress Indicator
  • Performance Evaluation (Generating Graphics)
  • File Explorer (SOLIDWORKS Open Time)

The results are presented separately for each phase:

  1. Initial Graphics Load (the graphics data saved in the assembly file is displayed)
  2. Component Load
  3. Update Assembly
  4. Resolve (this was a strange message displayed on the Open Progress Indicator in SOLIDWORKS 2019)
  5. Graphics Generation

The test protocol attempted to create reproducible results. This is what we did:

  • The assembly and its components were saved in SOLIDWORKS 2017 format.
  • Both configurations of the assembly have their body data saved.
  • There were no errors in the FeatureManager design tree.
  • We opened the assembly in both SOLIDWORKS 2019 and 2020:
    • Using Default Configuration with components Resolved
    • Using Default Configuration with components Lightweight
    • Using NoFastener Configuration with components Resolved
    • Using NoFastener Configuration with components Lightweight
  • We ensured that the System Options were similar between SOLIDWORKS 2017, 2019 and 2020.

The test protocol for each opening session was as follows:

  1. Reboot Windows
  2. Terminate startup processes that require CPU, RAM or I/O like Dropbox or OneDrive
  3. Wait 5 minutes for all other startup processes to complete
  4. Open SOLIDWORKS
  5. Open assembly
  6. Record time required for each opening phase
  7. Close SOLIDWORKS
  8. Repeat steps 1 through 7 three times
  9. Average the results

Default Configuration, Resolved

Figure 8. Default/Resolved—raw data.

The average results are presented in Figures 9 through 13.

Figure 9. Looks like SOLIDWORKS 2020 takes a bit longer to display the preview.
Figure 10. SOLDIWORKS 2020 loads components faster than SOLIDWORKS 2019.
Figure 11. Fewer components require updates in SOLIDWORKS 2020 compared to SOLIDWORKS 2019.
Figure 12. The initial graphics generation takes longer in SOLIDWORKS 2020 than in SOLIDWORKS 2019, but is faster than in the native version of the software.
Figure 13. The assembly opens faster in SOLIDWORKS 2020 compared to SOLIDWORKS 2019.

Opening time is just one of the important measurables. Even more important is how much time the user will have to wait for the graphics to regenerate during operations (e.g., mate, switch windows, add or remove components).

Figure 14. Operational speed is much better in later versions of SOLIDWORKS compared to the earlier ones.

Default Configuration, Lightweight

Figure 15. Default/Lightweight—raw data.
Figure 16. Essentially the same times for displaying the preview.
Figure 17. As expected, SOLIDWORKS 2020 loads lightweight components faster than SOLIDWORKS 2019.
Figure 18. Fewer components require updating in SOLIDWORKS 2020.
Figure 19. SOLIDWORKS 2020 also wins the initial graphics generation battle.
Figure 20. SOLIDWORKS 2020 loads the assembly three times faster in Lightweight mode compared to SOLIDWORKS 2019!

NoFastener Configuration, Resolved

Remember that in this top-level assembly configuration there are far fewer components that have multiple configurations, since all the hardware is suppressed.

Figure 21. NoFastener/Resolved—raw data.
Figure 22. Again, SOLIDWORKS 2020 needs an extra second to display the preview.
Figure 23. A small win for SOLIDWORKS 2020 during the component loading phase.
Figure 24. A big win for SOLIDWORKS 2020 in the update phase.
Figure 25. SOLIDWORKS 2020 takes longer on average to generate graphics, but there is a large variation of results in the three sessions: 39, 40 and 31 seconds.
Figure 26. Similar opening times for SOLIDWORKS 2019 and 2020 when most components are used in the active configuration and the assembly is opened Resolved.

NoFastener Configuration, Lightweight

The opening times for the NoFastener configuration in Resolved mode are similar for both SOLIDWORKS 2019 and 2020. You would expect the same to be true when opening this configuration in Lightweight mode. However, we were in for a big surprise as shown in Figure 27.

Figure 27. NoFastener/Lightweight—raw data.
Figure 28. Essentially the same times for displaying the preview.
Figure 29. Much faster component load time in SOLIDWORKS 2020.
Figure 30. SOLIDWORKS 2020 is almost 7 times faster in updating the components.
Figure 31. Much faster graphics generation in SOLIDWORKS 2020.
Figure 32. Impressive overall win for SOLIDWORKS 2020 in Lightweight mode.

When working with a real-life large assembly saved in an older format, SOLIDWORKS 2020 offers significant time savings—not only during the opening time, but also in operation.

Test #3—Assembly with Over 80,000 ComponentsSaved in SOLIDWORKS 2017, 2019 and 2020 Formats

We demonstrated that there are significant benefits when opening an earlier version file in SOLIDWORKS 2020. But what if all files are converted to the current version?

Let’s repeat the previous batch of tests with three different file sets converted to SOLIDWORKS 2017, 2019 and 2020 versions.

Default Configuration, Resolved

Figure 33. Default/Resolved—raw data (each file is converted to the format used by the software that opens it).
Figure 34. SOLIDWORKS 2020 takes an extra second to display the preview.
Figure 35. A small surprise. The earlier version loads components faster.
Figure 36. I wonder what SOLIDWORKS 2017 is busy with during the update phase?
Figure 37. Another small win for SOLIDWORKS 2020.
Figure 38. Later versions load the native assembly faster than SOLIDWORKS 2017.
Figure 39. A big win for the later versions with operational activities after the assembly is opened.

The conclusion after performing this test is that upgrading to SOLIDWORKS 2019 or 2020—and converting the files—provides a huge benefit compared to earlier versions of the software.

No Fastener Configuration, Default

Figure 40. NoFastener/Default—raw data.
Figure 41. That extra second for displaying the preview seems to be consistent for SOLIDWORKS 2020.
Figure 42. Again, the loading phase is faster in earlier versions of the software. Could this reflect a reporting error in the Open Progress Indicator?
Figure 43. Much faster update phase in the later versions of SOLIDWORKS.
Figure 44. Initial graphics generation is much faster in the later versions of SOLIDWORKS.
Figure 45. Again, the later versions of the software win big on overall opening time compared to SOLIDWORKS 2017.

Conclusion

If your team is working with large assemblies containing read-only components saved in earlier versions of the software, you will see significant time savings during the opening time as well as during operation.

The happiest person in your team will be you PDM or CAD administrator, since he or she might decide to forgo the bulk updating of your vault files.

That being said, if you compare the overall opening times shown in Figure 13 with those in Figure 38, it is clear that converting files to the latest version will still produce the best results.

A big thank you to Jeff Niederman, product definition R&D manager at SOLIDWORKS, for providing detailed insight into how the software works internally!


About the Authors

Alin Vargatu is a Process Improvement Consultant with an expertise on Large Assembly Performance, and an avid contributor to the SOLIDWORKS Community. He has presented 25 times at SOLIDWORKS World and tens of times at SWUG meetings organized by four different user groups in Canada and one in the United States. Alin is also very active on the SOLIDWORKS Forum, especially on the Surfacing, Mold Design, Sheet Metal, Assembly Modeling and Weldments sub-fora. His blog and YouTube Channel are well known in the SOLIDWORKS Community. Alin works for Javelin Technologies, the Canadian SOLIDWORKS VAR.

Punit Saini is a technical application engineering co-op working for Javelin Technologies, and a certified SOLIDWORKS Professional who works with and researches large assemblies. He is a space engineering undergraduate student at York university, whose interests lie towards innovations in space mining. Punit is avid fan of Dungeons & Dragons and plays it weekly, With the rest of his hobbies consisting of 3D printing and reading about the latest technological advancements.