11 Replies Latest reply on Jun 17, 2014 5:03 PM by Matthew Peterson

    Multi body parts vs. Assemblies

    Matthew Peterson

      I'd like to get some discussion going on what is better for overall performance when either a large multi body part is an option or an assembly.

       

      Reason I ask. We have always been told that to achieve better performance we should save off assemblies that don't need to be assemblies as a single part file after deleting unnecessary components and such. This has pretty much become standard practice with our purchased parts that we download models of. A quick google search will show you that this is what most people recommend, but experience has taught me otherwise.

      In particular we have had some assemblies that we download that contain hundreds of parts. If we save this off as a multi-body, they are almost unusable.

      However I went through and saved off every part and made the whole shebang a subassembly and it performs much better.

      Has the standard advice we’ve been given wrong? I suspect one reason may be that multiple instances of parts are not reused in multi-body parts.

        • Re: Multi body parts vs. Assemblies
          Jamil Snead

          I know the file size can get very large for a large assembly saves as a single part. It might have something to do with how many bodies and features it produces. One thing you could try is after you save an assembly as a part combine all of the solid bodies (ideally into 1 if possible). Then you could drop that part into a new assembly and save the new assembly as a part. Then the resulting part will only have 1 imported feature and 1 body. That might make it run faster.

          • Re: Multi body parts vs. Assemblies
            Jerry Steiger

            Matthew,

             

            I have run into similar issues. Long ago, maybe in SW2004, possibly eariler, I tried saving our printed circuit assemblies as part files and found that the parts took longer to load, rebuild, and manipulate than the assembly files. I think that I tried to combine them into a single body, as Jamil suggests, but it's been too long ago to know for sure. I haven't repeated the experiment since then.

             

            Jerry S.

              • Re: Multi body parts vs. Assemblies
                Matthew Peterson

                I have been pondering this now since I first posted, and am gradually becoming more convined that this is related to how SolidWorks "Reuses" data in the cases were there are multiple instances of a part.

                Obviously, I don't really know whats going on in the SolidWorks background, but it seems like the exploded file size of the multibody part points to "inefficient data handling" relative to the equivalent assembly. (Each instance is now treated independantly) This would be especially true in an assembly were alot of the same components are reused.

                I went and took a brief look at the independent part count of the assembly in question, and it is indeed much lower that the  body count of the multi body part.

                  • Re: Multi body parts vs. Assemblies
                    Jamil Snead

                    That makes sense to me. Maybe SolidWorks could be smarter with how it handles identical bodies in a multi-body part.

                    • Re: Multi body parts vs. Assemblies
                      Jerry Steiger

                      Matthew,

                       

                      That would certainly make sense for our PCAs, where we often have dozens or hundreds of the same small resistors, capacitors and inductors.

                       

                      Jerry S.

                        • Re: Multi body parts vs. Assemblies
                          Matthew Peterson

                          Right that's what I'm thinking. Although changing how they handle these could be asking for trouble too.

                          Part of the reason for saving off as a single part can be to make it "dumb" and remove design intent.

                          Maybe they could use some of the same technology used in sorting out weldment piece parts to sort out what bodies are geometrically equivalent.

                        • Re: Multi body parts vs. Assemblies
                          Matthew Peterson

                          I'm not convinced this "data sharing" theory is the whole story though. I know we work with assemblies with even more independent parts than of the no. of bodies in these multibody parts, and the assembly still behaves better. I have a sneaking suspicion that there are other reasons related to how data in an assembly may be handled in more efficient ways. This might be a  "evolutionary" software trait. (Assembly files have always been bigger, thus have been better tuned for performance.)

                          I'm just thinking out loud here and farther out of my league. To get some answers I guess somebody would have to do some benchmarking.

                            • Re: Multi body parts vs. Assemblies
                              Anna Wood

                              Fully featured models in a well done assembly will perform much better in SolidWorks then a bunch of dumb solid or surface models. SolidWorks takes advantage of the intelligence in the models to help improve performance.

                               

                              So what you suspect is true....  In many cases saving to dumb solids and surfaces will kill your SolidWorks performance.

                               

                              This has been confirmed in the benchmark testing Charles Culp and I have run.  Also by people at Solidworks and Nvidia that know about the inner workings of Solidworks code.

                               

                              Cheers,

                               

                              Anna