10 Replies Latest reply on Apr 2, 2018 5:38 PM by Ian McLean

    Curiosity Question (referencing large assemblies)

    Kevin Andrews

      A short while ago, I made a post referencing my frustrations with a large assembly I was working on. I talked about separating all of the parts into associative folders...and was complaining about how it was causing my machine to drag.

       

      It was suggested to use subassemblies instead. Admittedly, that is my normal practice, but I was trying to keep it like the company wants it. But I have had enough of that - I am going back and creating subassemblies.

       

      But my question is:

      How does inserting subassemblies make it any faster? It will still have the exact same amount of parts and associated mates - correct?

        • Re: Curiosity Question (referencing large assemblies)
          Ryan Navarro

          One reason for subassemblies boosting performance is that when you use a subassembly in default Rigid mode, the mates within the subassembly are not being evaluated/solved. Only the "top level" mates that position the subassembly within the top level assembly are being actually solved. If you set the subassemblies to Flexible mode, then the mates would be evaluated, and performance would probably be comparable to folders.

           

          I'm not sure if there are any other advantages to subassemblies as far as loading performance, but the ability to SpeedPak subassemblies is also very useful.

          • Re: Curiosity Question (referencing large assemblies)
            Dan Golthing

            On extremely large assemblies I've had to deal with, I would break the top assembly into a half dozen or so sub assemblies.  Then I would mate all those to the origin using the three primary planes.  As mentioned above, then there's no significant mates to solve.  This is assuming that you don't have to show anything moving.

             

            Also, the sub assemblies can then have a "lightweight" configuration where all the hardware is suppressed when used in the top level.  You probably don't need to see that 1/4-20 bolt six subassemblies down the tree on your top level assembly.

             

            If you have any weldments, using the weldment functionality of SWX will eliminate literally billions of mates altogether.  Another great time saver.

             

            There's lots of tricks to handling large assemblies.  I've had to deal with assemblies on the order of 20k-70k+ components, so you have no choice but to work smart or you'll never get anything done.

            • Re: Curiosity Question (referencing large assemblies)
              Tom Gagnon

              Another benefit of extensive subassemblies is that you can an extremely simplified configuration of that assembly, just to provide a volume box as a footprint extrusion. Make the box, and then in that configuration suppress every single part which is not annotated in the drawing. Also Fix the remaining undefined components in that config because you likely suppressed the other items to which it is mated. Then, I can proceed to dumb it down when making the drawing, add center lines and center marks, selected overall or annotation dimensions, and linked or unlinked text leader annotations, and then un-dumb it once ready to fully resolve for exporting (really, Save_As) the drawing to PDF. I even name my simplified config and its volume box component, "Dumb".

               

              This takes the idea of a Simplified configuration in a component, to hide its threads or such, and applies it far broader to a whole subassembly. Drawings of very large assemblies take a lot less time this way, if I have given forethought to picking the components which need called out, hidden, or dimensioned. Repetition of similar deliveries to one client across multiple sites has led me to save time with this method. YMMV, a lot.

              • Re: Curiosity Question (referencing large assemblies)
                Sebastyon Champion

                when working with large assemblies it helps to use subassemblies because Solidworks treats Sub-Assemblies as a part.  Meaning any mates, multiple, parts, or features are simply stored. so when you open it into another assembly it doesn't move all the features into the active code.

                • Re: Curiosity Question (referencing large assemblies)
                  Kevin Andrews

                  OK - So here is a problem I am running in to now:

                  I have an assembly that is composed of parts, assemblies and recently created sub-assemblies. When I pull the BOM in and tell it "parts only", it also grabs each individual part from the assemblies as well. I don't want it to do this. I want the BOM to recognize assemblies as assemblies and sub-assemblies as individual parts.

                   

                  That make sense???

                    • Re: Curiosity Question (referencing large assemblies)
                      Tom Gagnon

                      You only need to check this radio button in your BOM properties to achieve that.

                      BOMtoplevelCapture.JPG

                        • Re: Curiosity Question (referencing large assemblies)
                          Kevin Andrews

                          But I have a combination of parts, assemblies and sub-assemblies in my final assembly.

                           

                          My assemblies will have sheet metal pieces with nut-serts already applied. These get applied by our supplier (they build the sheet metal parts to our specs)  - so, I do not need these nut-sert parts showing up on my BOM. However, the sub-assembly that I created needs to have all the parts called out....

                           

                          My whole need for the sub-assemblies is to try and make the overall file size smaller and less intrusive on my system. I think I am just going to go back to inserting part by part and set items to lightweight....

                            • Re: Curiosity Question (referencing large assemblies)
                              Tom Gagnon

                              Or, you can try Indented and see if that works for you. I am entirely unclear now as to what is where, and how you want it shown, if applied inconsistently to treat some subassemblies as a single part and others as a subset of parts.

                               

                              What I do with items that I don't want to show up is (use Parts Only option as shown and) just Hide or Delete the row. My numbers aren't sequential afterward, but they at least stay linked and in ascending numerical order. My assembly shop doesn't care that balloon 6 is followed by balloon 9, as long as what is called out is represented in the table. If you want more fuss, I think you can manually renumber it.

                              • Re: Curiosity Question (referencing large assemblies)
                                Ian McLean

                                Kevin Andrews wrote:

                                 

                                But I have a combination of parts, assemblies and sub-assemblies in my final assembly.

                                 

                                My assemblies will have sheet metal pieces with nut-serts already applied. These get applied by our supplier (they build the sheet metal parts to our specs) - so, I do not need these nut-sert parts showing up on my BOM. However, the sub-assembly that I created needs to have all the parts called out....

                                 

                                My whole need for the sub-assemblies is to try and make the overall file size smaller and less intrusive on my system. I think I am just going to go back to inserting part by part and set items to lightweight....

                                Hi Kevin, the way we get around this is to use the "Promote" configuration property

                                This dissolves the sub-assembly in the next level up.

                                So if you want to see all your parts, but not the clinch fasteners in the top level, you would use promote on the configurations of all sub-assemblies.

                                Then, a "top level only" BOM in your main assembly will show all your parts.