1 2 3 First Previous 142 Replies Latest reply on Dec 21, 2018 10:11 AM by Matt Peneguy

    Large Assembly Performance Discussion

    Don Van Zile

      I would like to start a discussion on performance with large
      assemblies and potential workflows and/or work-arounds you may utilize to
      better handle specific scenarios; different industries/processes may promote
      different solutions. Some people think the sheer number of components
      constitutes a large assembly, but this isn’t always the case (i.e. components
      that are very complex and have hundreds of features can quickly add complexity
      to a relatively small component count assembly too).


      What tools/functionality do you currently use and why? What
      are your specific pros and/or cons as it relates to your industry or process?
      For example, do you utilize any of the following techniques:


      Opening Components in Lightweight mode


      Large Assembly mode

      Large Design Review

      Create Simplified Configurations of components
      (Suppression/Removal of unnecessary features for top-level assembly)

      Save Assemblies as Parts


      Suspend Automatic Rebuilds

      Display States

      Feature Freeze

      Flexible Subassemblies

      Assembly Visualization tool

      Detached Drawings


      Other methods?


      Quick Tips:

      Utilize Subassemblies

      Simplify geometry (Simplified Configuration where unnecessary features such as Fillets, Chamfers, Large Patterns, Threads, Extruded Text etc... are suppressed)

      Minimize Flexible subassemblies, especially many nested as these mates all have to be solved at the top-level (Use only as needed and then make Rigid if able)


      There are many different tools available and methods used
      and reasons why to be sure, but I would like to hear what methods you use and
      why or why not (pro/cons). Is there any preferred method you would like to be
      able use but cannot because of a shortcoming or a process/workflow driven
      reason? Any other method(s) you wish we supported but do not? Your most
      frustrating workflows?  I really want to
      try to keep this wide open as possible (it could even encompass drawing
      creation of large assemblies) and look forward to having a proactive discussion;
      I realize this is a source of frustration for many that wish was there was a
      magic button.


      Any and all feedback is welcome.




        • 2. Re: Large Assembly Performance Discussion
          Mike Pogue

          I'll chime in:


          • Large assembly mode--certainly
          • Lightweight components--gotta have it
          • Large design review--been meaning to try it
          • Simplified configurations--I lean away from this, because I don't like to add to my models in order to try to simplify them. It also can cause trouble as you add and remove features as the design progresses to maintain multiple configurations.
          • Assemblies as parts--I have not had good luck with this, in that the parts have had really poor performance. Also, the loss of being parametric is a bit of a deal breaker for me.
          • Defeature--I'm not sure how this differes from simplified configurations, but for purchased parts etc., absolutely, this is a must.
          • Display states--I've had good luck with display states, in that they are fast and stable compared to configurations


          I'll add

          • I stay the heck away from in-context design. This is large assembly death
          • Multi-body parts can be wicked fast for complex assemblies, if it suits your taste.
          • Body operations (direct modeling), seem to be wicked fast and very stable compared to regular history based parametric modeling. Combine Multibody parts and body operations, and you can get astonishing performance on top down assemblies. Like, astonishing. But this comes with the limitations it comes with. If multi-body parts had BOM features to mirror assemblies, you'd really be on to something for non-mechanisms.
          • I think you need to communicate better the effect that display settings have on file size and save times. I've been using SW for 15 years, and I found out in the last 2 weeks that time to save tessellated data is related to display settings. I'd always assumed that if I wasn't seeing video lag that the display quality was low enough.
          • 3. Re: Large Assembly Performance Discussion
            Don Van Zile

            Hi Adrian,


            Great presentation! I'm sure this was a popular one as well as the download. Thanks for providing the link here for others who may not know about some of the tools/tips.


            Looking forward to hearing from others.

            • 4. Re: Large Assembly Performance Discussion
              Don Van Zile

              Hi Mike,


              Yes, the "Image Quality" in Document Options can affect performance dramatically if set to the very high setting near the red and applied to all components checked; File size, save time, open time, and time it takes to regenerate the graphics data to display (Graphics tessellation). We're looking into ways to better communicate this.


              Simplified Configurations: You mention the difficulty in maintaining features and the extra simplified configurations. If this process were more automated for you or made easier would you use them or be more encouraged to use them?


              Assemblies Saved as parts: You mention not being parametric being a deal breaker.  What type of parametric workflow are looking for here that would make less of deal breaker? Also, have you tried to hide internal components and small components such as fasteners that may not be required to reduce the component body count to improve performance? If you haven't, this definitely helps significantly to minimize overhead.

              • 5. Re: Large Assembly Performance Discussion
                Mike Pogue



                • The image quality does not have to be high to impact save time. Anything above the third line on the slider has a serious impact for complex assemblies saved as parts.
                • As far as simplified configuration. Yes. if there were a brain dead way to maintain a simplified and a full configuration together, without me constantly having to suppress and unsuppress and repair, that would be great. I'm not seeing what it would look like, but I'm sure you have people for that.
                • The workflow I envision would be to use an assembly exported as a part, and it would rebuild it from the original assembly on demand without losing geometry references. It should not rebuild automatically, but it ought to probably flag as out of date. Not an obnoxious flag, and not a bonk sound that drives me crazy if I don't want to update it. Just a friendly reminder.
                • I forgot to mention one thing that may or may not be important. I tried to implement speed packs awhile back, and it was a catastrophe. They were an express ticket to hard crash no matter what I did. I never looked at them again.
                • 6. Re: Large Assembly Performance Discussion
                  Glenn Schroeder



                  One thing that can be a big help that you didn't mention is using sub-assemblies.  My more complex upper level assemblies will sometimes consist entirely of sub-assemblies, sometimes two or three layers deep.  I believe this is a big help on opening, saving, and working with assemblies.


                  And I'll agree with Mike about staying away from in-context modeling and using display states.

                  • 7. Re: Large Assembly Performance Discussion
                    Don Van Zile

                    Hi Glenn,


                    Creating many subassemblies and even nested layers of
                    subassemblies is definitely good practice to be sure; I certainly didn’t
                    mention everything above that can have an effect on performance, but that’s
                    where I would like to hear more from you guys and gals as well along any
                    pros/cons/limitations within your workflows and processes etc…


                    Subassemblies also minimizes the number of top-level mates
                    and makes working with the assembly easier since it’s more structured. A good
                    rule of thumb is if the top-level assembly starts to have more than 50-100
                    mates, it’s time to start thinking how to better structure the assembly with
                    subassemblies using “Form new subassembly” with selected components; fasteners
                    at the top-level only can multiply mates very quickly. There seems to be
                    somewhat of a misconception trying to avoid mates all together. Unless there’s
                    thousands of them, it can be definitely become an issue and moreover it becomes
                    more of maintenance issue in my opinion. However, the mate solver is very efficient
                    and typically solves even very large mate sets very quickly; you can check this
                    using the AssemblyXpert tool.


                    Also, our system tries to be intelligent
                    on what needs to be rebuilt when changes are made in that we don’t rebuild subassemblies
                    or its components unless they need to be (exceptions to this rule are of course
                    in-context relationships, equations, circular references and other model
                    dependencies). Users have asked to be able to Freeze subassemblies similar to
                    Parts functionality (another Parts tool I didn’t mention above), but our system
                    tries to treat them like this already with the exceptions mentioned.

                    • 8. Re: Large Assembly Performance Discussion
                      John Stoltzfus

                      What tools/functionality do you currently use and why?


                      Through the years I have had the best performance and assembly stability using what I call the Skeleton Part, which is the top part of all my sub-assemblies and also the top assembly, almost every detail is in that part and every part is built off that part and if I need to make changes I can change the Skeleton Part everything that is tied to a particular sketch that I change, gets changed parametrically. 


                      All my drawings are one file only, with up to over a 100 tabs, this way I can page through my drawing tabs without having to open multiple drawing files, this also makes it easier to use the Task Scheduler to update my custom properties, etc.  The main reason is here they want a detailed drawing for every part that needs to be manufactured and some purchased items.


                      I use the Custom Property Tab Builder and I set up a custom one for every project that goes through our custom build departments.  According to my take on the forum this is one of the most over looked feature that SolidWorks offers with the design package. I have over 60 custom properties that I attach to every part and the project assemblies, within those 60 there could be 10 or 15 that don’t pertain to that project, so I set up the Tab Builder file and save it to an ECN number.  The time saver is when I’m done with the design (Modeling) and have all my approvals to get the assembly to the drawing level, I open up the top assembly and click on every part in the feature manager tree, click on the custom property tab and pick out the machine station, type in the description and if the part or assembly needs to go to our CNC, that’s it, 3 inputs.


                      Then I drop each assembly, sub-assembly and parts in the drawings, one file, more than one file if over 120 tabs, all the information is tabulated in the title block.  What works really well doing it this way, is when there is a revision to a particular part, the revision follows that part not just the entire assembly, (I created my own Revision table).


                      What are your specific pros and/or cons as it relates to your industry or process?

                      For me here SolidWorks is a great tool to use, however I do run into some freak issues here and I am almost sure it has to do with the work flow through the Server and not using EPDM, a few days from now I might open an assembly I was working on and some of the changes aren’t saved and previous versions are gone.


                      Here I may have a base assembly and if there is a custom project, I’ll do a pack and go and open up the pack and go, change my Skeleton Sketch part and run the Task Scheduler to update that folder and within 15 minutes I can have a complete new set of prints ready for the shop floor. Sometimes the Pack & Go doesn’t work well and the relationships are lost, I’ve usually thought it’s more my techniques or the lack thereof, however more and more it points to not having the EPDM setup.

                      For example, do you utilize any of the following techniques:


                      Opening Components in Lightweight mode




                      Large Assembly mode


                      Large Design Review


                      Create Simplified Configurations of components

                      (Suppression/Removal of unnecessary features for top-level assembly)


                      Save Assemblies as Parts




                      Suspend Automatic Rebuilds


                      Display States


                      Other methods?



                      The other methods that differ from my trail of design to drawings – I learned enough over the years not to go there.  In other words what works for me might not for the next guy, because of the Design Intent that was used when the project is started. I remember the old adage using SolidWorks, it’s all about Design Intent, where you want to end up and where you need to start, you get those screwed up, have fun


                      I’ve used Sw since 1997 and used only a handful of different versions over the years, 1997 1998plus 2003 2004 2011 2012 2013 2014 and now 2015, so my progress with SW was sporadic to say the least.  So I had some fair sized projects and the largest assembly I remember was over 3,500 components, which included all the hardware, the reason I mention this is, in the past I made a lot of mistakes when it came to large assemblies and especially in the early part of my design career.  I agree 100% on your comment on the size of the assembly has more to do with the accumulation of features then it does shear number of components. 


                      I look forward watching this topic, Thanks for starting this Don…….




                      I forgot to mention the Design Journal, awesome tracking tool

                      • 9. Re: Large Assembly Performance Discussion
                        Paul Marsman

                        I've found that if I'm working on a certain area of an assembly and don't need a few different subs that are in a different spot, I do a hide on those and then unload hidden components.  That seems to be the fastest way for me since I don't do simplified configs for the same reasons Mike pointed out, and I typically only have a full display state.  I suppose I could make display states and switch back and forth from them and still run the unload hidden command.


                        Just my quick thought.

                        • 10. Re: Large Assembly Performance Discussion
                          Don Van Zile

                          Hi John,


                          Thanks for the detailed feedback on your workflow, processes and reasons why. Regarding your large multi-sheet drawings, do ever have issues with performance working with over 100 sheets/tabs?


                          To your point about the Property Tab Builder for Custom Properties being underutilized, I think the same can be said about the Assembly Visualization tool.

                          • 11. Re: Large Assembly Performance Discussion
                            John Stoltzfus

                            Tabs over about 75 or so tend to slow things down a little, but not near the same as it would opening 100 files and going through everyone to make sure that the changes followed through..


                            I will check on the Assembly Visualization tool, just looking at my product flow, where would you see it fit in my process.

                            • 12. Re: Large Assembly Performance Discussion
                              Steve Calvert

                              Wow, haven't been here in a while and the entire forum interface has changed.  Yuck! (for me anyway)...


                              I'm fixing to jump from SW2010 to SW2015 and I'm sad to read some of the same problems/questions we were having prior to SW2010.  Haven't these things been fixed?


                              The one main thing that I've always tried to do is to minimize the top level assy mates because these are some of the first things that have to be solved.  We have a lot of sub-assemblies that show the floor how to put together the "options" for our product but rarely show the entire dispenser.  These sub-assemblies may have several configurations.  I'd like these sub-assemblies to open faster, too, with their drawings.


                              Good topic Don...

                              • 13. Re: Large Assembly Performance Discussion
                                Adrian Velazquez

                                Don I'm still frustrated with the fact that there is no way to provide a direct link to each presentation! I believe this archives are the BEST SW learning resource out there and few people access them because of how they are published.


                                Why are they not uploaded to YouTube or My.Solidworks at least?

                                • 14. Re: Large Assembly Performance Discussion
                                  Robert Lankford

                                  First of all, we manufacture complete asphalt mixing plants and wood pellet processing plants... Astec Inc. - Manufacturers of continuous and batch-process hot-mix asphalt plants, wood pellet plants and soil remediati…


                                  I don't have much time currently, but I rarely have large assembly issues (if I modelled it... not to sound cocky) so I will definitely add more input to this. The only time I have performance issues is when working on other people's models which usually contain external references / envelopes / planes & sketches visible / etc...... I am a firm believer in proper modelling practices.


                                  One model in particular I was working on earlier had the center of gravity feature turned on. Out of curiosity, I deleted it and it cut rebuild time in half. That is pretty substantial on a 10,000 component assembly.


                                  Until I can provide more input, I will give you this:

                                  Opening Components in Lightweight mode - RARE

                                  SpeedPak - NO

                                  Large Assembly mode – NO!

                                  Large Design Review – YES! TO ONLY LOAD SPECIFIC COMPONENTS

                                  Create Simplified Configurations of components - NO
                                  (Suppression/Removal of unnecessary features for top-level assembly) -

                                  Save Assemblies as Parts – NO! FILE SIZES GO THROUGH THE ROOF

                                  Defeature - NO

                                  Suspend Automatic Rebuilds - NO

                                  Display States – YES!

                                  Feature Freeze- NO

                                  1 2 3 First Previous