cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Visit the PTCooler (the community lounge) to get to know your fellow community members and check out some of Dale's Friday Humor posts! X

Filter Repeat region relation

bparikh-2
4-Participant

Filter Repeat region relation

Hi All,

Need your help to resolve my problem related to Repeat region. Request you to read my problem description carefully and provide solution as I am stuck in my project because of this.

Problem Description : I have created assembly drawing. Assembly has 5 components in it. All components are instances of their generic parts and instances are selected through "Lookup instance". Each generic components have large number of instances. Each generic has family table with 3 Parameter columns, value of which is used to compare and select appropriate instance to be used in assembly. For example, let us say, these three parameters are "a","b" & "c". Each parameter/column has some repetitive values. I want to create a repeat region table such that, the resultant table display a list of instances, which has same value of parameter "a". (Refer below image for required outcome).

ProQuery.JPG

It will be OK, if we do not show column for "b" and "c", but table should filter out the instances with same values of parameter "a".

Thanks in advance.

Bhavin


This thread is inactive and closed by the PTC Community Management Team. If you would like to provide a reply and re-open this thread, please notify the moderator and reference the thread. You may also use "Start a topic" button to ask a new question. Please be sure to include what version of the PTC product you are using so another community member knowledgeable about your version may be able to assist.
ACCEPTED SOLUTION

Accepted Solutions
TomU
23-Emerald IV
(To:bparikh-2)

I think I may have a possible workaround.  For this to work, your repeat region needs to be of the entire assembly, not just one model's family table (although you could certainly filter it so it only displays data from one model family.)

Repeat region relations can't directly read assembly level parameters, but they can read component parameters.  You could create a component level parameter that reflects the assembly value (ex. NOMINAL_DIA).  Do this for each instance used.

Now go the repeat region, add this component parameter, and then use it to set the value of a repeat region parameter.

Finally, add a repeat region filter based on the value of the repeat region parameter "HIDE".

After doing this, I can change the value of the assembly level parameter "NOMINAL_DIA", and immediately the repeat region table will update to only show instance where "AAA" equals it.  I believe this is what you're trying to accomplish.

View solution in original post

44 REPLIES 44
bparikh-2
4-Participant
(To:MartinHanak)

Hi Martin,

Thanks for providing Links.

However, My question was requesting for one step ahead of that. I am looking to set the "Filter" and/or "Relation" in Repeat Region Table, so that my table display only instances, having particular value of particular parameter. Not only that, but also I need that parameter value should be fetched from assembly.

For example, if somehow I can execute following expression, may serve the purpose.

&fam.inst.param.value==NOMINAL_DIA

Where, NOMINAL_DIA is the parameter in assembly in which Family instance is used.

In short, we need to associate part parameter with assembly parameter in (Repeat) Region Context.

It would be great, if you can provide some solution(s) to this.

Regards,

Bhavin

Hi,

&fam.inst.param.value==PARAMETER_NAME filter expression is not allowed ... see http://help.ptc.com/creo_hc/creo30_pma_hc/usascii/#page/pma/detail/About_Adding_Filters.html

MH


Martin Hanák
bparikh-2
4-Participant
(To:MartinHanak)

Hi,

Is there any way around to get my desired results?

Thanks,

Bhavin

Hi,

there is only one possibility ... enter &fam.inst.param.value==VALUEofPARAMETER filter expression.

Unfortunatelly when you change value of parameter, you have to know that you must manually change repeat region filter, too.

MH


Martin Hanák
bparikh-2
4-Participant
(To:MartinHanak)

Hi Martin,

I have already tried that and that works fine for me. But every time, I do not want to go for manual intervention in this as that adds chances of errors. Also once done, this assembly can be updated by any other user, who might not know/aware about updating relations.

I hope you understand my situation.

Regards,

Bhavin

Hi,

I understand your situation very well. Unfortunately the functionality you are requesting is not implemented in Creo. Simply said: you have bad luck .

MH


Martin Hanák
bparikh-2
4-Participant
(To:MartinHanak)

yes, I do.

However, I think it may be possible with use of Pro/Toolkit. A utility can be developed which pick up the value from assembly and update filter/relations in repeat region. I have never worked Pro/Toolkit, but I think, it should be possible. Please advise.

Thanks,

Bhavin

Hi,

I am sorry, I have not any knowledge of Toolkit. Therefore I cannot help you.

MH


Martin Hanák
TomU
23-Emerald IV
(To:bparikh-2)

I think you might be stuck.  While it is definitely possible to create a filter based on the value of the repeat region relations, I don't see any way to have the repeat region relations reference values from the assembly itself.  The normal syntax used to reference parameters (or dimensions) in other models isn't working in the repeat region relations....

bparikh-2
4-Participant
(To:TomU)

Yes, I am stuck

However, I think it should be possible with use of Pro/Toolkit, where a utility can be developed which pick up the value from assembly and update filter/relations in repeat region. I have never worked Pro/Toolkit. Please suggest.

Thanks,

Bhavin

TomU
23-Emerald IV
(To:bparikh-2)

I think I may have a possible workaround.  For this to work, your repeat region needs to be of the entire assembly, not just one model's family table (although you could certainly filter it so it only displays data from one model family.)

Repeat region relations can't directly read assembly level parameters, but they can read component parameters.  You could create a component level parameter that reflects the assembly value (ex. NOMINAL_DIA).  Do this for each instance used.

Now go the repeat region, add this component parameter, and then use it to set the value of a repeat region parameter.

Finally, add a repeat region filter based on the value of the repeat region parameter "HIDE".

