In the first part of this series we looked at ways to get more out of your system by using approved hardware and advantageous software settings and options. SOLIDWORKS also has a number of features and options which can help you build more efficient models, and in return, put less strain on your machine’s processing power. It also provides methods of determining what features, or components, are consuming the most resources and lets us know what to focus on. Let’s take a look at some ways to build more streamlined models.
Versions of the Performance Evaluation tool are available for parts, assemblies and drawings. It yields a wealth of information on open and rebuild times plus a lot of other useful data which can help point you toward the features, components or views which are taking the longest to process. If your file isn’t responding like you think it should, use Performance Evaluation to figure out why. In the example below we see ‘Fillet2’ is responsible for nearly half the part’s total rebuild time.
This is another tool which can help you identify problematic components in an assembly. It includes a Performance Analysis tab which allows you to sort components by various properties including total graphics triangles and open and rebuild times. The components are color-coded to help zero in on issues.
Avoid Under Defined Components
Check your Feature Tree for sketches, features or components which are under defined and indicated by a minus (-) symbol before the name. When you add sketch constraints and assembly mates, you are restricting an element’s degrees of freedom. For example, a part which is fully defined is no longer free to move along, or rotate around, the X, Y, or Z axis. Its position in space is firmly established. If any degrees of freedom remain along or around any axis, the part will be marked as under defined. SOLIDWORKS will then spend extra time calculating its current position.
An assembly is fully defined once all its components and everything attached to it are being tied back to the point of origin. A sketch is fully defined once all its elements are. Sometimes leaving some degrees of freedom is necessary to meet design requirements, so reaching a fully defined state is not possible. In all other cases, strive to eliminate the dreaded minus (-) symbol.
Feature Freeze, aka the freeze bar, is one of the most under-utilized tools in SOLIDWORKS. It appears as a yellow/gold bar at the top of the feature tree, just below the part name. It's like the rollback bar's opposite number in a lot of ways. While all features below the blue rollback bar are suppressed, all features above the freeze bar are locked from editing and excluded from rebuilds. Frozen features are still active in the model, so their downstream child features are unaffected.
While the freeze bar is not available in assemblies, you can still use it to drastically improve assembly rebuild times. Open the parts which consume the most rebuild time and lock all their features by moving the freeze bar all the way to the bottom of the tree. Save and close the file while locked and its features will remain locked in the assembly. You can slash rebuild times to a fraction of what they were.
To activate the freeze bar you have to enable it, as it is disabled by default. Check the box at Tools > Options > System Options > General > Enable Freeze Bar.
Use Lock Rotation
Concentric mates and slot mates, as of SOLIDWORKS 2021, have a Lock Rotation option. This prevents a cylindrical part from being able to rotate on its axis and helps to fully define it. In the real world, we don’t care if a washer is free to rotate, but SOLIDWORKS cares if that degree of freedom is still there. You can access this option from the Mate property manager or by right-clicking one or more mates in the Mates folder. The center circle of the Concentric icon will be filled in if rotation has been locked as shown by ‘Concentric974923’ in the image.
Avoid Flexible Subassemblies
Subassemblies can have one of two ‘Solve As’ states. The default is Rigid, and the other is Flexible. A subassembly with under defined components, such as a set of wheels which are free to turn, will not be able to move in the parent assembly when set to Rigid. This prevents the assembly from having to solve for under defined subcomponents and subassembly mates. If the subassembly is toggled to Flexible, the subcomponents will be free to move but at a cost in rebuild time. Another problem with flexible subassemblies is they can’t be Lightweight. So when you don’t have to use flexible subassemblies, keep them set to Rigid.
The ‘Solve As’ state can be toggled in the Component Properties dialog box or from the shortcut menu in the feature tree. You can easily recognize existing flexible subassemblies by their variant of the standard assembly icon as shown by the ‘Leg&Wheels’ component below.
Avoid Assembly-Level Features
Within the Feature Tree, features rebuild in order from top to bottom. Assemblies also solve in order of the tree but solved in groups. Components are resolved first, then mates, then assembly-level and in-context features. Assembly-level features, such as component patterns, will be solved every time the assembly is opened. If an in-context feature at the bottom of the tree causes a change upstream, SOLIDWORKS may have to rebuild some components, mates, and features again resulting in a prolonged rebuild time. Assembly-level features are sometimes critical for our designs but sometimes you could get the same end result another way.
The example to the right, ‘Universal Joint’ assembly shown here, has two side plates. After the first is in place, you could insert a second instance into the assembly and add mates normally. Or, you could easily use a Mirror Components pattern and not have to spend any time adding more mates. But that would add an assembly-level feature and increase rebuild time more than the first option.
Avoid Circular References
SOLIDWORKS 2021 introduced an enhancement to the Performance Evaluation tool for assemblies. It now detects circular references, which are caused by components with external references to each other causing an infinite rebuild loop. This error causes SOLIDWORKS to waste processing power trying to solve the unsolvable. If you’re experiencing lags and seeing new rebuild icons pop up in the tree immediately after a rebuild, pull up Performance Evaluation and expand the Rebuild Performance section. If there are circular references which need to be fixed the tool will show you where to find them.
Avoid Modeling Text
3D text on a model drastically increases the number of faces and edges SOLIDWORKS has to process. If it doesn’t absolutely have to be included in the model, you might want to skip it. Or, consider using the Split Line tool to create a 2D rather than a 3D text feature. In the example below, Performance Evaluation reveals that the 3D text created by the ‘Wrap1’ feature is responsible for 80% of the part’s rebuild time, while the 2D text created by the ‘Split Line1’ feature is only 20%. Yet, compared to either of them, the base feature itself is negligible.
The Defeature tool creates simplified versions of parts or assemblies. They can then be saved as separate ‘dumb solid’ files lacking parametric feature history. SOLIDWORKS 2021 adds the ability to save a defeatured assembly as a derived configuration instead of a separate file. Either way they’ll load and rebuild much faster than the originals. You can then create an alternate ‘working configuration’ in a large, top-level assembly using the defeatured components to improve rebuild time.
To reduce file size and rebuild times, do not create more faces in your models than you need to. A completely accurate socket head cap screw with perfectly modeled helical screw threads looks really nice on screen. You’ll get to spend plenty of time looking at it during those long rebuilds. Especially when you have an assembly that’s chock full of them. This is why screws and bolts are normally represented with smooth shafts instead of threads. More faces mean more graphics triangles. As component instances in an assembly increases, the number of graphics triangles rises exponentially. This leads to serious degradation in display performance. The difference in file size can be as great as ~100 KB for a simplified bolt vs ~5000 KB for a bolt with accurate helical threads!
You can create simplified ‘working configurations’ of your parts or assemblies by suppressing features or components which consume the most processing power. A simplified configuration of a part could have cosmetic fillets, hole patterns or text suppressed. A simplified assembly configuration could also have all internal components suppressed or use simplified versions of complex parts.
Speedpaks are a special type of simplified derived configurations which can help boost performance of large, complex assemblies. Rather than suppressing some components, it creates a subset of the assembly data and does not lose references. The entire assembly can remain visible but much of it is a ‘ghostly’ representation consisting of un-selectable graphics. In the example below only the chess board is included in the Speedpak, so the pieces vanish as the cursor comes near.
Use Display States Instead of Configurations
Each configuration added to a part or assembly adds to file size and rebuild time, and switching between configurations requires a rebuild. Display states are an often-overlooked alternative. They do not significantly add to file sizes, and switching between one display state and another doesn’t require a rebuild. They are good for controlling the visibility, display mode, transparency, or texture of components. Look at the bottom of the ConfigurationManager and you’ll see where they’ve been hiding all along.
Unload Hidden Components
When you open an assembly in Lightweight or Resolved Mode from the Open dialog box there is a Load hidden components option which is checked by default. This tells SOLIDWORKS to load the data for any hidden components into memory just like all the other active components. If this is unchecked they won’t be loaded into memory unless made visible. In an assembly which is already open, you can right-click on the top-level item in the feature tree and select Unload Hidden Components to free up some RAM.
Assembly mates are not all created equal. At least where solve time is concerned. Generally speaking, the simpler the mate the faster it will solve. When you have a choice of how to mate components, err on the side of simplicity. Pick coincident, concentric, colinear, etc. over mates which require a little more input like angle, distance and limit mates. Mating directly to feature geometry and the default reference planes is faster than mating to reference geometry. Since assembly-level features, such as component patterns, solve after mates, mates attached to patterned components will lead to some amount of backtracking and slower rebuilds.
Fix Errors Immediately
When warnings and errors appear in the tree, don’t plan to keep working and worry about fixing them later! Problems build on each other. An unsolved issue early in your workflow can invalidate work which came after it, costing you more time in the long run. Remember, it doesn’t matter how nice the roof looks if the foundation is wonky!
Understanding what’s going on ‘under the hood’ with SOLIDWORKS can help you plan ahead for modeling success. Making good choices with your modeling techniques you can optimize your models for performance. Knowing what tools and options you have available is essential to making those good choices.