Getting the Best Performance When Working with Large Assemblies
In this article, I will cover many of the tools that can be used to increase performance when working with large assemblies. While this article is geared towards SOLIDWORKS 2016, many of the topics covered apply to all releases.
Whenever performance is discussed, we need to consider hardware. Hardware is our ceiling. No matter how well we tune the software, we will always be limited by the hardware when working with any graphically or numerically intensive software.
- RAM (random access memory): Whenever a program is loaded or a file is open, they are loaded into RAM. Generally, RAM is much faster than reading data from the hard drive. While solid-state drives have narrowed the performance threshold, most programs still make use of RAM. The number of programs you run and the number of files you have open will dictate the amount of RAM you need. At minimum, I would suggest 16 GB, but if you work with very large assemblies you may want consider 32 GB or more.
- GPU (graphics processing unit): SOLIDWORKS publishes a list of certified video cards and computers. Video cards range in price from a few hundred dollars to a few thousand. A consideration when deciding on a video card is amount of detail in your parts, assemblies and drawings. While you may not need a super-high-performance video card, I would also recommend against going with an entry-level card.
- CPU (central processing unit): For most applications, this is where you’re going to get the most bangs for your buck. If you are on a tight budget, this where you may want to consider spending most of your money.
- Hard drives: Read/write operations such as save and open rely on the speed of your hard drive. Full- or poorly-maintained hard drives can have a significant impact on performance. Scheduled defragmentation can maintain or increase performance. Solid-state drives offer better performance, but they are generally more expensive and may not have the lifespan of a traditional, magnetic hard disk drive (HDD). Even among HDDs, there are differences in performance.
- Network versus local drives: Many people work from network drives. In this environment, you are at the mercy of your network’s performance. Even fast networks can bog down during periods of high network traffic. Generally, working from a local drive will offer superior performance.
- External drives: USB 3.0 is not bad, but performance on USB 2.0 or older is generally poor.
- Older systems: That system that was a rocket five years ago is most likely a dog compared to newer systems. New releases of SOLIDWORKS take advantage of the capabilities of these newer systems. Also, over time, hardware will degrade. After three years maximum, it’s time to look for a newer system.
Some of tasks that are done in SOLIDWORKS can also be accomplished outside of the software. This can eliminate the need to load a large assembly.
- SOLIDWORKS Explorer can be used to perform file management tasks such renaming, replacing and moving files. Pack and Go can be used to start a new project from existing files, and file properties can be updated in Explorer.
- In Windows Explorer, you can right-click on a SOLIDWORKS file, and under the fly-out, you can accomplish some of the same tasks found in Explorer.
- Task Scheduler can be used to batch print, update properties for multiple files and convert legacy files to the latest version of SOLIDWORKS. Legacy files can take much longer to open as the underlying features are updated. Batch converting these files can eliminate longer opening times when these files are opened in the newer version of the software for the first time. I would strongly recommend backing up any files, before batch updating. In rare cases, files can become corrupt during the update process.
- Tree house allows you to build assembly hierarchy in a graphical user interface before you start building your models. You can:
- Add existing files to the hierarchy structure
- Edit file properties
- Add configurations
- Suppress components and instances
There are several system options that can increase performance.
- Verification on rebuild: If all else fails, this option can be disabled to increase performance. This option enables an enhanced level of error checking. I usually like to keep this on, as this can catch errors during a rebuild that may otherwise be missed. If you do find the need to disable this tool, keep it in mind if your components are not rebuilding as expected.
- “Automatically load components lightweight”: In simple terms, “lightweight” components only load the portions of a component that are required for assembly functions, such as mating, mass properties, interference detection and collision detection. There is no real drawback on loading components lightweight, so all assemblies can be loaded lightweight.
- Large Assembly mode: This mode triggers what events can occur when an assembly exceeds a certain number of files. Large Assembly mode will load components as lightweight.
What defines a Large Assembly will depend on variables such as system capabilities and the complexity of the components in your assembly. Setting this threshold will require some experimentation.
- Large Design Review: As the name implies, Large Design Review provides the ability to review an assembly without having to load an assembly. With Large Design Review, you can:
- Navigate the FeatureManager design tree
- Measure components
- Perform cross-sections
- Hide/show components
- Take “Snapshots” of an assembly
- Create, edit and play walk-throughs
- Isolate components
In addition to the system options, SOLIDWORKS includes the following tools to increase performance when working with large assemblies.
- Performance Evaluation: Formerly known as Assembly Expert, this feature analyzes the performance of an open document and can provide suggestions on how to increase performance. Some of the recommendations, such as turning on Large Assembly mode, can be done directly from the Performance Evaluation window.
- Display States: These have some similarities to configurations, but only apply to the visual properties of components.
- Components’ visibility, display mode, appearances and transparency can be saved in Display States.
- If components are hidden, they can be unloaded from memory by right clicking on the top-level assembly in the Feature Manger. Unloading components will increase performance.
- Unlike suppressing of components, mates are not affected by unloading of hidden components.
- Display States can be chosen when opening an assembly. Any components hidden in the selected Display State will not be loaded.
- There might be a greater delay when showing hidden components that are not loaded. This delay is due to the file being loaded into memory.
- Selecting components to hide can be simplified by the use of the “Select” tool. For example, the filters available from the “Select” pull-down can be used to select all Toolbox components.
- SpeedPak: This is a configuration option that simplifies an assembly without breaking any references. The user identifies which surfaces and bodies are to be loaded in the SpeedPak. Typically, these faces and bodies are ones required for mating. For example, I have a motor that I wish to mount on a frame. The motor is a complex subassembly that would normally require a large amount of system resources. By only evaluating the faces that are necessary to mount the motor on the frame, I can increase performance of the main assembly considerably.
- Purge Unused Features: This is new to SOLIDWORKS 2016. This tool allows you to:
- Selectively delete features and components that are suppressed in all configurations of a model.
- Delete unused reference geometry and sketches that have no child references.
- Assembly Structure: This can have a large impact on performance.
- Working with some smaller subassemblies, instead of a large single assembly, will increase performance. Planning ahead to break your assembly into subassemblies is not always possible. Luckily, SOLIDWORKS has tools to restructure the assembly after the fact.
- While motion in your subassemblies can be useful, having this motion at the top-level assembly increases the number of mates that have to be evaluated. When motion is not required, set your subassemblies to rigid.
- Mates: Every single mate needs to be evaluated.
- Minimize the number of mates. If motion is not required, consider fixing components instead of mating them. The “Use for positioning only” option (in the mate dialogue box) can be used if you with to position a component without adding mates.
- For components that move together, the “Lock” mate function can reduce number of mates that are required.
- If you want to stop a fastener from rotating in its tapped hole, don’t add a parallel mate. Instead, use the concentric mate and check the “Lock rotation” option.
- Rebuild errors will decrease performance. Fix errors as they occur.
- Modeling practices at the component level can affect assembly performance. Consider using simplified configurations that remove excessive detail that is not required at the assembly level.
- Defeature: This is a possible alternative to creating simplified configurations of components. With this tool, a new part or assembly can be created in which unnecessary detail is removed. This tool can remove feature details, such as sketches and feature definitions. This will result in “dumb” solids. Removing the feature information will increase performance, as there is less information to evaluate.
- Open dialogue box: When opening an assembly, you can:
- Choose which Display State that will be loaded
- Open the assembly in lightweight mode
- Open the assembly in Large Assembly mode
- Launch Large Design Review
- Use SpeedPak assemblies
In this article, I have provided an overview of tools at hand that can be used to increase large assembly performance. More information on these tools can be found in the help menu. In order to maximize the use of these tools, nothing beats training. Most resellers offer standardized and customized training in working with assemblies. Assembly and part modeling courses are a must for anyone wanting to become proficient in the basic use of SOLIDWORKS.
About the Author
Joe Medeiros is a senior applications engineer at Javelin Technologies, a SOLIDWORKS reseller servicing customers throughout Canada. Medeiros has been involved with SOLIDWORKS since 1996. He regularly blogs about the product and has won awards for his blogging.