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.
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:
- 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
- Assembly file (see Figure 2):
- Has 5 instances of the part as a component
- Each instance refers to a different configuration
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).
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.
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.
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).
Notice in that in Figure 7, in SOLIDWORKS 2020, the 2019 assembly can open in Lightweight mode.
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:
- Initial Graphics Load (the graphics data saved in the assembly file is displayed)
- Component Load
- Update Assembly
- Resolve (this was a strange message displayed on the Open Progress Indicator in SOLIDWORKS 2019)
- 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:
- Reboot Windows
- Terminate startup processes that require CPU, RAM or I/O like Dropbox or OneDrive
- Wait 5 minutes for all other startup processes to complete
- Open SOLIDWORKS
- Open assembly
- Record time required for each opening phase
- Close SOLIDWORKS
- Repeat steps 1 through 7 three times
- Average the results
Default Configuration, Resolved
The average results are presented in Figures 9 through 13.
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).
Default Configuration, Lightweight
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.
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.
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
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
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.