Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X
Ok, So, I know how to make BOMs auto populate but I am having a reallllllylyyy hard time finding how to make the BOM list the properties I want it to. I would like to have the BOM automatically populate a field "refrence number" as can be set in the 3d part file in define attributes (as well as material name description etc those I know how to do) but I can not find an option in the report symbol menue that lets me select the part's refrence number.
WF 4.0
Anyone have any ideas how I can get the BOM to list the refrence number from the part?
Better yet, anyone have a list of what the heck all those abbreviated things in the report symbol list are?
asm
mbr
user defined (how does this help? where would i enter the info in the part file?)
cblprm??????
cblprms????
comp????
connprm?????
cparam?????
Cparams???
generic (same as user defined?)
Location... ok
name... ok
param?
pipe?
ptc_common_name
ptc material ok
ptc unit ok
top generic?
type?
name
ptc_common_name
dgm ?????????????? and all sub menues.....
fam ????????????
ham????????????
lay????????????
material .. ok
mbr (same as asm sub menue) ?
mdl?
mfg ok?
prs ?????????
rpt ok
weldasm ok
Talk about non descriptive.... not even the file command lists what in the world they mean/do/refrence
Solved! Go to Solution.
Hi Josh...
Mr. Mahanta has pointed you down the right path. Over the years I've worked extensively with Pro/REPORT. This is the subsystem within Pro/ENGINEER and Creo that handles things like automatic BOM population. Those report symbols can be tricky. Some of them actually perform duplicate actions. All of them have a specific purpose.
What Mr. Mahanta was describing was that "user defined" is meant for you to add your own custom parameter names. There are several common parameters most companies use in their bills of materials:
rpt.index - This parameter keeps track of sequential item numbers (also called "find numbers") in the BOM. The system maintains and automatically increments this number starting at "1".
rpt.qty - This parameter keeps track of the total quantity of each item. The system maintains and automatically increments this number starting from "1".
asm.mbr.name - This parameter contains the name of each component (part or subassembly) in an assembly.
When you go to select report symbols, you can select from multiple levels of parameters. As you showed before, the menu cascades to allow a host of potential selections. Most of them are irrelevant unless you're making a specialized BOM for cabling or piping. It would take a very large space to fully explain what each of the items in the list are used for. There's some documentation in the Pro/E help files but it's rather confusing. I've listed some of the basics below. One thing to note... you almost never need to use ANY of the parameters below except for asm.mbr.name and the "user defined" one. The rest are very specialized and you'll rarely, if ever, use them.
asm
mbr
cblprm - Cabling use
cblprms - Cabing Use
comp - Cabling Use
connprm - Cabling Use
cparam - Cabling Use
Cparams - Cabling Use
generic - For use with family tables. Returns name of the generic part/assembly
name - Returns the name of each component in an assembly
param - For use with 2D nested repeat regions
pipe - For use with Piping
type - Returns type of each component (assembly, part, etc)\
user_defined - Allows you to fill in your own parameter name
Perhaps the most useful parameter is the "user defined" one. Any parameter you have set in the 3D model can be accessed using the "user defined" parameter.
For example, let's say you have the following parameters set inside your 3D models (accessed by going into Tools>Parameters😞
Description = "Bushing, Size #2, Stainless Steel, #150"
Part_Number = "123456-111"
Designers_Name = "Martin"
To access these parameters in your BOM, you'd use the parameters:
asm.mbr.description
asm.mbr.part_number
asm.mbr.designers_name
Notice that these are not in the standard list of options but you can add your own parameters at will in this fashion.
I'm not sure this is making sense... but I hope it helps. If it's still muddy, write back and I'm sure Mr. Mahanta and I can help further.
Thanks!
-Brian
Hi
I can help you in
asm
mbr
user defined
to use this first you should have user defined parameters
go to part
go to tools > parameters
here you can add your parameters
you can later use these parameters in your bom
if you need any additional help , please ask
regards
K.Mahanta
Hi Josh...
Mr. Mahanta has pointed you down the right path. Over the years I've worked extensively with Pro/REPORT. This is the subsystem within Pro/ENGINEER and Creo that handles things like automatic BOM population. Those report symbols can be tricky. Some of them actually perform duplicate actions. All of them have a specific purpose.
What Mr. Mahanta was describing was that "user defined" is meant for you to add your own custom parameter names. There are several common parameters most companies use in their bills of materials:
rpt.index - This parameter keeps track of sequential item numbers (also called "find numbers") in the BOM. The system maintains and automatically increments this number starting at "1".
rpt.qty - This parameter keeps track of the total quantity of each item. The system maintains and automatically increments this number starting from "1".
asm.mbr.name - This parameter contains the name of each component (part or subassembly) in an assembly.
When you go to select report symbols, you can select from multiple levels of parameters. As you showed before, the menu cascades to allow a host of potential selections. Most of them are irrelevant unless you're making a specialized BOM for cabling or piping. It would take a very large space to fully explain what each of the items in the list are used for. There's some documentation in the Pro/E help files but it's rather confusing. I've listed some of the basics below. One thing to note... you almost never need to use ANY of the parameters below except for asm.mbr.name and the "user defined" one. The rest are very specialized and you'll rarely, if ever, use them.
asm
mbr
cblprm - Cabling use
cblprms - Cabing Use
comp - Cabling Use
connprm - Cabling Use
cparam - Cabling Use
Cparams - Cabling Use
generic - For use with family tables. Returns name of the generic part/assembly
name - Returns the name of each component in an assembly
param - For use with 2D nested repeat regions
pipe - For use with Piping
type - Returns type of each component (assembly, part, etc)\
user_defined - Allows you to fill in your own parameter name
Perhaps the most useful parameter is the "user defined" one. Any parameter you have set in the 3D model can be accessed using the "user defined" parameter.
For example, let's say you have the following parameters set inside your 3D models (accessed by going into Tools>Parameters😞
Description = "Bushing, Size #2, Stainless Steel, #150"
Part_Number = "123456-111"
Designers_Name = "Martin"
To access these parameters in your BOM, you'd use the parameters:
asm.mbr.description
asm.mbr.part_number
asm.mbr.designers_name
Notice that these are not in the standard list of options but you can add your own parameters at will in this fashion.
I'm not sure this is making sense... but I hope it helps. If it's still muddy, write back and I'm sure Mr. Mahanta and I can help further.
Thanks!
-Brian
Brian,
I am working on a multi-configuration BOM and I am having some problems manipulating it. I need to have a -001 and -002 item in the Bill Of Materials and I have got it work and populate the quantities correctly. The problem is that when you have this type of BOM, you have to use the rpt.qty in the report symbols. This allows you to add the different models in the BOM. The problem is that I need to add material such as glue, paint, etc... and I need to write a relation to put the "AR" As Required to put in place of the quantity in the BOM. Using the report symbols of singe item configuration of rpt.rel.userdefined I can write a relation to put this in. As shown below
if asm_mbr_type=="BULK ITEM"
quantity="AR"
else
quantity=rpt_qty
endif
I have not been able to find a solution to put the AR in the multi BOM configuration and PTC is saying it is not possible. Have you come across this before and hopefully have a solution?
... See response in email. I'll post results here, too!
Thanks!
-Brian
Okay... I got this to work!
This is one of those situations where I hate to say "it can't be done in Pro/E". This specific situation right here is the reason. Everything you read in the documentation and everything you read on the PTC Knowledgebase suggests you can't get an automatic BOM like the one shown here... (click for a larger size that's easier to read).
However, with some trickery and a bit of patience, you can often overcome the apparent software limitations to achieve a desired effect. To restate the problem...
Obviously these two statements are in conflict. You display the default parameter AND simultaneously override the default parameter in the same column.
The solution? Make separate columns and use some of that trickery I mentioned to make it appear as though there's only ONE column. See below...
Definitely click those slides to see them in better resolution. I think this achieves the effect we're after. There's one tiny problem with this approach but for most applications, I think this will suffice.
Please let me know if this works out for you or if you have any problems!
Best regards,
-Brian
PS: If you're wondering what the "tiny problem" is... it's that the table relation will only be evaluated for model #1. If you have a bulk item in Model #1 that does NOT appear in Model #2, you'll still see the AR next to Model #2. Hopefully this won't happen. In most cases the technique above will give you what you need. However, in cases where you DO have different bulk items in each model, there's still another way to solve the problem. If you happen to need this, write back and I'll try to explain how to correct this rare issue.
Of course now that I'm re-examining the BOM you posted, now I'm thinking you need the alternate technique posted in the "PS".
Egad! It never ends.
The "fix" for the problem with the table relation is to use a COMMENT COLUMN in your BOM rather than trying to use the table relation. The table relation technique breaks down when you have multiple models that may/may not have the same bulk items. But the "Comment Column" technique will allways work.
You'll still need to make a table with extra cells as shown in the previous example. I would still make one cell at .48" width and another at .02" width (for cell that appears to be .50" wide). You can always adjust this to suit your needs. The trick is to make one cell very large and one very small- just a sliver. That way when you erase the line between the cells, the result looks convincing. You want the quantity text to appear in the center of this new "fake" cell. If your smaller column is not very tiny, your text will look "off".
Instead of using &rpt.rel.quantity (or some other parameter) to drive the smaller column, you simply make that column a COMMENT column. Go to Table-->Repeat Region-->Column and select the small columns.
Once this is done, you can double-click in any of those small cells and enter text. Use "AR " (with the space) and set the font to .72 width (instead of the default .80). You may have to play with the font width or justification to make it work out. I gave the values that work for a .50" cell comprised of two smaller cells (.48 + .02) Other combinations are possible.
The trick with a comment cell is that you DO have to enter the "AR " manually. Yet if the BOM re-orders, those comments will "stick" to the find number/BOM item you attached them to. This is the great thing about Comment cells. They allow you to enter text manually- yet they look and behave as if they're part of the repeat region parameters.
Try it out... and if you're confused by reading this, let me know and I'll illustrate what I'm talking about.
Thanks!
-Brian
Sorry to go crazy on replies. It just occurred to me... if you simply save off a copy of your table, I can reconfigure it for you and send it back with the comment columns already in place. You can upload things like this using the "Advanced Editor". Looking at the complexity of your BOM, it might be easier for me to demonstrate the technique by showing you on your own BOM.
Just throwing it out there as a courtesy.
Thanks (for like the 5th time)...
-Brian
Hello Brian,
I like the solutions you've presented here and I may have to bite the bullet and implement one of them but before I go down that path I want to present a different solution and see if you can tell me where I am going wrong. I am currently doing the exact same thing with a configuration BOM and I thought I had found a solution but it falls short. I am hoping you can tell me why it falls short and maybe just maybe you can come up with a better solution.
I have created an over simplified example of what I am actually working on just to make things easier. Here is what I have so far:
I have a parent assembly: TEST-000, which is used to simply drive what components exist in the child assemblies.
I have a child assembly: TEST-001
I have another child assembly: TEST-002
When I create the BOM using the repeat region and insert columns using the REPEAT REGION>COLUMN MODEL/REP here is what I end up with:
You can see in this example I have two variations, "001" & "002" with some combintation of 4 parts. So let me stop here and ask a couple of questions. First, the table was originally setup to be sorted by PART # in descending order. Why does the repeat region resort it after I insert the column model/rep and can I undo this? Second, how do I get the dash ("-"), like you have in your example, to show up instead of leaving a blank cell? These are minor annoyances but it would be nice to figure this out.
Now here is where I tried to do some free thinking and get creative. In this table, 680-032-001, is a Bulk Item and I'd like it's BOM report quantity to read"A/R". So, of course I tried the usual by adding the following relation:
IF asm_mbr_name == "680-032-001"
QTY="A/R"
ELSE
QTY = rpt_qty
ENDIF
But obviously this fails because each column is unique to it's specific model. So what I did was look at the properties of the first cell in each column to determine what it was actually reporting. Here is what I found:
001 column: qty.m6r0
002 column: qty.m7r0
So from here I then modified my relations to read as follows:
IF asm_mbr_name == "680-032-001"
QTY001 ="A/R"
ELSE
QTY001 = qty_m6r0
ENDIF
IF asm_mbr_name == "680-032-001"
QTY002 ="A/R"
ELSE
QTY002 = qty_m7r0
ENDIF
I then added the relation to each column accordingly:
001 column: rpt.rel.QTY001
002 column: rpt.rel.QTY002
Last, I regenerated the BOM and here is what I get:
You can see I get the "A/R" to show up as desired. Additionally, you can see the quantity for 110-013-010 is reflected appropriately for the respective assembly. The challenge with this is that the items which have a quantity of 0 for either assembly now show 0 for all configurations.
Do you have any thoughts on how to overcome this?
Thanks
Mike
Hey Mike,
I've tried to add different relations to your table, but the table now acts as if it had flat attribute defined, and not the recursive one. After adding some different relations (showed on following picture), two more lines just popped up into the table. It's pretty odd.
I also tried to sort the table rows using "&ASM.MBR.SORT Forward" line in Sort Regions window. It seems to be sorting by the subassemblies as they go one after another, while if the parts get stacked together, the last subassembly always wins.
EDIT: Is there a way to change solid type part to bulk type once it's been already created?
Can anyone tell me how to hide the line between the two columns in Brian's example. I've tried doing a column merge but when I do this I lose the ability to define the contents of each cell independently, which is what I expected but I didn't know how else to remove the line... I am sure it's a really simple solution but that is the only part I am hung up on in the example...
Thanks in advance,
Mike
UPDATE:
I figured out one method seconds after posting this....
Not sure if this is what Brian did but in the end I get the desired result.
Here are the steps in case anyone else is wondering.
1. Highlight the entire table.
2. Go to TABLE>LINE DISPLAY... The TABLE LINE menu appears
3. Select "BLANK"
4. Simply click on the lines which you would like to hide.
I knew it was a simple solution.
Message was edited by: Michael Mihalka
Just FYI... Yes, this is how I did it. Sorry I didn't mention that!