Community Tip - Did you get called away in the middle of writing a post? Don't worry you can find your unfinished post later in the Drafts section of your profile page. X
Hopefully you guys can help, because I'm sure there is an easier way than we are doing this.
We have assemblies that ship along with bagged up extra hardware. In a lot of cases we also call out hardware that will be required but we are not providing. This has been an annoying task for us, but we have been successful in most regards. The main issue lies when the same hardware is used in the assembly and also is shipped loose.
Currently we create one BOM that lists the parts/hardware that is assembled in the shop. We then place a separate BOM for each ship loose pack on the next sheet, filter out all shop assembled items, and flatten this pack.
This works unless some of this hardware is also in the top level, because it then merges with it and will not appear in this BOM. The BOM above represents (16) assemblies of a nut, screw, lock, and (2) flat washers. These all get thrown in a bag with a label for shipping.
What I would like to do is created a Nested Repeat Region that filters the BOM for only items with "~~~" in the description (that's how we designate items that aren't assembled) and then be able to show the total quantity of items that are going in each bag.
I've accomplished all of this except the total quantity. What I have is the quantity of the assembly and then of each item in that assembly. Although it is technically right, it isn't what we need.
Is there a Repeat Region relation that I can use to tell it to multiple all part quantities by the assembly quantity and list that in a new parameter that I will assign to that column? (part.qty * asm.qty = total.qty)
We've done this for multiplying an entire BOM's quantity by a set number, but not for multiplying a part by its parent's quantity.
Thanks.
It looks like no one has any idea how to multiply the quantities based on parent quantities
Does anyone know of a better way to do this in general?
Is there not enough information or is my original post confusing?
I appreciate any feedback I can get.
I personally didn't really understand what you meant, a dummy assembly & model tree might help.
If I understood that correctly you flag the components as:
-assembled in the shop
-shipped loose
-extra hardware
Do you flag them using parameters?
And what do you mean by "This works unless some of this hardware is also in the top level, because it then merges with it and will not appear in this BOM"?
Daniel,
Thank you for taking a look.
We don't flag anything with Parameters. I've seen this mentioned while researching this issue, but am still not sure how it works, or to use it. It certainly sounds like something that would be useful to us. My take is that you use a Parameter to mark something as "shipped loose" etc. but then I'm not sure how you use that to your benefit in the BOM. Do you have any links, etc. that further describe the process/implementation?
To better explain, let me use flange hardware as an example. We make an assy with one bolt, etc. in it and then put that in a flange however many times are necessary.
In a typical assembly we flatten this sub so the individual hardware shows up in the BOM.
In some cases though, we provide the hardware but it is field assembled instead of in the shop. In this cases we add another table with the repeat region, filter out all other items, and then flatten the hardware sub. This allows us to show the assembly (which is used to name the box of hardware being provided) and then the quantity of each piece of hardware that should be in the box. This process works perfectly fine in almost every case. Where we have issues is if there shop assembled hardware within the assembly and more of the same hardware being shipped in a box. If this is the case, even if we have filtered out all hardware in the region before flattening the hardware sub, the region combines these like items with the ones that were already filtered out (if 4 bolts are assembled and 8 were shipping loose, it combines them into a single line item with a qty of 12).
I hope that clarifies what we are doing.
Now it’s clear. The way I would solve this would be by creating a Simp-Rep where all "not in BOM" components are excluded. Then make a BOM of the Rep. Usually with Reps you lose the ability to create clean BOM-Balloons (Topic: https://community.ptc.com/t5/Assembly-Design/BOM-Balloons-for-simplified-reps/m-p/111886#M12087), but since you want to flatten it anyway that doesn't matter.
You can either create a Simp-rep for every sub-assembly, and reuse it in the main ASM, or just create one in the main ASM. That’s your choice, depending on your needs.
Regarding Parameters: They don't have anything to do with your issue, however, it might speed up the process of creating your BOMs if you use them to flag your parts. I guess with parameters it's even possible to automatically create the Simp-Reps using mapkeys or alike, however, for that someone else should help you, since I'm not to founded in that topic.
Hope it helps
Regards Daniel
Edit: I realized that flattening is kind of a disturbing term, if I got this correct, you actually mean the "no duplicates" function.
Thank you, again. Simplified Reps probably could be used, but like you said, that doesn't allow us to balloon where they will be installed at, and would require us to add view specifically for that. The drawings we are working on are already 20+ pages, and we don't want to make them any larger since they are difficult to work with.
When I mentioned "flattened", I was referring to flattening the BOM (the flatten/recursive option) so that we could see the parts in the sub-assembly, since we make subs of our hardware stacks.
I've found a lot of "close" answers, but nothing that gives us the functionality we need. I'll try to make up a small sample assembly to share in hopes that it clarifies things and maybe some others will chime in as well.
Okay, so you’re using
-recursive
-No duplicates /level
And you only flag your Parts in the description
"Where we have issues is if there shop assembled hardware within the assembly and more of the same hardware being shipped in a box. If this is the case, even if we have filtered out all hardware in the region before flattening the hardware sub, the region combines these like items with the ones that were already filtered out (if 4 bolts are assembled and 8 were shipping loose, it combines them into a single line item with a qty of 12)."
I was able to reproduce this, if I understand that correctly, you want "no duplicates" but only for a certain sub-assembly.
Your Main-asm could look like this. Now you want to put the green parts are in a separate BOM
In this group, you want to show the total QTY of the included components
usually, this is done by setting "no duplicates", however, if you do that, QTY of screw would merge with the top level and would count 7. (I think Screw in sub-B would be ignored)
And if you just set "no duplicates" on ~~~Sub-A, it won’t take into account that you need ~~~Sub-A two times
Is this correct?
Regards Daniel
(used wrong PTC account)
Yes, Daniel. That is exactly what we're trying to do. I'm trying to put together a sample model/drawing as well, but real projects keep getting in the way. 😂😫