Community Tip - Stay updated on what is happening on the PTC Community by subscribing to PTC Community Announcements. X
In my drawing of an assembly I have 3 sheets. Each sheet is an exploded "stage" of the assembly. On these sheets I am creating a repeat region for every stage that will list the exploded parts of that assembly, easy enough I think...
So my issue is this, in the assembly I have a certain screw that has a qty of 18. But, not all of the 18 screws are on the same exploded view, 12 are on one sheet and 6 are on the other. Is there a way I can change the value of the quantity in the individual tables? I've seem ways where people can use relations, but I don't think this would work for me as I figured it would update both tables the same, as in the second table would also show a qty of 12 when I need it to show 6.
To further explain my drawing, I use 3 simp reps from view manager and just named them stage 1, stage 2 and stage 3 and then as my stages progress I exclude the parts/assys that were shown in the previous exploded view. Stage 1 is basically everything in the top level assembly. but only the outer most parts/assys are exploded. When I get to stage 2, all the parts/assys from stage 1 that were part of exploded view are excluded via simp rep and the next set of outer most parts/assys are exploded for stage 2. Then same process for stage 3 where all stage 1 & 2 parts/assys are excluded via simp rep.
Solved! Go to Solution.
You can - it isn't fully automatic, but neither is actually making the assembly on the shop floor.
What you need is to do is add two Component Parameters (not parameters in the part) to each component in the Assembly. One will be the Item Number and the other is the Assembly Step. I usually use the String type for parameters that don't have to be a number.
Then, for each sheet, set up a Repeat region** that filters out all except the matching step and use the asm.cparam.Item_Number instead of the default rpt.item (I think that's it) and set the Table Properties to use the asm.cparam.Item_Number as the balloon source. The rpt.qty should add up only the items that aren't excluded by the repeat region filter.
If you add the display of the Component parameters to the model tree view in the Assembly window, you can just click on any entry - if it doesn't have a value, Creo will prompt for the parameter type and the value; if it already has a value you can just type a new one. For entering the assembly step I'd create a mapkey that does it all (one key to edit the parameter, enter the type, and add the step string for each step); for the others a mapkey to set the parameter type.
**The can be more than one repeat region per sheet; this problem doesn't require that.
Hi,
You can assign the individual simplified rep to the tables
Select repeat region>Model/Rep> select table> select assembly & desired rep
hope this helps
Pushkar
The only issue with assigning reps is on one exploded view all screws are part of the rep because the unexploded screws are in the model still being shown in the assembly.
So when one rep will be correct and only show a 6, the rep for the assembly up a level (where I need to show 12) will show 18 still.
You can - it isn't fully automatic, but neither is actually making the assembly on the shop floor.
What you need is to do is add two Component Parameters (not parameters in the part) to each component in the Assembly. One will be the Item Number and the other is the Assembly Step. I usually use the String type for parameters that don't have to be a number.
Then, for each sheet, set up a Repeat region** that filters out all except the matching step and use the asm.cparam.Item_Number instead of the default rpt.item (I think that's it) and set the Table Properties to use the asm.cparam.Item_Number as the balloon source. The rpt.qty should add up only the items that aren't excluded by the repeat region filter.
If you add the display of the Component parameters to the model tree view in the Assembly window, you can just click on any entry - if it doesn't have a value, Creo will prompt for the parameter type and the value; if it already has a value you can just type a new one. For entering the assembly step I'd create a mapkey that does it all (one key to edit the parameter, enter the type, and add the step string for each step); for the others a mapkey to set the parameter type.
**The can be more than one repeat region per sheet; this problem doesn't require that.
Just so I got this right, I should be in my top level assembly, in parameters window, under the "look in" drop box, select component and then select the component I want to modify?
I'm also struggling to add the component parameters to the tree column. I've tried searching through the different choices they give in the tree column option, as well as create the parameter inside same window.
David,
This seems to have worked in the sense of separating the qty for the screws, but now I cannot filter by item due to having asm.mbr.cparam.
I'm away from Creo until next Monday - so I'm going from memory.
The parameter will have to be typed into the model tree column selector; I think they won't show otherwise.
I don't see why filtering on the Step would fail (asm.mbr.cparam.Step <> "STEP_1", I think,for example), but you should be able to create a rule for the Simplified Reps based on the component Step parameter. This will automatically filter the Repeat Region based on the relevant simplified rep.
So it's not actually failing on the asm.mbr.cparam.assembly_step itself. When I try to filter by item, it states, "you may not perform this action due to symbol asm.mbr.cparam." So its not allowing me to exclude by item because of my two component parameters that are in the repeat region.
I've tried looking into how to create the rules by relations, but I can't find anywhere that explains how to use the commands, I just know where to find them. Could you elaborate on how to create the rules for the simplified reps based on the component step parameter?
Also with the model tree column, when I am in the model tree column selector, there is no component parameter type. The only parameter options under the "type" drop box are ... model, database, features, annotation elem, cabling and mass properties. I've added both parameters in manually under model but it adds the parameter as a part and not a component. This isn't a big concern though, I just created a mapkey, like you said, that would input both parameter as I selected the different components down the list. Then I can actually change the value in the repeat region.
I may recall this incorrectly, but it is filter by rule I was thinking of; filter by item is picking one entry at a time.
Select the model tree selector and choose model (or feature??) There will be other choices below that, and eventually you get a list of other parameters with a blank field at the bottom. You can type in the parameter name in the blank field.
The simplified rep control is by Rule, and rules are generated the same way as using the Binocular search tool, except in the Simplified Rep it's very useful to save the query. I think the only real trick is having to click on a blank pulldown to see the "new rule" dialog. PTC is too clever when it comes to hiding things like that.
Okay I got the tree column to work, I had to select feat param.
So when I filter by rule, and enter a name it does not bring up the window you mentioned (similar to search window). Instead it just asked for another rule name (for a second rule) and I can cancel and then go to edit where it takes me to notepad.
What I really want is a "how-to" when entering rules. I cannot find anything that explains how to use the commands. How does PTC not have a help page explaining how to input each command to do different things. All I found on the internet is to use asm.mbr.cparam != (file name) if you want to remove and asm.mbr.cparam ==(file name) if you want to include.
So how does this work for my situation, can I make a rule that will filter depending on the value of the reported parameter?
I'm sorry I spoke too soon, I originally tried using &asm.mbr.cparam.assembly_step !=2, then I recalled when I was entering data through the tree I saw that string values used " " <--- those so I went back into the rules and it worked.
I'm still on a search for how to use those commands though.
I want to thank you, a lot David, for helping me through this.
To catch other readers of this thread up:
Filter by rule on a Repeat Region brings up a short menu including an entry to edit the rules which leads to a notepad/plain text editor. Rules are of the form (a) (test) (b) where (a) and (b) are parameters or constants and (test) is an equality (<,>, <=, >=, <>, !=, ==) The rules are additive filters and it's easy to come up with rules that eliminate all items from the repeat region, but since they are dynamically applied, it's easy to alter the offending ones. The repeat region filter rules allow no 'if' statement; I think they don't even allow any relation computations; so if there is a need for a computation (like matching part of a name or combinations of parameter values), a repeat region relation (in the repeat region relations menu) can be used to make that calculation and store the result in a repeat region parameter.
Simplified Rep by rule depends on the Search tool to create a Query and looks (and may be) the same as the Rule editor for Layers and just finding things. It is complex because what it does is complex. In my classifications of tools, it is one that I find to be both effective and worth the effort; it is also something is tougher for me to describe.
This seems like a great place to note that you can save a table and, with it, the repeat region filter and repeat region relations and all the formatting so it can be reused on other drawings by using Table - From File.
Alright, so something has come up, now that I have completed all my parameter inputs. I can't seem to get my custom index (asm.mbr.cparam.item_number) in numerical order. If I go to repeat region menu and select Fix Index I get the same problem as before where I cannot fix index due to the symbol asm.mbr.cparam. I found a guide on how to create an Alpha numerical index but it uses relations to change the rpt.index parameter, but I'm pretty sure this wont work for me. I really like the idea of controlling what the components item number is. I also tried changing my index back to rpt.index to see if I can just adjust my part names according to the index numbers but I still get the "cannot due to symbol asm.mbr.cparam. I was hoping there was possibly a rule or relation I could use to say make this column in numerical order.
This is the PTC support solution for changing to alpha numeric values, I think you need support access to see this information though.
https://support.ptc.com/apps/solution_preview/solution/lang/presolution?lang=en&n=CS106519
Look at the Sort for the repeat region. I don't recall if it is under the Repeat Region menu or when you select the table under the Select Table menu after you pick a cell in the table. In any case, if you want the BOM balloons to use the cparam, the Table Properties that are only accessible after the entire table is selected is where you set what the BOM balloons will use for numbering.
Although I've never seen it applied in way you need, and if you have the license for it, a Process assembly might be another option for future reference.
Yeah, I figured my process was a bit unorthodox, but everything I know is pretty much self taught, besides a few how to videos.
I looked into the process assembly and you're right, this extension would make it easier from what it states. Sadly we don't have this extension.
I didn't read through all of the responses, so you may already have an answer.
Your assumption that using a relation to change the quantity will affect all repeat regions is wrong, it only applies to the specific region of interest.
I use this technique quite often.
Let me know if you need further info.
Andrew, Someone may have answered, however, I have used TABLE relations to control a qty and various other parameters as well.
Add the following table relation making the any necessary adjustments to suit your needs:
In the example below I have a parameter named "part_no" that I use to identify the item I would like to have the qty be changed.
Also, these updates would only affect the region to which you have this table relation added.
/*******************************************
/* Change repeat region table column parameter
/* from &rpt.qty to &rpt.rel.qty
/* Set default quantity = report quantity
/*
QTY = rpt_qty
/*
/* The relations below sets the quantity of the part_no parameter to "0" or a desired equivalent
/*
IF asm_mbr_part_no == "MS15795-803"
QTY = "0"
ENDIF
/*
/*Table; Repeat Region; Update Tables
/*Repeat and replace as required to suit the other part numbers.
/*******************************************
If you have more than one Item that is going to change, the following table relation is used:
/*******************************************
/* Change repeat region table column parameter
/* from &rpt.qty to &rpt.rel.qty
/* Set default quantity = report quantity
/*
QTY = rpt_qty
/*
/* The relations below sets the quantity of the part_no parameter to "0" or a desired equivalent
/*
IF asm_mbr_part_no == "MS15795-803"
QTY = "0"
else
IF asm_mbr_part_no == "MS15795-804"
QTY = "2"
ENDIF
ENDIF
/*
/*Table; Repeat Region; Update Tables
/*Repeat and replace as required to suit the other part numbers.
/*******************************************
So if you had a third item you would need to have another else statement and an additional ENDIF.
Please pay special attention to the first two comment lines:
/* Change repeat region table column parameter
/* from &rpt.qty to &rpt.rel.qty
This means you need to update your report symbol value in your repeat region for the relation to take affect.
I hope this helps.
Kindest Regards,
Patti St.Jacques