What are the best pratices on where to put fasteners in the assembly hierarchy?
What are the best pratices on where to put fasteners in the assembly hierarchy?
When I attended courses at my VAR, our lecturer talked about structuring assemblies, and said that it is always better to have 10 sub-assemblies each containing 10 components, rather than 1 sub-assembly containing 100 components, because lesser number of components at any given level means faster rebuilds (exponentially less possible combinations of mate solutions that SW has to check), SW can solve each sub-assembly with different CPU thread simultaneously, it is easier for the user (less clutter, easier to understand what is happening when something is over-defined), and if such branched-out hierarchy doesn't suit BOM requirements, you can always promote sub-assembly components and have any BOM structure you require. I follow this advice, and it works great. My assemblies usually have a lot of levels, but each level is simple to work with and fast to rebuild.
The issue is with fasteners. Suppose I have a top-level assembly called Engine, which has 2 components - Motor and Gearbox. But assembling it requires a ton of fasteners. I do not want to put the on the top-level alongside these 2 components, because now the assembly becomes cluttered and difficult to work with, when essentially the assembly is just 2 components.
I have seen some companies move fasteners into one of these sub-assemblies, in this case Motor or Gearbox. That, of course, makes them a bit over-complicated, but at least the top-level assembly is clean and simple. Unfortunately, these fasteners then have no info on the other component, meaning that bolt head is floating mid-air.
Another strategy I've seen is to move all the fasteners into a separate Flexible sub-assembly. So in this case the Engine would have Motor, Gearbox and Fasteners sub-assemblies. Unfortunately for whatever reason SW rebuilds Flexible sub-assemblies far slower than simply having all the components and their mates from that sub-assembly at the top level. So this is not very rebuild-friendly.
SW has plenty of tools for selecting, suppressing, and hiding fasteners, but most of them only work with Toolbox, and I use custom library of fasteners. Even the tools that do work (grouping, placing fasteners and their mates in folders, etc.) give just a slight improvement. And once you start creating mirrored versions of your assemblies, all these fasteners become a nuisance.
How do you solve this? Maybe you could share some best practices on how you handle fasteners? Is there a workable way to keep them off the top-level assemblies?
The issue is with fasteners. Suppose I have a top-level assembly called Engine, which has 2 components - Motor and Gearbox. But assembling it requires a ton of fasteners. I do not want to put the on the top-level alongside these 2 components, because now the assembly becomes cluttered and difficult to work with, when essentially the assembly is just 2 components.
I have seen some companies move fasteners into one of these sub-assemblies, in this case Motor or Gearbox. That, of course, makes them a bit over-complicated, but at least the top-level assembly is clean and simple. Unfortunately, these fasteners then have no info on the other component, meaning that bolt head is floating mid-air.
Another strategy I've seen is to move all the fasteners into a separate Flexible sub-assembly. So in this case the Engine would have Motor, Gearbox and Fasteners sub-assemblies. Unfortunately for whatever reason SW rebuilds Flexible sub-assemblies far slower than simply having all the components and their mates from that sub-assembly at the top level. So this is not very rebuild-friendly.
SW has plenty of tools for selecting, suppressing, and hiding fasteners, but most of them only work with Toolbox, and I use custom library of fasteners. Even the tools that do work (grouping, placing fasteners and their mates in folders, etc.) give just a slight improvement. And once you start creating mirrored versions of your assemblies, all these fasteners become a nuisance.
How do you solve this? Maybe you could share some best practices on how you handle fasteners? Is there a workable way to keep them off the top-level assemblies?
- Glenn Schroeder
- Posts: 1521
- Joined: Mon Mar 08, 2021 11:43 am
- Location: southeast Texas
- x 1759
- x 2130
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
There are several options for not having the hardware in the upper level Assembly in the example you gave. I briefly described three below. There may be more.
1. Use a distance mate for the bolt head. Of course if material thickness changes the mate won't update, but if the material thickness changes you will likely need to change the length of the bolt anyway.
2. Apply the concentric mate to the bolt in the sub-assembly but leave it free to move in the other direction, set the sub-assembly as Flexible in the upper level Assembly, and mate it there.
3. Insert and mate the bolt in one sub-assembly and the nut (and washer, if needed) in the other one.
1. Use a distance mate for the bolt head. Of course if material thickness changes the mate won't update, but if the material thickness changes you will likely need to change the length of the bolt anyway.
2. Apply the concentric mate to the bolt in the sub-assembly but leave it free to move in the other direction, set the sub-assembly as Flexible in the upper level Assembly, and mate it there.
3. Insert and mate the bolt in one sub-assembly and the nut (and washer, if needed) in the other one.
"On the days when I keep my gratitude higher than my expectations, well, I have really good days."
Ray Wylie Hubbard in his song "Mother Blues"
Ray Wylie Hubbard in his song "Mother Blues"
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
I put the fasteners in the lowest assembly possible. If the gearbox mounts to the motor using 4 bolts, those bolts live in the gearbox assembly. If there is ever a condition that requires the gearbox without the bolts, create a new configuration and suppress the bolts. It's ok to have an assembly with only 1 component if that is what matches your workflow.
-
I may not have gone where I intended to go, but I think I have ended up where I needed to be. -Douglas Adams
I may not have gone where I intended to go, but I think I have ended up where I needed to be. -Douglas Adams
-
- Posts: 423
- Joined: Tue Mar 09, 2021 10:11 am
- x 439
- x 233
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
If you make a subassembly flexible you are telling SolidWorks to 'move the mates one assembly up' which forces SolidWorks to solve more mates in the top level. It is almost as bad (maybe even worse?) as if you'd have all the fasteners in the same assembly from a performance point of view.laukejas wrote: ↑Wed Dec 07, 2022 1:07 pm ...
Another strategy I've seen is to move all the fasteners into a separate Flexible sub-assembly. So in this case the Engine would have Motor, Gearbox and Fasteners sub-assemblies. Unfortunately for whatever reason SW rebuilds Flexible sub-assemblies far slower than simply having all the components and their mates from that sub-assembly at the top level. So this is not very rebuild-friendly.
...
Something I regularly do is similar to what @SPerman suggests:
Put fasteners that you will always/nearly always use with a part into its own sub-assembly and promote it (if necessary) for BOM reasons.
Example:
This bracket will always be fastened with those 4 screws. I will have to put it into various assemblies. It will be dissolved in the BOM though: This cleared up some of our assemblies significantly & makes changes also easier.
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
This is where how your company operates will drive what you do. We don't consider fasteners as components, for us they are overhead so I do not need them on the BOMs. I only show them when I need to for clearance issues or if they are special, non stock ones. This works for us as we are setup to operate this way on the costing side. Our larger assemblies already take a long time to open/regen so added thousands of fasteners would just make it worse no matter what sub level they are on.
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
In our scenario we put hardware in similar to how the part progresses through manufacturing. So it's in the model and drawing for the part number that consumes them in ERP. Mostly.
Examples:
- weldnuts are in the assembly model for the welded part
- T-nuts go in the assembly with the board part number.
- clinch nuts and studs go in the assembly model that gets a part number for the manufactured part after the pressing op.
- attaching hardware becomes a mess and is a not worth going into all the intricacies we deal with in detail. In short the attaching hardware goes in the thing that bolts to the thing that has weld nuts or studs. Hardware does not go in the level that puts the two sub things together.
It really depends on your specific use case.
Examples:
- weldnuts are in the assembly model for the welded part
- T-nuts go in the assembly with the board part number.
- clinch nuts and studs go in the assembly model that gets a part number for the manufactured part after the pressing op.
- attaching hardware becomes a mess and is a not worth going into all the intricacies we deal with in detail. In short the attaching hardware goes in the thing that bolts to the thing that has weld nuts or studs. Hardware does not go in the level that puts the two sub things together.
It really depends on your specific use case.
- jcapriotti
- Posts: 1868
- Joined: Wed Mar 10, 2021 6:39 pm
- Location: The south
- x 1211
- x 1998
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
For us its based on logical assembly operations in the factory production line.
For this scenario the factory BOM might look like:
The top assy and bottom assy may get built and stocked for final assembly in a different cell.
In SolidWorks, it's built the same way. Usually these fasteners follow a pattern that could be driven from the underlying parts, if the mounting holes are built with pattern features. That simplifies the top assembly fasteners as you can the component pattern follow the part's pattern. It may take more than one assembly level pattern.
Or sometimes you just create tree folders to organize it if you need to mate many of them individually.
For this scenario the factory BOM might look like:
The top assy and bottom assy may get built and stocked for final assembly in a different cell.
In SolidWorks, it's built the same way. Usually these fasteners follow a pattern that could be driven from the underlying parts, if the mounting holes are built with pattern features. That simplifies the top assembly fasteners as you can the component pattern follow the part's pattern. It may take more than one assembly level pattern.
Or sometimes you just create tree folders to organize it if you need to mate many of them individually.
Jason
-
- Posts: 321
- Joined: Thu Mar 11, 2021 8:38 am
- x 48
- x 390
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
We put the hardware where it would be assembled in real life. So your top assembly file for us, would be Motor, Gearbox and then all associated fasteners to hold the two together, which would then become the manufacturing BOM. Component patterns are used extensively to get all the fasteners where they need to be in the model.
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
don't forget you can put fasteners (or any component) in folders in the assembly. So the tree shows 3 components.
_________________________________________________________________________
"To succeed, planning alone is insufficient. One must improvise as well."
Salvor Hardin in Isaac Asimov's Novel, "Foundation"
"To succeed, planning alone is insufficient. One must improvise as well."
Salvor Hardin in Isaac Asimov's Novel, "Foundation"
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
Thank you for your input, guys. You gave some really great suggestions.
I really like this idea. Simple and logical. Somehow I've never seen any companies do this, but it sounds like the way to go. I will try and see how it goes.
Also, for those who are using custom fastener libraries (as opposed to Toolbox), do you have a preferred method of patterning these fasteners in bulk? For example, suppose you have a part in an assembly with lots of M5 holes, all made with different features (some individually, some with pattern features, some mirrored, etc.). And now you need to fill all these M5 holes with a specific type of bolt. What workflow would you use? If all these holes were done with some pattern feature, then Pattern Based Component Pattern would take care of it, but in most parts at least some of these holes won't be part of a pattern feature. So now you have to insert some bolts manually, some with Pattern Based Component Pattern, some with Mirror, etc. As a result, these bolts are now spread all over the feature manager tree - some next to components, some inside assembly features, etc. No single folder/whatever that would group them together. The only alternative I know that would put all these fasteners in the same place is inserting each of them manually, or dissolving patterns (which loses all parametric stuff). Any suggestions?
Glenn Schroeder wrote: ↑Wed Dec 07, 2022 1:53 pm ...
3. Insert and mate the bolt in one sub-assembly and the nut (and washer, if needed) in the other one.
SPerman wrote: ↑Wed Dec 07, 2022 1:55 pm I put the fasteners in the lowest assembly possible. If the gearbox mounts to the motor using 4 bolts, those bolts live in the gearbox assembly. If there is ever a condition that requires the gearbox without the bolts, create a new configuration and suppress the bolts. It's ok to have an assembly with only 1 component if that is what matches your workflow.
I really like this idea. Simple and logical. Somehow I've never seen any companies do this, but it sounds like the way to go. I will try and see how it goes.
I remember doing some tests, and I noticed that Flexible subassemblies solve far slower than if their components and mates were in the top level. Which makes no sense to me, because like you said, Flexible assemblies should mean that SW moves the mates one assembly up. So the performance should be identical. I wonder if anyone knows why this is so.berg_lauritz wrote: ↑Wed Dec 07, 2022 2:06 pm If you make a subassembly flexible you are telling SolidWorks to 'move the mates one assembly up' which forces SolidWorks to solve more mates in the top level. It is almost as bad (maybe even worse?) as if you'd have all the fasteners in the same assembly from a performance point of view.
Really good points. Thank you.bnemec wrote: ↑Wed Dec 07, 2022 2:09 pm In our scenario we put hardware in similar to how the part progresses through manufacturing. So it's in the model and drawing for the part number that consumes them in ERP. Mostly.
Examples:
- weldnuts are in the assembly model for the welded part
- T-nuts go in the assembly with the board part number.
- clinch nuts and studs go in the assembly model that gets a part number for the manufactured part after the pressing op.
- attaching hardware becomes a mess and is a not worth going into all the intricacies we deal with in detail. In short the attaching hardware goes in the thing that bolts to the thing that has weld nuts or studs. Hardware does not go in the level that puts the two sub things together.
It really depends on your specific use case.
Yeah, but that's just visual. All the mates are still in the top-level, and have to be solved, which in a large assembly can be significant. If it were possible to put these fasteners into an actual sub-assembly (Flexible) rather than a folder, then it would be a bit better (easy to select them all, hide them all, and do operations that don't work on folders). Unfortunately, like we discussed Flexible sub-assemblies slow down program far too much for whatever reason.
Also, for those who are using custom fastener libraries (as opposed to Toolbox), do you have a preferred method of patterning these fasteners in bulk? For example, suppose you have a part in an assembly with lots of M5 holes, all made with different features (some individually, some with pattern features, some mirrored, etc.). And now you need to fill all these M5 holes with a specific type of bolt. What workflow would you use? If all these holes were done with some pattern feature, then Pattern Based Component Pattern would take care of it, but in most parts at least some of these holes won't be part of a pattern feature. So now you have to insert some bolts manually, some with Pattern Based Component Pattern, some with Mirror, etc. As a result, these bolts are now spread all over the feature manager tree - some next to components, some inside assembly features, etc. No single folder/whatever that would group them together. The only alternative I know that would put all these fasteners in the same place is inserting each of them manually, or dissolving patterns (which loses all parametric stuff). Any suggestions?
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
All our hardware has part number and under rev control, ie. no COTs. We do not use patterns or much of any automatic placing of these components like hardware. We've tried several times in Solid Edge wound up it wasn't worthwhile. We've looked at in Solidworks to a lesser extent but looks like about the same. Our usage just doesn't warrant it. We have very few parts with threaded holes (except for nuts ), and most of the hardware goes through slots, or square holes and we almost never use the hole feature, extrude cut has proven the better option for us. But again, it all depends on what you're modeling and how the external requirements press into your CAD processes.
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
I started down that path for assembly performance. (Like your VAR said, SW is much better at solving 10 assemblies with 10 constraints vs 1 assembly with 100.)
You are now asking SW to solve mates across two assemblies. But that doesn't completely explain it either. There is additional overhead to flexible assemblies. I use them when needed for packaging, but I don't use them for any "production" configuration.laukejas wrote: ↑Thu Dec 08, 2022 1:43 pm I remember doing some tests, and I noticed that Flexible subassemblies solve far slower than if their components and mates were in the top level. Which makes no sense to me, because like you said, Flexible assemblies should mean that SW moves the mates one assembly up. So the performance should be identical. I wonder if anyone knows why this is so.
Using a sketch based pattern would allow you to place all of the fasteners in one feature, but that comes with it's own overhead and potential problems.laukejas wrote: ↑Thu Dec 08, 2022 1:43 pm Also, for those who are using custom fastener libraries (as opposed to Toolbox), do you have a preferred method of patterning these fasteners in bulk? For example, suppose you have a part in an assembly with lots of M5 holes, all made with different features (some individually, some with pattern features, some mirrored, etc.). And now you need to fill all these M5 holes with a specific type of bolt. What workflow would you use? If all these holes were done with some pattern feature, then Pattern Based Component Pattern would take care of it, but in most parts at least some of these holes won't be part of a pattern feature. So now you have to insert some bolts manually, some with Pattern Based Component Pattern, some with Mirror, etc. As a result, these bolts are now spread all over the feature manager tree - some next to components, some inside assembly features, etc. No single folder/whatever that would group them together. The only alternative I know that would put all these fasteners in the same place is inserting each of them manually, or dissolving patterns (which loses all parametric stuff). Any suggestions?
-
I may not have gone where I intended to go, but I think I have ended up where I needed to be. -Douglas Adams
I may not have gone where I intended to go, but I think I have ended up where I needed to be. -Douglas Adams
-
- Posts: 423
- Joined: Tue Mar 09, 2021 10:11 am
- x 439
- x 233
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
Interesting. Might I ask why you don't use the hole feature?bnemec wrote: ↑Thu Dec 08, 2022 1:51 pm All our hardware has part number and under rev control, ie. no COTs. We do not use patterns or much of any automatic placing of these components like hardware. We've tried several times in Solid Edge wound up it wasn't worthwhile. We've looked at in Solidworks to a lesser extent but looks like about the same. Our usage just doesn't warrant it. We have very few parts with threaded holes (except for nuts ), and most of the hardware goes through slots, or square holes and we almost never use the hole feature, extrude cut has proven the better option for us. But again, it all depends on what you're modeling and how the external requirements press into your CAD processes.
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
Several reasons for various cases, no one thing would totally exclude hole features on it's own. We still use them, not like they're taboo or anything, just not worth while most of the time. I went into more detail but realized I'm going off topic so deleted it.berg_lauritz wrote: ↑Fri Dec 09, 2022 9:36 am Interesting. Might I ask why you don't use the hole feature?
-
- Posts: 423
- Joined: Tue Mar 09, 2021 10:11 am
- x 439
- x 233
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
We had similar problems with placing lots of fasteners because we did not use the hole wizard. After we started using it, it became way easier to place fasteners because you can just pattern them & you can easily suppress the patterns too (by naming a specific way & having a macro to suppress them i.e.). That is why I don't think it would be "too off topic" here.bnemec wrote: ↑Fri Dec 09, 2022 9:51 am Several reasons for various cases, no one thing would totally exclude hole features on it's own. We still use them, not like they're taboo or anything, just not worth while most of the time. I went into more detail but realized I'm going off topic so deleted it.
- jcapriotti
- Posts: 1868
- Joined: Wed Mar 10, 2021 6:39 pm
- Location: The south
- x 1211
- x 1998
Re: What are the best pratices on where to put fasteners in the assembly hierarchy?
We standardized this......if the holes get bolts, screws, pins, standoffs, insertnuts, tie-wrap anchors, etc...hole wizard is mandatory. Cut-extrude holes are allowed if making single use holes usually for general purposes....like a shaft opening, wireway, or access opening. It's not 100% clear in all cases but those are the "somewhat mandatory" guidelines that we try to enforce. Just too many benefits to hole wizard holes like callouts, hole tables, distinct icon, assembly driven patterns, etc.bnemec wrote: ↑Fri Dec 09, 2022 9:51 am Several reasons for various cases, no one thing would totally exclude hole features on it's own. We still use them, not like they're taboo or anything, just not worth while most of the time. I went into more detail but realized I'm going off topic so deleted it.
Jason