Happy Monday all!
I have an assembly drawing with a repeat region table. Three of the components are bulk items, which represent adhesives used in the assembly. In this situation our practice is to call out the volume used. See the pic below. The table on the right shows the old table, which was just dumb text, and which I am in the process of replacing with the parametric one on the left. Trouble is of course, "rpt.qty" has to return an integer value.
Does anyone know how to override this value? I tried it by adding it as 3 text rows and of course I have to add the item number as text as well, and then it doesn't sort it amongst the other rows in the table, because the other item numbers are integer parameters read from the components. I don't want to reorder the other parts in order to keep the 3 text rows at the top.
Anyone else have any ideas?
Solved! Go to Solution.
Hmmm. It's working now. I have a parameter in my bulk item parts that has now magically appeared, called "BOM_REPEAT_QUANTITY". It comes from the default start part for bulk items. See below:
All I did was open the bulk part and enter a value into the field (real number). I even made a test assembly and added a few bulk items as well as one part, then created a test drawing with my standard BOM table. I didn't add a relation to the repeat region in the drawing, just left it the way it is. It gives values for rpt.qty but substitutes the number in "BOM_REPEAT_QUANTITY" when the file has that paramter.
The really cool thing is, if you add the bulk item more than once, it multiplies out the value by the number of times the bulk item is inserted.
Grahame,
Sorry I don't have the time to specifically answer your question but I have supplied a text file for the bom repeat regions I use.
This should help guide you to your answer.
ron
Thanks Ron, having trouble deciphering that text file but I will persevere.
Grahame,
Dale and I provided basically the same thing.
once you get by the syntax, it should be clear(er)
in a nutshell,
I made "a" equal to "b" in the bom relations
if i need to change "b", i do so
then I report "b" in the bom table
ron
Is that a value that you can tie to a parameter or does is fluctuate from part to part?
I set this up for parts less that "1" in some of my bill of material. See this discussion: Re: 1/2 of a part
It's not. "Rpt.qty" is a default parameter (?) which simply returns an integer value corresponding to the number of that component in the assembly.
I will look at the thread you linked to.
I went to that thread and did what Doug did, but get an error:
Invalid symbol 'asm_mbr_type' found.
"TYPE" is a parameter he has in his model. He is using the value of this part level parameter to determine what to set the quantity to. How do you identify bulk items? This is what would need to be compared in the repeat region logic.
Tom Uminn wrote:
"TYPE" is a parameter he has in his model. He is using the value of this part level parameter to determine what to set the quantity to. How do you identify bulk items? This is what would need to be compared in the repeat region logic.
Currently this is how our repeat region table is syntaxed:
&asm.mbr.ITEM &asm.mbr.name &asm.mbr.DESCRIPTION &rpt.qty
"ITEM" and "DESCRIPTION" are parameters derived from the model, whether part, assembly, or bulk item. "ITEM" is an integer, "DESCRIPTION" is a text string. So our table doesn't distinguish between types of component.
So how would you (or some other designer) know which rows contain bulk items? Is it based on the manufacturer, the description, something else???
That's easy enough to identify in the table with &asm.mbr.type :
As Tom mentioned - it returns a value of your choosing. In bulk items, it may be "AR", in mine it was "0.5".
I just set up a relation such that when it found that part in the BOM it return a value from an if/then loop instead of the repeat quantity. That is why I was asking if part "123" always used "5 drops" or was it "5" here and "8" there. Then you have a more complex situation because the table will be custom for each drawing. I was able to copy and paste my if/then table into multiple drawings because certain family of items were always used 1 part for every two assemblies or "0.5".
BOM QTY = RPT.QTY
ELSE
BOM QTY = value from list if found
(if the part is not in the list, the rpt.qty is used).
I didn't look at what Ron sent you, but basically you have to write a repeat region relation to replace the rpt.qty with some of value of your choosing, on the rows of your choosing. Take a look at this discussion: Bulk Item Qty in Repeat Region
Based on the link shown above, I put this relation in successfully:
IF asm_mbr_type == "BULK ITEM"
QTY = "AR"
ELSE
QTY = rpt_qty
ENDIF
But I get nothing in the column, which is better than an error message, I guess.
I take it that the above relation will give the value literally as "AR" if the component is a bulk item? What would the syntax be if I wanted it to point to a parameter in the bulk item itself? I have 3 bulk items with 3 different values.
Also, for the above, what would symbol be in the repeat region?
Hmmm. It's working now. I have a parameter in my bulk item parts that has now magically appeared, called "BOM_REPEAT_QUANTITY". It comes from the default start part for bulk items. See below:
All I did was open the bulk part and enter a value into the field (real number). I even made a test assembly and added a few bulk items as well as one part, then created a test drawing with my standard BOM table. I didn't add a relation to the repeat region in the drawing, just left it the way it is. It gives values for rpt.qty but substitutes the number in "BOM_REPEAT_QUANTITY" when the file has that paramter.
The really cool thing is, if you add the bulk item more than once, it multiplies out the value by the number of times the bulk item is inserted.
Answering these in sequence...
I take it that the above relation will give the value literally as "AR" if the component is a bulk item?
Correct. For his purposes, he literally wanted the text "AR" to show up in the table cell.
What would the syntax be if I wanted it to point to a parameter in the bulk item itself?
You would set QTY equal to your desired parameter. For example, if you have a part level parameter called BOM_REPORT_QTY, you would use the following relations syntax:
IF asm_mbr_type == "BULK ITEM"
QTY = ASM_MBR_BOM_REPORT_QTY
ELSE
QTY = rpt_qty
ENDIF
To make this work correctly, you may need to manually add (create) the parameter ASM_MBR_BOM_REPORT_QTY in the repeat region relations editor. (Don't worry about parameter type. It doesn't matter.)
Also, for the above, what would symbol be in the repeat region?
In this case, QTY is the custom repeat region parameter being used in place of rpt.qty, so the syntax would be "&rpt.rel.qty".
Based on your assembly member name you can give below relation. It will work.
if bom_part_number=="1001730-F"
num=".047"
else
num=rpt_qty
endif
Likewise you can give bulk items quantity to be replaced with actual unit. Hope this answer your question.
Thanks,
Jitu