Making a huge, multi-level assembly actually run

Use this space to ask how to do whatever you're trying to use SolidWorks to do.
bleocc
Posts: 1
Joined: Wed Aug 18, 2021 12:08 pm
Answers: 0

Making a huge, multi-level assembly actually run

Unread post by bleocc »

I have a huge assembly, made up of sub-assemblies, made up of sub-sub-assemblies etc with thousands of individual parts. I have large assembly mode on, but any slight action takes long minutes or freezes and shuts-down SW completely. There is a lot of info about this online, but it's frequently conflicting information
I need the dimensions to retain a high degree of accuracy, and several of the sub-assemblies need to be moving and have configurations. I figure I have several options to speed the main assembly up
• Remove as many details as possible, including removing all fixings and filling fixing holes
• Remove from PDM
• Save individual assemblies as parts
[indent][/indent]o Exterior faces only?

Any other tips? I’m not sure about the speed effectiveness of saving assemblies as parts as they would be very detailed parts and may take the main assembly out of large assembly mode?
User avatar
matt
Posts: 1581
Joined: Mon Mar 08, 2021 11:34 am
Answers: 19
Location: Virginia
x 1214
x 2365
Contact:

Re: Making a huge, multi-level assembly actually run

Unread post by matt »

There are as many different ways to solve these problems as there are to create them, and yes, some of the solutions are contradictory. Search out presentations done by Alin Vargatu. He is the one large assembly source I would trust.

Here's a list of things I'd check for:
- circular references
- in-context references
- assembly features especially ones with errors
- mates, especially ones with errors
- part features, especially ones with errors
- mates to assembly features
- in-context features related to assembly features
- turn off Verification on Rebuild
- flexible subassemblies make the top level run slow
- close down drawings, subassemblies and parts while working in the top level
- turn down the display quality
- simplified configurations
- transparency slows down the display
- shaded is the fastest (as long as your video card is up to snuff)

There are lots more, but that's a fast list. Some of the things you're asking for are things that will cause it to slow down. You might have to see where you can be a little flexible in your requirements.
Uncle_Hairball
Posts: 194
Joined: Fri Mar 19, 2021 12:21 pm
Answers: 2
x 37
x 95

Re: Making a huge, multi-level assembly actually run

Unread post by Uncle_Hairball »

Subassemblies seem to decrease rebuild times significantly vs. top-level parts.

Use of small patterns, when possible, is much better than individual components and mates. Large patterns can significantly slow rebuilds. Better to use small patterns of small patterns.
User avatar
Glenn Schroeder
Posts: 1518
Joined: Mon Mar 08, 2021 11:43 am
Answers: 23
Location: southeast Texas
x 1754
x 2126

Re: Making a huge, multi-level assembly actually run

Unread post by Glenn Schroeder »

Welcome to the forum. I wouldn't try saving Assemblies as Parts, but if you have any Parts with intricate details that you don't need in the Assembly that can be suppressed it can help quite a bit. Threads on nuts and bolts are a great example. Unless I need to show threads in a Drawing I don't even put them in my hardware, and even then the Part will have a configuration with the threads suppressed, and I use that configuration in Assemblies.

Are your files saved locally, or on a network drive? If they're external then the connection can make a big difference. When I was working from home, with files on our network drive, it was several orders of magnitude slower than when I got back to working on-site, where I was hard wired into the network.

Also, what kind of computer specs do you have, especially RAM? I'm by no stretch of the imagination an expert, but I'm pretty sure that matters.
"On the days when I keep my gratitude higher than my expectations, well, I have really good days."

Ray Wylie Hubbard in his song "Mother Blues"
User avatar
SPerman
Posts: 2040
Joined: Wed Mar 17, 2021 4:24 pm
Answers: 14
x 2212
x 1863
Contact:

Re: Making a huge, multi-level assembly actually run

Unread post by SPerman »

Another suggestion: Roll the freeze bar to the bottom on all of your parts to avoid SW rebuilding them.
-
I may not have gone where I intended to go, but I think I have ended up where I needed to be. -Douglas Adams
MJuric
Posts: 1070
Joined: Mon Mar 08, 2021 3:21 pm
Answers: 1
x 31
x 874

Re: Making a huge, multi-level assembly actually run

Unread post by MJuric »

I'll add....

Get rid of as many appearances as possible.

While simplifying parts include interior cavities. Soliworks has to worry about all the interior details as much as the outward one. If you have a bearing model that you downloaded that has all the ball bearings, seals, cages etc etc and you have no reason to show anything other than the exterior of the bearing, nuke the interior details. I usually extrude, revolve etc a big chunk and have it merge. All the interior detail is gone. bearings, motors, cylinders, ball screw nuts and on an on all typically have significant inner detail when you download them.

