Page 1 of 1

Making a huge, multi-level assembly actually run

Posted: Wed Aug 18, 2021 12:53 pm
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?

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

Posted: Wed Aug 18, 2021 2:34 pm
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.

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

Posted: Wed Aug 18, 2021 2:56 pm
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.

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

Posted: Wed Aug 18, 2021 3:27 pm
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.

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

Posted: Wed Aug 18, 2021 4:20 pm
by SPerman
Another suggestion: Roll the freeze bar to the bottom on all of your parts to avoid SW rebuilding them.

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

Posted: Wed Aug 18, 2021 4:25 pm
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.

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

Posted: Wed Aug 18, 2021 6:43 pm
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.

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

Posted: Thu Aug 19, 2021 7:45 am
by SPerman
If any of the sub-assemblies are flexible, set the to rigid to see if that speeds up performance.

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

Posted: Thu Aug 19, 2021 8:24 am
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.

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

Posted: Thu Aug 19, 2021 10:38 am
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.

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

Posted: Mon Aug 23, 2021 12:44 pm
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...


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

Posted: Mon Aug 23, 2021 12:53 pm
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