After doing this, I can change the value of the assembly level parameter "NOMINAL_DIA", and immediately the repeat region table will update to only show instance where "AAA" equals it.  I believe this is what you're trying to accomplish.

bparikh-2
4-Participant
(To:TomU)

Hi Tom,

It looks like, this will work.Thanks a lot.

Only question I have here is, which kind of table I have to prepare in this case, simple or 2D? and what are the repeat region parameter would be there.? Please guide.

Thanks,

Bhavin

TomU
23-Emerald IV
(To:bparikh-2)

A normal, simple table.  Start by getting the repeat region table to show columns for the component parameter (COMP_NOMINAL_DIA), the instance parameter (A), and the repeat region parameter filter parameter (HIDE).  You can always delete the columns you don't want to see later, after you have everything working correctly.

bparikh-2
4-Participant
(To:TomU)

Hi,

What is AAA? Is this Instance name OR part parameter? I started as per your methodology, but got stuck again at AAA

Thanks,

Bhavin

TomU
23-Emerald IV
(To:bparikh-2)

It was a parameter from the instances that was used in the family table.  It would be equivalent to your "a","b" & "c" listed in your original post.

bparikh-2
4-Participant
(To:TomU)

Hi,

Thanks. I worked with your method, but it gives me only one instance of part. But my requirement is to display all instances for selected value. For example, I have 5 instances with same value of parameter "a", it should enlist all 5 instances, rather than only 1, which is used in assembly. Can you please help me to resolve this?

However, I really appreciate your help.

Thanks,

Bhavin

TomU
23-Emerald IV
(To:bparikh-2)

Did you create the component parameter in each instance used in the assembly?  Try turning the filter off for now so you can see the column with "HIDE".  It might be a relations error...

bparikh-2
4-Participant
(To:TomU)

Oh.. OK.

So I have to interchange each instance one by one in my assembly; and then create same parameter in each one of them; and add relation in all instances one by one,

is my understanding correct?

If so, I have instances also driven, using lookup instances.where it matches 3-4 parameter values and pick-up appropriate instance for assembly. My Generic has 170+ instances and have total 5 different parts in assembly in similar manner

What to do now?

Thanks,

Bhavin

TomU
23-Emerald IV
(To:bparikh-2)

No, I don't think so.  I think you should be able to create the component parameter in the currently used instances (hopefully not too many!)  Doing a manual "replace by family table instance" does not delete the component relations (at least not when I tested it).  I don't know if replace by "lookup instances" will or not.  You will have to test...

bparikh-2
4-Participant
(To:TomU)

This method only Hides other component rows,but it does not display LIST of instances for particular value of selected parameter.

Do we have any command as "LIST", as we have "HIDE"??

Thanks,

Bhavin

TomU
23-Emerald IV
(To:bparikh-2)

HIDE isn't a command.  It's simply a parameter I created in the repeat region and then set it's value so I could filter against it.

TomU
23-Emerald IV
(To:TomU)

Okay, I just built a sample assembly with two generics, a bunch of instances, and a drawing with a functioning repeat region.  Let me know if this helps.

(Built in Creo 3.0 M080 commercial.)

bparikh-2
4-Participant
(To:TomU)

Thanks tom but the files are not opening at my end. I think you used higher version.

I am working on Creo 2.0 (M100)..

bparikh-2
4-Participant
(To:TomU)

I apologize that I should have informed you earlier about my Creo version

TomU
23-Emerald IV
(To:bparikh-2)

Okay, here come a bunch of screen shots.  Hopefully this helps.

Assembly structure:

Assembly parameters:

Component relations and parameter (same for each component):

Drawing:

Repeat region with "Switch Symbols" active:

Repeat region relations:

Repeat region filter (second table only):

Filtering in action.  Keep in mind that I'm currently comparing the assembly parameter to the instance parameter "B" only.

NOMINAL_DIA == "ii"

NOMINAL_DIA == "vi"

NOMINAL_DIA == "iii"

bparikh-2
4-Participant
(To:TomU)

Hi Tom,

I think I did not describe my problem correctly.

In your example, Final table displays total no. of instances with same value of particular parameter; and all enlisted instances are assembled and program filters from that.

In my case, let us say I have assembled only one instance of Generic Part "A" in assembly (through look-up, as mentioned earlier by matching values of parameters  NOMINAL_DIA, LEDGE, RING_TYPE.). Now I have set of instances in A, say A1, A2...A100. Also let us say, NOMINAL_DIA values are 10, 20, 30,40 & 50, so we have 20 instances for each value of NOMINAL_DIA. (Assume NOMINAL_DIA=10 for A1-A20; NOMINAL_DIA=20 for A21-A40 ; NOMINAL_DIA=30 for A41-A60.... and so on)

Now, If I use one of the instances (suppose A45) with NOMINAL_DIA of 30 in assembly, table in my drawing has to display all 20 instances(A41-A60) with other two columns with the values of LEDGE and RING_TYPE.

I hope I explained more clear this time. Please help me.

I appreciate your support and quick responses.

Thanks,

Bhavin

TomU
23-Emerald IV
(To:bparikh-2)

I think you might be stuck.  I'm not sure how you would get the repeat region to dynamically filter based on the chosen value.  The problem is finding a way for the repeat region to have access to some common, shared (yet changeable) parameter that each instance can be compared against.  Let me think about it...

bparikh-2
4-Participant
(To:TomU)

Thanks Man.

Have a nice Weekend.

Bhavin

Announcements
NEW Creo+ Topics: Real-time Collaboration


Top Tags