Mate as many top level assemblies by top level planes as you can. Not possible all the time when you're dealing with multi axis machines and a lot of movement, but do it as much as you can.

if you can make "Simplified" versions that are used in higher and higher levels. If you have a S/A of an S/A of an S/A of an S/A at some point you really only want an envelope of the lower S/A's. Make a configuration where it' just a big chunk with as little detail as possible. Nuke all the mates, features etc. This is something that "Speedpack" was supposed to do but it does it extremely poorly in my opinion. If it worked I'd say use speedpak, I've just never had luck with it.
David Matula
Posts: 74
Joined: Tue Mar 30, 2021 12:43 pm
Answers: 0
x 55
x 70

Re: Making a huge, multi-level assembly actually run

Unread post by David Matula »

Sounds like a lot of fun.
Have you checked the hardware. Mem, and video card would be the first things that I would look at.
Large asm mode should be bringing in 99% of the stuff light weight. If you don't need it to be resolved keep it light weight.
Display states, use the Isolate command and save yourself some display states to only how the parts that you want to be working with.
I would use the display states for creating drawing views later and being able to Isolate those models and save the display state was a great time save.
User avatar
SPerman
Posts: 2040
Joined: Wed Mar 17, 2021 4:24 pm
Answers: 14
x 2212
x 1863
Contact:

Re: Making a huge, multi-level assembly actually run

Unread post by SPerman »

If any of the sub-assemblies are flexible, set the to rigid to see if that speeds up performance.
-
I may not have gone where I intended to go, but I think I have ended up where I needed to be. -Douglas Adams
User avatar
matt
Posts: 1581
Joined: Mon Mar 08, 2021 11:34 am
Answers: 19
Location: Virginia
x 1214
x 2365
Contact:

Re: Making a huge, multi-level assembly actually run

Unread post by matt »

When you say "actually run", what is it that you want to work? Hand-dragged assembly motion? Analysis/simulation?

If the assembly motion is very important to you, I'd make a copy of the assembly (save as - don't copy parts) , delete the mates that aren't necessary for motion, and maybe even dissolve flexible subassemblies so all mates for motion are at the top level. This also gets rid of in-context relations for that copied assembly.

Having a separate assembly file for certain tasks you can't complete in the primary assembly helps you divide the work and keeps the main assembly from getting too complicated. Plus, when you jam all functionality into a single large assembly, one little mistake cam blow up the whole thing.

So make a purpose-specific copy of the assembly.
berg_lauritz
Posts: 423
Joined: Tue Mar 09, 2021 10:11 am
Answers: 6
x 439
x 233

Re: Making a huge, multi-level assembly actually run

Unread post by berg_lauritz »

matt wrote: Thu Aug 19, 2021 8:24 am When you say "actually run", what is it that you want to work? Hand-dragged assembly motion? Analysis/simulation?

If the assembly motion is very important to you, I'd make a copy of the assembly (save as - don't copy parts) , delete the mates that aren't necessary for motion, and maybe even dissolve flexible subassemblies so all mates for motion are at the top level. This also gets rid of in-context relations for that copied assembly.

Having a separate assembly file for certain tasks you can't complete in the primary assembly helps you divide the work and keeps the main assembly from getting too complicated. Plus, when you jam all functionality into a single large assembly, one little mistake cam blow up the whole thing.

So make a purpose-specific copy of the assembly.

I'll throw in this link to clarify.
Ry-guy
Posts: 173
Joined: Mon Mar 08, 2021 5:30 pm
Answers: 1
Location: Minneapolis, MN
x 38
x 139

Re: Making a huge, multi-level assembly actually run

Unread post by Ry-guy »

Use the right tools for the right job. You might want to look at Siemens Process Simulate tool. This is used for things like virtual commissioning of assy lines. If you are relying on heavy weight CAD data and assy constraints you are going to have a very, very hard time. The Siemens tools also uses a physics engine so if you are doing start and stops you can see stuf rock...

Ry-guy
Posts: 173
Joined: Mon Mar 08, 2021 5:30 pm
Answers: 1
Location: Minneapolis, MN
x 38
x 139

Re: Making a huge, multi-level assembly actually run

Unread post by Ry-guy »

Ry-guy wrote: Mon Aug 23, 2021 12:44 pm Use the right tools for the right job. You might want to look at Siemens Process Simulate tool. This is used for things like virtual commissioning of assy lines. If you are relying on heavy weight CAD data and assy constraints you are going to have a very, very hard time. The Siemens tools also uses a physics engine so if you are doing start and stops you can see stuf rock...

Oh, you don't need to use the controls and can define your own. And I beleive you don't have all CAD data in NX for all of this..
Mechatronic Conceptual Designer
Post Reply