Improving Large Assembly Performance
A lot of us know that as our assemblies grow in size, their performance starts to go down. Things start to get slower and slower, whether it is opening the files, or simply rotating, panning, or zooming in and out. So that is why I decided to present solutions for those people still running into performance issues with their assemblies in SOLIDWORKS. This post will be part one.
Part one starts us off with commercial items (bearings, motors, etc.) and the common mistake I still see when it comes to large assemblies. People will typically download these components from some catalogue library, and then just use them exactly as they are. They plug them into their assemblies as subassemblies and with all the detail they come with. Now although this may be the fastest way to get your assemblies put together, it comes with a price. As you do this with more and more of your commercial items, the more and more you will find that your assembly performance goes down.
So, what is the solution? To Simply clean up those commercial item files. And there are several things you can do. First and foremost, make sure there are no surface bodies. Use your Import Diagnostic tool to repair any bad edges, faces, or gaps, in order to get back to a perfect solid body, or bodies. Second, delete any internal components that you don’t really need. Third, save that subassembly as a part file. Fourth, you can go that extra step and combine all those bodies into a single body using the Combine command. And finally, delete all unnecessary detail using the Delete Face command.
Combining parts to form a single body will be less computationally intensive. For example, a standard part or commercial item, like the bearing housing you see below, can be Saved As a single part, which will then contribute to performance gains throughout. You can accomplish this by simply saving an assembly as a (.sldprt) file.
⇓ Save as Part file ⇓
Once I save my commercial item assemblies as part files, I then go in and delete all the unnecessary detail, like all of the rolling elements, retaining rings, or any other internal component. The next step is taking what is left and combining it into one solid body by using the Combine command, as you see in the picture above. And finally, I remove all the unnecessary detail, like the emboss of the manufacturers name and/or part number. I do this using the Delete Face command.
Now to put it to the test, I took both the original commercial item subassembly, and my newly created single part file, and I created two simple assemblies, as seen below. Now of course, these assemblies are nowhere near the size of your typical ‘large assembly’, but it still shows a difference in open time performance. The first is an assembly using the original file. It took 4 seconds to open. The second assembly uses my cleaned up commercial item. This one only takes 1 second to open. Now imagine if you had hundreds of these littered throughout an assembly. Imagine the time savings you can get back for taking the extra time to clean up all of these commercial items.
Assembly with original bearing housing…
4 Seconds to open.
Assembly with ‘cleaned up’ bearing housing…
1 Second to open.
So, if you are having issues with large assembly performance, and you are currently using many commercial items, maybe now is the time to get someone in there and clean those up. The less detail, the better the performance. And besides, those items are usually just going along for the ride anyway. They are there so we can attach balloons and part numbers, and so we can just add them to our Bill of Material. So, I hope this helps with some of your large assembly performance issues. Stay tuned for my next post which will be Improving Large Assembly Performance, Part Two.
Sr. Applications Engineer
Computer Aided Technology