Why SOLIDWORKS Mates Can Cause Slow Assemblies

Article by Ryan Cole on Jul 10, 2023

Are long rebuild and load times plaguing you when working with large assemblies? As SOLIDWORKS has grown to dominate the mechanical CAD industry, we have watched it work with parts ranging from simple to complex, small assemblies to large machines, and even getting into facility layouts. In the early 2000s, an assembly of a few hundred components was considered huge. Now I work with assemblies containing tens of thousands of components and have seen assemblies soar to 750,000 components. Yes, nearly a million components in a single assembly! 

Why SOLIDWORKS Mates Cause Slow Assemblies

Suggested Article  >>  7 Ways to Improve SOLIDWORKS Large Assembly & Drawing Performance

At a certain point, SOLIDWORKS will start to show some weakness. Large assemblies will take forever to open, and rebuilds will start to take an inordinate amount of time. As a user, what can we do? 

Buy new hardware? Sure, but in the long run, there are diminishing returns on hardware. If your current hardware is old, this  may  help. If your hardware is new, this might  not  help. In most cases, significant reductions in rebuild and opening times are due to assembly management, not hardware procurement (specifically, in managing geometry and assembly mates). 

Suggested Article  >>  Best Workstations for SOLIDWORKS: Hardware Configurations

This article discusses assembly mates in SOLIDWORKS and how using them thoughtfully can improve assembly performance.

Dispelling Assembly Myths

Let’s dispel a SOLIDWORKS myth we’ve all heard: “You must ensure that all of your components are completely defined in your assembly”. 

Why? In most cases, it boils down to it being easier to guarantee everything is accounted for in the assembly and that it reduces the number of calculations needed for "loose" parts that can move. This is where the myth comes in. 

The heaviest calculation operation happening in a large assembly is mates; requiring both CPU and memory. Mates are calculated when you open, when you rebuild, when you switch back and forth between files, and in some cases when you save. Also, unlike part files, where rebuilds are done in an ordered, sequential process, mates are calculated in an exponential process. 

Let me try to explain it a little better.

When parts are rebuilt, the calculations start at the top of the FeatureManager design tree and progress down sequentially. 

SOLIDWORKS Parts in the FeatureManager Design Tree

In an assembly rebuild, the calculation accounts for any geometry changes and then calculates mates. But instead of doing this sequentially, every mate is calculated against each other, making it exponential!

SOLIDWORKS Mates Calculation

As you can see, it's a bit of a mess! The key point here is that mate calculations are exponential by nature, and ultimately, it doesn’t take much for the calculations to become burdensome for the computer and for you. 

Let’s look at a practical example:

Understanding Mates in SOLIDWORKS Large Assemblies

Imagine a machine. In this machine are 1,000 fasteners (bolts, screws, washers, nuts, etc.). If all the fasteners were fully defined, you would be looking at 3,000 mates: one concentric, one coincident, and something to keep the fastener from spinning.   

But we’re not done. Remember that this calculation doesn’t just happen once. Instead, it happens 3,000 times, once for each mate. 3,000 squared comes out to 9 million (9,000,000) calculations that must happen to support all the mates. That’s just for the fasteners!  

Now, we’ll make a slight adjustment. Let’s remove the mate keeping the fasteners from spinning, keeping only the concentric and coincident mates. The total quantity of mates for the fasteners is now 2,000, one-third fewer than before. Now we do the same math for those mates and we get a total of 4 million (4,000,000) calculations.  

By reducing the number of mates by a third, we get a calculated savings of well over fifty percent, 56% to be exact. Plus, a rough calculation comes out to about 3,000 fewer clicks of the mouse! Oh, and before you talk about the  Lock Rotation  option in the mate, that acts as a mate, too, and is calculated the same way. In short: Lock Rotation does not get around this!

What SOLIDWORKS Says About Mates in Large Assemblies

The SOLIDWORKS Knowledge Base has Solution S-06266, which, while lengthy, has the following to say about mate calculations: 

SOLIDWORKS Knowledge Base Solution S-06266

Solutions S-021770 talks about the benefits (or lack thereof) of having all components fully defined:

SOLIDWORKS Knowledge Base Solution S-021770

Small changes in how you use mates can significantly impact open time, rebuild time, file swapping, drawing times, and more. Remember, calculation times for mates use CPU and are memory intensive, and buying more powerful hardware only works to an extent before hitting diminishing returns. However, you can take an active role in managing what you can with an assembly by managing mates. 

So, Should You Fully-Define Assemblies With Mates? 

In conclusion, while mates are necessary, they need to be used with some understanding of what they can cost you as a user. Learn more about large assembly management by taking the  SOLIDWORKS Assembly Modeling training course, or you can take a deep dive into all aspects of large assemblies by taking the Self-Paced Large Assemblies class both offered by GoEngineer. 

Additionally, join the GoEngineer Community to participate in the conversation, create forum posts, and answer questions from other SOLIDWORKS users. 

SOLIDWORKS CAD Cheat Sheet

Our SOLIDWORKS CAD Cheat Sheet, featuring over 90 tips and tricks, will help speed up your process.

 

 

 

More SOLIDWORKS Tutorials

How to Open Large Assemblies in SOLIDWORKS

Great SOLIDWORKS Selection Tool for Large Assemblies

Introduction to SOLIDWORKS Mates: Standard, Advanced, & Mechanical

SOLIDWORKS Magnetic Mates Explained

Show Sheet Metal Bend Lines in a SOLIDWORKS Drawing

VIEW ALL SOLIDWORKS TUTORIALS

 

About Ryan Cole

Ryan Cole is an Elite Sr. Applications Engineer and Trainer at GoEngineer, with 24+ years of experience in design engineering specifically using the SOLIDWORKS line of products. Ryan has utilized SOLIDWORKS since 1995, when he became one of the first SOLIDWORKS users in Michigan. He has a long history of supporting and using SOLIDWORKS for mechanical, structural design, and FEA in Automotive, Robotics, Emergency Vehicles, Defense, Custom RV Chassis’, Aerospace, and manufacturing line development. Along the way, Ryan has worked in roles as a Sr. Designer, Lead Engineer, FEA Engineer, and Product Manager. He is well versed in various material properties and engineering/manufacturing requirements, such as engineering change, design review, supplier development and support, ASTM, GD&T, APQP, QS9000, TS16949 and implementation of PDM systems. First exposed to this industry 29 years ago, Ryan’s grandfather, Mr. Cole, taught him how to draft on a board the old-school way, with a pencil and scale, when he was in his teens. He moved to the modern technology of 2D design shortly after, and began 3d design the first time he was employed by a SOLIDWORKS VAR more than two decades ago. Ryan’s work on large assemblies can be seen in Visualize, as his model of the LEGO Millennium Falcon was chosen for the splash screen. In his spare time he enjoys hiking, swimming, reading sci-fi, studying astronomy, physics, and modeling Legos in SOLIDWORKS. He pretends to enjoy doing his wife’s honey-do lists on the weekends. They have been together almost 30 years, with one child, Gracie, and 2 guinea pigs. They enjoy exploring nature, science, history, and working on their new house together. Certifications: Elite, CSWA, CSWP, and CSWE

View all posts by Ryan Cole