43 Replies Latest reply on Dec 1, 2017 6:24 PM by Matt Peneguy

    Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?

    Matt Kettyle

      Hi all,

       

      I am curious as to whether using a part - such as a nut, bolt or bearing - with various thread sizes and lengths contained within the part file as configurations will slow down an assembly they are used within?

      The aim of having many configurations would be to reduce the number of part files saved in our DDM.

       

      The alternative is to have many individual parts saved in our DDM of the individual sizes, however this seems like a more clunky alternative.

       

      Thanks in advance,

      Matt

        • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
          Newell Voss

          it actually keeps it from slowing down because it is contained as one file. you are describing a library part or smart part which is commonly used. they are used to expedite the design process. not everyone likes including every fastener or little component that can be interpreted from other features, but it is a good practice and eliminates the guesswork. we used them for shoulder bolts and ejector pins in mold design. you can just drag the part in the workspace and select what you want. or with smart parts you can hover the part over a feature and it can assume relations and automatically apply mates for you. typically the assemblies only bog down when you have multiple subasms, a lot of parts or patterns and complex geometries but that is why you can load lightweight or adjust your threshold for large asm mode.

          • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
            Glenn Schroeder

            I have multiple configurations of bolts, washers, nuts, etc and have never noticed it slowing down my Assemblies.  If you have threads unsuppressed, that will slow things down.  Drastically.

            • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
              Vladimir Urazhdin

              Each new configuration increases the part / assembly size. Some negative effect on performance may occur, but it easy compensates with much faster and easier changing configuration versus replacing parts.

                • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                  Josh Brady

                  Vladimir Urazhdin wrote:

                   

                  Each new configuration increases the part / assembly size. Some negative effect on performance may occur, but it easy compensates with much faster and easier changing configuration versus replacing parts.

                  This can also depend on how the configs were created.  SolidWorks generates Parasolid geometry and other model information for each configuration that gets built.  If you create a base model for a screw etc, but then use a design table to generate all the configs and never activate them, the additional file size is minimal, even for a large number of configurations.  If you save the file with only one config ever being built it will be pretty small.  It will only grow as you activate more and more configurations.  If your projects are very "compartmentalized" and you pull a fresh copy of that master file for each project, the file will never get huge and unwieldy.  If you keep the master file in a common location and end up rebuilding lots of configurations, you may have to clean it out every once in a while.  But in that case, as long as you saved a copy of the file when it was small, you can replace the bloated file with the small one.  It will still have all the configurations and none of the mates in assemblies will fail. 

                • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                  Matt Peneguy

                  I have a case that has thousands of bolts.  What I did was created two parts.  One part is the fastener with a washer as a single part (I put all of the BOM information in this part).  The other part is a nut with a washer (I exclude this part from the BOM).  These two parts are configured and have quite a few configurations.  What does this do for you?  Well, it halves the number of mates for each bolt group from 8 required to 4 required.

                  I really think that having 1 part with many configurations makes management of the library part much more manageable.  Any performance hit you take because of it, should be offset by your management time.

                  Another thing to consider is Pattern Driven Component Pattern.  Create a 3D sketch with points everywhere you want your bolt group and then Pattern them.  That really helps with performance.

                  BTW, how are you liking DDM?  I am considering it here instead of PDM Standard.

                    • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                      Daen Hendrickson

                      Matt Peneguy wrote:

                       

                      I have a case that has thousands of bolts. What I did was created two parts. One part is the fastener with a washer as a single part (I put all of the BOM information in this part). The other part is a nut with a washer (I exclude this part from the BOM). These two parts are configured and have quite a few configurations. What does this do for you? Well, it halves the number of mates for each bolt group from 8 required to 4 required.

                      I really think that having 1 part with many configurations makes management of the library part much more manageable. Any performance hit you take because of it, should be offset by your management time.

                      Another thing to consider is Pattern Driven Component Pattern. Create a 3D sketch with points everywhere you want your bolt group and then Pattern them. That really helps with performance.

                      BTW, how are you liking DDM? I am considering it here instead of PDM Standard.

                      Matt,

                       

                      If you are not using them, Pattern Driven Component Patterns (or whatever they have been renamed to) are great with fasteners! Mate one set of screw-washer-washer-nut to a hole-wizard hole and then pattern this stack to all the rest. You only need one stack per hole series. If you change your hole feature and blow up some mates, you only need to repair the seed stack. Everything in the pattern follows suite.

                       

                      Two additional methods for copying the stack to other locations in your case:

                      - Copy with mates

                      - Create a virtual sub-assembly of the stack and copy. You can choose to dissolve the sub-assemblies after copy.

                       

                      Daen

                        • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                          Matt Peneguy

                          Absolutely! Pattern Driven Component Pattern is a god-send....Look at all these pattern driven fasteners:

                          • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                            Alin Vargatu

                            Daen Hendrickson wrote:

                             

                            Two additional methods for copying the stack to other locations in your case:

                            - Copy with mates

                            - Create a virtual sub-assembly of the stack and copy. You can choose to dissolve the sub-assemblies after copy.

                             

                            Daen

                            Or just a simple copy/paste. That will copy all the selected components, along with all the mates between them.

                              • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                Daen Hendrickson

                                Alin Vargatu wrote:

                                 

                                Or just a simple copy/paste. That will copy all the selected components, along with all the mates between them.

                                Alin, that must be functionality added after SW2014 SP5. If I select mated components and copy/paste I only get the last component in the selection copied.

                                  • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                    Dan Pihlaja

                                    Daen Hendrickson wrote:

                                     

                                    Alin Vargatu wrote:

                                     

                                    Or just a simple copy/paste. That will copy all the selected components, along with all the mates between them.

                                    Alin, that must be functionality added after SW2014 SP5. If I select mated components and copy/paste I only get the last component in the selection copied.

                                    Agree.  I get the same with SW 2015.

                                    • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                      Alin Vargatu

                                      Daen Hendrickson wrote:

                                       

                                      Alin Vargatu wrote:

                                       

                                      Or just a simple copy/paste. That will copy all the selected components, along with all the mates between them.

                                      Alin, that must be functionality added after SW2014 SP5. If I select mated components and copy/paste I only get the last component in the selection copied.

                                      Added in 2016, I believe.

                                      • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                        Geoff Moss

                                        What I do is build one instance of a hardware stack, then select the components in the Tree, right click > Form New Subassembly. Open up that assembly, right click the Configuration > Properties, and change the "Show" option near the bottom to "Promote". This makes it so BOMs refer to each component within the subassembly separately, rather than as an assembly. I'll also often add a convenient Mate Reference if needed.

                                         

                                        This method is nice because it works with all versions of SW (or at least several years worth), and if you need to update all the stacks (change bolt length perhaps), you don't have to select multiple from the Tree. With Mate References set right, just hold down control while you drag a copy out from the Tree and quickly snap new stacks to each hole or location. I find it amazingly convenient and a great time-saver.

                                          • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                            Matt Peneguy

                                            Geoff,

                                            If you have 30 holes, it is much easier/quicker to dump the fastener stack on the first hole and select Pattern Driven Component Pattern and drill down to the Hole Wizard sketch and voila, all 30 fasteners are replicated.  If I change the length on the fastener that drives the pattern, the other 29 update as well.  It's kind of the best of both worlds... But, as they say YMMV.

                                              • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                Geoff Moss

                                                Ah I misread the response above mine, I thought he was saying pattern driven was a new feature, but now I see he was talking about multiple copy-paste being new. I have not yet used pattern driven components for hardware but that does seem like the ideal solution, so thanks! Though, if you have an instance where you have the same stack being applied to holes from separate hole features (perhaps even in different parts in the assembly) does this technique still work as well? Or would you need a separate pattern for each base instance of holes?

                                                  • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                    Matt Peneguy

                                                    Unfortunately the pattern has to be from the same sketch.  It can be quirky, too.  It's good to plan it out ahead of time.  So, if I know I've got a bunch of holes going on different faces, I use the 3D sketch option to create the Hole Wizard pattern (don't select a face before selecting Hole Wizard).

                                                    I think it may have been Alin who pointed Pattern Driven Sketch Pattern to me.  It really makes a huge difference.  I owe him a beer for all the work he has saved me!

                                                    • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                      Glenn Schroeder

                                                      Geoff Moss wrote:

                                                       

                                                      Ah I misread the response above mine, I thought he was saying pattern driven was a new feature, but now I see he was talking about multiple copy-paste being new. I have not yet used pattern driven components for hardware but that does seem like the ideal solution, so thanks! Though, if you have an instance where you have the same stack being applied to holes from separate hole features (perhaps even in different parts in the assembly) does this technique still work as well? Or would you need a separate pattern for each base instance of holes?

                                                       

                                                      The Pattern Driven Component Pattern won't work in that case, but Ctrl+selecting all the components in the stack and using the Copy with Mates feature would likely be a good option.

                                                        • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                          Geoff Moss

                                                          In that case I'd just stick with using a Promoted virtual assembly, to keep them linked together in case I want to modify the stacks later. Plus it only requires 2 mates in the assembly regardless of however many components are in the stack, which is better for performance.

                                                            • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                              Nick Birkett-Smith

                                                              Geoff Moss wrote:

                                                               

                                                              In that case I'd just stick with using a Promoted virtual assembly, to keep them linked together in case I want to modify the stacks later. Plus it only requires 2 mates in the assembly regardless of however many components are in the stack, which is better for performance.

                                                              A question for those who use sub-assemblies for fastener stacks: do you include the far-side fastener (e.g. a nut) in your virtual assembly? If so, how would you handle changes to the material thickness, meaning the nut is no longer in contact with the component?

                                                               

                                                                • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                  Glenn Schroeder

                                                                  Nick Birkett-Smith wrote:

                                                                   

                                                                  Geoff Moss wrote:

                                                                   

                                                                  In that case I'd just stick with using a Promoted virtual assembly, to keep them linked together in case I want to modify the stacks later. Plus it only requires 2 mates in the assembly regardless of however many components are in the stack, which is better for performance.

                                                                  A question for those who use sub-assemblies for fastener stacks: do you include the far-side fastener (e.g. a nut) in your virtual assembly? If so, how would you handle changes to the material thickness, meaning the nut is no longer in contact with the component?

                                                                   

                                                                   

                                                                  I don't usually use sub-assemblies of hardware stacks, but I have occasionally.  Of course if the material you're attaching to is known, and doesn't change within the Assembly where it's used, a Distance mate in the sub-assembly works fine.  If that won't work the only option I can think of off the top of my head would be to leave those components (the nut in your example) free to move up and down on the bolt, set the sub-assembly to Flexible in the main Assembly, and then then mate the nut coincident with a surface in the main Assembly.  That would of course require one more Mate, but it would allow for different or changing conditions.

                                                                   

                                                                  Now that I think about it you could have multiple configurations of the sub-assembly, with different values for the Distance Mate, and use whichever configuration worked best in the main Assembly for each instance.  I don't know which option would be best.

                                                                  • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                    Geoff Moss

                                                                    In my case, I'm not adding the hardware until near the end of the design when the material thickness is not going to change. Of course that may not be the case for everyone. If it only happens rarely, you can just try to be vigilant about updating the hardware stacks when you swap out materials, and keep an eye out for extra gaps/physical overlap. If it happens regularly, you could always make the stacks fully defined within itself, except for the distance between the near and far side. Then place them in the assembly as flexible, and mate coincident on both the nut and bolt side, though that does add an extra layer of work. And if you're talking about separate instances within one assembly needing the same hardware but varying thicknesses in different locations, you can always make configurations of the hardware stack virtual assembly (need to set each one to Promote) to account for different thicknesses, or even varying hardware sizes.

                                                                     

                                                                    Ultimately the usefulness comes down to how much or how little variation you have. The more consistent your hardware needs are, the more benefit there is to do it in this manner, IMO.

                                                                      • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                        Matt Peneguy

                                                                        I just don't understand why someone hasn't come up with a good solution to this problem.  I came up with what works best for me, 2 parts, the first part is the bolt with its respective washer.  This part contains all the information of the fastener group in the Custom Properties.  This is the only part necessary for the fastener and its respective pieces to show up in the BOM.  But I add the second part (nut and washer) so that the total weights are correct, and to have it look correct.  Then I exclude it from the BOM.  My first fastener in a bolt group gets mated up (4 mates) and I either "Copy with Mates" or pattern the rest.

                                                                        While the subassembly method is appealing, it really complicates the situation.  You need separate configs for each spacing as Nick Birkett-Smith was alluding to.  Not only for spacing but for each size of bolt and nut.  Your washers have to match, too.  So, it's a bit to manage.

                                                                          • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                            Daen Hendrickson

                                                                            Matt Peneguy wrote:

                                                                             

                                                                            I just don't understand why someone hasn't come up with a good solution to this problem. I came up with what works best for me, 2 parts, the first part is the bolt with its respective washer. This part contains all the information of the fastener group in the Custom Properties. This is the only part necessary for the fastener and its respective pieces to show up in the BOM. But I add the second part (nut and washer) so that the total weights are correct, and to have it look correct. Then I exclude it from the BOM. My first fastener in a bolt group gets mated up (4 mates) and I either "Copy with Mates" or pattern the rest.

                                                                            While the subassembly method is appealing, it really complicates the situation. You need separate configs for each spacing as Nick Birkett-Smith was alluding to. Not only for spacing but for each size of bolt and nut. Your washers have to match, too. So, it's a bit to manage.

                                                                            Matt,

                                                                             

                                                                            One consideration against sub-assembly stacks and your method of parts representing multiple components with data in the custom properties comes from the downstream data management. This isn't relevant to all workflows... but may become so if they grow.

                                                                             

                                                                            Our fasteners are in a common network library. I drop them in my assemblies and their information comes along for the ride. Standard SW stuff.

                                                                             

                                                                            If I create a combined part file such as yours, I have to give it a part number. Which one? The bolt? The washer? Neither/Both? Do I create this for every potential combination? Just as an assembly needs it on the fly? If your business only uses a few fastener types this is probably not an issue. If you use hundreds? And if you have to stop and create every time you need a new stack the benefit of the pre-made library is greatly reduced. All the users need to "know" to use the "top" part stack file and its corresponding "bottom" part stack file. The exact same issues apply to "saved" assembly stacks in a library. Virtual assembly stacks can be an effective tool, but by their nature they are contained inside an assembly, so not easily re-usable.

                                                                             

                                                                            The downstream checking into PDM and then later pulling the assembly/BOM data into an ERP or order management system will potentially be problematic - pull the the quantity and P/N data out of the custom properties on some parts and by the built-in methodologies in other parts.

                                                                             

                                                                            I am not saying your approach is not valid nor that it doesn't work in your environment. But I don't think it scales up without the above complications.

                                                                             

                                                                            Daen

                                                                      • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                        Dan Pihlaja

                                                                        Geoff Moss wrote:

                                                                         

                                                                        In that case I'd just stick with using a Promoted virtual assembly, to keep them linked together in case I want to modify the stacks later. Plus it only requires 2 mates in the assembly regardless of however many components are in the stack, which is better for performance.

                                                                        What do you mean by the word "Promoted" in the sentence above?  Is that different than a normal virtual assembly?

                                                                          • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                            Geoff Moss

                                                                            For any assembly, virtual or not, you can right click the configuration name in the Configuration Pane, go to properties, and near the bottom are BOM options "Show", "Hide", and "Promote". Promote means that sub assembly will be dissolved in the parent assembly's BOM, so instead of showing something like "Assy1^My Project" for the virtual hardware stack, it will show each individual component. However they still behave like a sub assembly in the model, meaning you can position all of the stack with minimal mates, update them all together, etc.

                                                                              • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                                Dan Pihlaja

                                                                                Geoff Moss wrote:

                                                                                 

                                                                                For any assembly, virtual or not, you can right click the configuration name in the Configuration Pane, go to properties, and near the bottom are BOM options "Show", "Hide", and "Promote". Promote means that sub assembly will be dissolved in the parent assembly's BOM, so instead of showing something like "Assy1^My Project" for the virtual hardware stack, it will show each individual component. However they still behave like a sub assembly in the model, meaning you can position all of the stack with minimal mates, update them all together, etc.

                                                                                Ahhh, I never knew that!   Thank you for that!  Wahooo!!   I learnt me somethin' new today!

                                                                      • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                        Jim Steinmeyer

                                                                        Matt Peneguy wrote:

                                                                         

                                                                        Geoff,

                                                                        If you have 30 holes, it is much easier/quicker to dump the fastener stack on the first hole and select Pattern Driven Component Pattern and drill down to the Hole Wizard sketch and voila, all 30 fasteners are replicated. If I change the length on the fastener that drives the pattern, the other 29 update as well. It's kind of the best of both worlds... But, as they say YMMV.

                                                                        Matt,

                                                                        I am trying to understand the hole wizard and 3D sketch. Where we plan to use many of our components in several different model lines it is difficult for us to reasonably use the top down modeling to place all of the assembly bolt holes in each piece part for fear it would not line up correctly in a different assembly. Would 3D sketch created inside the assembly giving a point for each bolt hole work for the Pattern Driven Component? I like the idea of placing a seed item and then using a pattern but it isn't practical for us to create all of our piece parts and Hole Wizard holes from one top level assembly sketch when the parts go in so many different assemblies.

                                                                          • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                            Matt Peneguy

                                                                            Jim,

                                                                            I'm with you on trying to understand hole wizard, too.  Sometimes if I try to propagate holes to parts, after I open the assembly a level or two up, the holes give a warning until I open the subassembly that drives the holes and rebuild.  Sometimes I have to edit the hole wizard and rebuild. Maybe I'm doing something wrong, but I don't get great results propagating those holes to the parts.  So, I usually create the hole wizard at the part level, and line the holes up manually.  That's probably heresy to some, but that's what I've had good luck with. 

                                                                            Your situation of using parts in other assemblies really complicates things, too.  You have to be very careful in that situation.

                                                                            I hate to punt, but i don't want to give you the wrong advice.  I don't want to steer you in the wrong direction (and I may not even be aware of a good workflow for you).  Could you send in a support ticket to your VAR and have them take a look at what you are doing?  I usually get outstanding advice from my VAR... If you do, please let us know where they steer you.  I'm always interested in learning better ways of doing things.

                                                                              • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                                Jim Steinmeyer

                                                                                Matt Peneguy wrote:

                                                                                 

                                                                                ...

                                                                                Your situation of using parts in other assemblies really complicates things, too. You have to be very careful in that situation.

                                                                                I hate to punt, but i don't want to give you the wrong advice. I don't want to steer you in the wrong direction (and I may not even be aware of a good workflow for you). Could you send in a support ticket to your VAR and have them take a look at what you are doing? I usually get outstanding advice from my VAR... If you do, please let us know where they steer you. I'm always interested in learning better ways of doing things.

                                                                                     Currently I have been placing a set of hardware and using copy with mates where ever they will fit, then doing the same with the next hardware combination. I was just thinking the Sketch Driven Pattern might be a new tool i could add if it would work in my application but didn't know how it would.

                                                                                      Here like many places the toolbox was abandoned years ago and each bolt is a standalone part. I have been unable to get smart mates to work with them and since they ware all generated separately there is no chance of easily changing sizes when needed. Any modeling trick is an opening to help the process along.

                                                                • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                  Nick Birkett-Smith

                                                                  Hi Matt,

                                                                   

                                                                  SOLIDWORKS only loads data from the configuration(s) it needs for your assembly - the entire file isn't loaded into memory. So while the size of the part file will increase as you build more configurations, that shouldn't translate to a performance impact when loading it into SOLIDWORKS.  One area you might take a performance hit is anything outside of SOLIDWORKS where you need to copy that entire multi-configuration file over a network or internet connection - I don't know if this applies to DDM though.

                                                                    • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                      Josh Brady

                                                                      Nick Birkett-Smith wrote:

                                                                       

                                                                      Hi Matt,

                                                                       

                                                                      SOLIDWORKS only loads data from the configuration(s) it needs for your assembly - the entire file isn't loaded into memory. So while the size of the part file will increase as you build more configurations, that shouldn't translate to a performance impact when loading it into SOLIDWORKS. One area you might take a performance hit is anything outside of SOLIDWORKS where you need to copy that entire multi-configuration file over a network or internet connection - I don't know if this applies to DDM though.

                                                                      That's interesting... Just out of curiosity, what happens if your network connection drops, then you try to change a component to a config that isn't loaded.  Will SW just go ahead and build it rather than loading from file?

                                                                        • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                          Alin Vargatu

                                                                          Josh Brady wrote:

                                                                           

                                                                          Nick Birkett-Smith wrote:

                                                                           

                                                                          Hi Matt,

                                                                           

                                                                          SOLIDWORKS only loads data from the configuration(s) it needs for your assembly - the entire file isn't loaded into memory. So while the size of the part file will increase as you build more configurations, that shouldn't translate to a performance impact when loading it into SOLIDWORKS. One area you might take a performance hit is anything outside of SOLIDWORKS where you need to copy that entire multi-configuration file over a network or internet connection - I don't know if this applies to DDM though.

                                                                          That's interesting... Just out of curiosity, what happens if your network connection drops, then you try to change a component to a config that isn't loaded. Will SW just go ahead and build it rather than loading from file?

                                                                          If that model is resolved, the file is already in the RAM. It does not have to be re-read.

                                                                           

                                                                          Dropping the connection with he files location, though, it is very dangerous. You could experience crashes or file corruption.

                                                                           

                                                                          That is why PDM is so great. All files are opened locally, bullet proof.

                                                                            • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                              Josh Brady

                                                                              Alin Vargatu wrote:

                                                                               

                                                                              Josh Brady wrote:

                                                                               

                                                                              Nick Birkett-Smith wrote:

                                                                               

                                                                              Hi Matt,

                                                                               

                                                                              SOLIDWORKS only loads data from the configuration(s) it needs for your assembly - the entire file isn't loaded into memory. So while the size of the part file will increase as you build more configurations, that shouldn't translate to a performance impact when loading it into SOLIDWORKS. One area you might take a performance hit is anything outside of SOLIDWORKS where you need to copy that entire multi-configuration file over a network or internet connection - I don't know if this applies to DDM though.

                                                                              That's interesting... Just out of curiosity, what happens if your network connection drops, then you try to change a component to a config that isn't loaded. Will SW just go ahead and build it rather than loading from file?

                                                                              If that model is resolved, the file is already in the RAM. It does not have to be re-read.

                                                                               

                                                                              Dropping the connection with he files location, though, it is very dangerous. You could experience crashes or file corruption.

                                                                               

                                                                              That is why PDM is so great. All files are opened locally, bullet proof.

                                                                              Alin,

                                                                              I certainly understand the issues with connection dropping and why one should avoid it.  Thus my question.  If you'll read Nick's comment closely, he specifically states that unused configurations are NOT loaded into memory. SolidWorks knows which configurations have been built, and therefore should have data on disk.  My question pertains specifically to the instance where data exists on the network for rebuilt configurations, but those configurations are not currently referenced and therefore not in memory.  I would assume that switching to an already-built configuration would prompt SW to attempt to go get that info from the disk.  If that file is no longer available, what happens?  Is this a specific instance of one of those "crashes or file corruption"? 

                                                                                • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                                  Alin Vargatu

                                                                                  Josh Brady wrote:

                                                                                   

                                                                                  Alin Vargatu wrote:

                                                                                   

                                                                                  Josh Brady wrote:

                                                                                   

                                                                                  Nick Birkett-Smith wrote:

                                                                                   

                                                                                  Hi Matt,

                                                                                   

                                                                                  SOLIDWORKS only loads data from the configuration(s) it needs for your assembly - the entire file isn't loaded into memory. So while the size of the part file will increase as you build more configurations, that shouldn't translate to a performance impact when loading it into SOLIDWORKS. One area you might take a performance hit is anything outside of SOLIDWORKS where you need to copy that entire multi-configuration file over a network or internet connection - I don't know if this applies to DDM though.

                                                                                  That's interesting... Just out of curiosity, what happens if your network connection drops, then you try to change a component to a config that isn't loaded. Will SW just go ahead and build it rather than loading from file?

                                                                                  If that model is resolved, the file is already in the RAM. It does not have to be re-read.

                                                                                   

                                                                                  Dropping the connection with he files location, though, it is very dangerous. You could experience crashes or file corruption.

                                                                                   

                                                                                  That is why PDM is so great. All files are opened locally, bullet proof.

                                                                                  Alin,

                                                                                  I certainly understand the issues with connection dropping and why one should avoid it. Thus my question. If you'll read Nick's comment closely, he specifically states that unused configurations are NOT loaded into memory. SolidWorks knows which configurations have been built, and therefore should have data on disk. My question pertains specifically to the instance where data exists on the network for rebuilt configurations, but those configurations are not currently referenced and therefore not in memory. I would assume that switching to an already-built configuration would prompt SW to attempt to go get that info from the disk. If that file is no longer available, what happens? Is this a specific instance of one of those "crashes or file corruption"?

                                                                                  Thanks for the clarification. I understand your question now, and I am curious of the answer too.

                                                                                   

                                                                                  So, Nick Birkett-Smith, if a component has multiple configurations, with the configuration data saved in the file what happens when the file is resolved in an assembly?

                                                                                   

                                                                                  1. Only the configuration data for the active configuration (A) is loaded in RAM, regardless of how many configurations have their data saved. When changing configurations to B, the saved configuration data from the configuration B is loaded from the disk.

                                                                                  2. The data for all configurations that have the configuration data saved is loaded in the RAM. Thus, more data is pre-loaded in the RAM, but changing configurations is lightning fast.

                                                                                  3. Only the configuration data for the active configuration (A) is loaded in RAM, regardless of how many configurations have their data saved. Regardless if the configuration data for configuration (B) is saved in the file or not, SOLIDWORKS will use the recipe loaded in the RAM to recalculate the configuration data for the configuration (B).

                                                                                   

                                                                                  Which one of the above options is true?

                                                                                   

                                                                                  Just to be 100% clear, I am referring to configurations that have the configuration data (body data) saved in the component file.

                                                                                   

                                                                                   

                                                                                  or

                                                                                   

                                                                                    • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                                      Nick Birkett-Smith

                                                                                      Alin Vargatu wrote:

                                                                                       

                                                                                      <snip>

                                                                                       

                                                                                      So, Nick Birkett-Smith, if a component has multiple configurations, with the configuration data saved in the file what happens when the file is resolved in an assembly?

                                                                                       

                                                                                      1. Only the configuration data for the active configuration (A) is loaded in RAM, regardless of how many configurations have their data saved. When changing configurations to B, the saved configuration data from the configuration B is loaded from the disk.

                                                                                      2. The data for all configurations that have the configuration data saved is loaded in the RAM. Thus, more data is pre-loaded in the RAM, but changing configurations is lightning fast.

                                                                                      3. Only the configuration data for the active configuration (A) is loaded in RAM, regardless of how many configurations have their data saved. Regardless if the configuration data for configuration (B) is saved in the file or not, SOLIDWORKS will use the recipe loaded in the RAM to recalculate the configuration data for the configuration (B).

                                                                                       

                                                                                      Which one of the above options is true?

                                                                                       

                                                                                      <snip>

                                                                                      Hi Alin Vargatu

                                                                                      The short answer is "#1".

                                                                                       

                                                                                      Here's some more detail...

                                                                                       

                                                                                      So I ran a quick test using a part which has three configurations:

                                                                                      1. “Active” this is the active configuration, the body data is saved in the part.
                                                                                      2. “Inactive-Rebuilt” this configuration has the body data saved in the part
                                                                                      3. “Inactive-NotRebuilt” this configuration does not have the body data saved in the part

                                                                                       

                                                                                      The part was deliberately placed on a very slow network connection to give me more time to observe the behavior.

                                                                                       

                                                                                      Test steps:

                                                                                      1. Create new assembly
                                                                                      2. Insert the test part, selecting the “Active” configuration
                                                                                        1. RESULT: SOLIDWORKS loads the “Active” config into memory, accessing the required configuration body data from the part file across the network
                                                                                      3. Change configuration of the inserted component to “Inactive-Rebuilt”
                                                                                        1. RESULT: SOLIDWORKS loads the “Inactive-Rebuilt” config into memory, accessing the required configuration body data from the part file across the network
                                                                                      4. Change configuration of the inserted component to “Inactive-NotRebuilt”
                                                                                        1. RESULT: SOLIDWORKS is aware that there is no body data for this config saved in the part, so rebuilds it on the fly.

                                                                                       

                                                                                      A couple more points:

                                                                                      • If I subsequently change the configuration back to a previously-used one in the same SOLIDWORKS session, it’s already cached so doesn’t need to be loaded from the network again.
                                                                                      • If I pull out my network cable after step 2, SOLIDWORKS first attempts to access the configuration data from the part file, realizes it is inaccessible so falls back to rebuilding it on the fly.
                                                                            • Re: Does using parts (such as nuts/bolts) with many configurations slow down the assembly they are used in?
                                                                              Daen Hendrickson

                                                                              One down-side to using configurations comes when combining with PDM Workgroup. Pulling BOM information from configuration specific properties (i.e., part numbers) with Workgroup doesn't work. Hopefully PDM Standard/Pro don't have these issues.

                                                                               

                                                                              With the end of WPDM this is a moot point for most. But this was a key driver to why we have a separate part file for each library fastener.

                                                                               

                                                                              Daen