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

Community Tip - You can Bookmark boards, posts or articles that you'd like to access again easily! 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.
44 REPLIES 44

Bhavin,

Not really sure i understand this correctly.

You want to filter by chosen param, that is NOMINAL_DIA, the table should figure out it's value in the component that IS ASSEMBLED in the top-level assembly, for example value of 30, and then look into the generic model of that part and add all the other instances having the exact same NOMINAL_DIA's value into the table?

That might seem like something Creo should be able to do, but you have to be aware that Repeat Region is a dead end. In more precise terms Repeat Region is the latest descendant of the structure asm --> drw --> repeat region. Could it be possible for the Repeat Region to report the value of back to the drawing level and create a drawing level parameter or even better a model level parameter? As Repeat Region is not really driven by the drawing but the model/representation itself.

My answer is I think so, but not without an external script that would be used within a mapkey, while that mapkey should always ask the user to select the particular Repeat Region Table as that part can't be automated with a mapkey. Like i always say this is not an associative approach.

Rather than trying to write some script. It might just be easier if the user changed the repeat region's parameter's value, then some relations could deal with the rest of the job, but again i am not really sure if i understand this problem correctly.

TomU
23-Emerald IV
(To:James62)

James‌,

If I understand correctly (and I'm not positive I do), he needs to have a table that lists all instances in a generic with certain matching values, BUT, only one of these instances will actually be used in the assembly at a time.  He also wants this partial table listing to be driven by an assembly level parameter.  (The instance used by the assembly is driven by several different assembly level parameters.)

Like he mentioned above, imagine a family table with 100 instances.  Now imagine that each group of 10 instances have one value in common.  When one of these instances is used in the assembly, he needs the drawing table to list the other 10 related instances (not all 100).  The group of 10 instances that are displayed needs to dynamically update anytime the instance in the assembly is swapped out.

I can build a 2D repeat region off of &asm.mbr...  and &fam... , but I haven't yet figured out how to take a single instance used in the assembly (&asm.mbr.) and expand this into the rest of the table (even for those instances NOT used in the assembly).  I'm sure I could filter the table down to the appropriate 10 instances, I'm just struggling to display the full family table anytime one instance is used.

Make sense?

James62
10-Marble
(To:TomU)

Allright, yes it does make sense. At least you think of it in pretty similar way as I do, Tom Right now I'd think you already described most of what Bhavin needs to solve the problem and presented it pretty well.

Let's just wait for him to reply and see if he wants the solution to be truly associative or not. I might be able throw around some ideas then.

bparikh-2
4-Participant
(To:bparikh-2)

Yes Guys,

  I think you got my problem correct this time and hope to have some solution or work around to make it happen.

However, as I mentioned, Assembly picks up the instance by matching certain parameter values using lookup_instance approach, for e.g. NOMINAL_DIA, LEDGE and RING_TYPE. Once the appropriate instance is assembled in the assembly, I just need to show the list of available instances of that component, in assembly drawing for that particular value of NOMINAL_DIA,

   In Assembly, corresponding parameters are driven by layout. Hence once the user enters the value of these parameters in layout and regenerate the assembly, it performs the procedure as mentioned above.

Thanks and appreciate it.

Bhavin

Ok, I was gonna create a vid, but i am not familiar with the lookup_instance approach and with how to make those params driven by layout. So, i will not be able to build a structure of models and drawings similar to yours. I don't think i can help you unless you build it yourself and upload it here or explain in details how to go about it.

I wonder what kind of licence does that all require. I might not even have that at work.

Do you know what i mean when something is not being associative? It simply looses the ability to use regeneration/update.

Are you familiar with the include functionality in assembly mode?

bparikh-2
4-Participant
(To:James62)

Hi,

I would say, forget about lookup_inst and Layout things. To simplify, I have an instance assembled in assembly with particular values of NOMINAL_DIA, LEDGE and RING_TYPE. Drawing table should represent the list of instances associated with that particular NOMINAL_DIA, irrespective of values of LEDGE and RING_TYPE.

I hope this explanation may have simplified problem description.

However, I am not familiar with include functionality in assembly. If you have something for me to refer, to understand that functionality, will be great.

Also, I am working on Creo 2.0 (M100).

Thanks,

Bhavin

Hi Bhavin,

Include can be found in assembly under Model tab --> Assemble dropdown (in the Component group) --> Include.

It basically assembles the component/instance into the assembly without displaying it in the graphics area of assembly window and also without the need to apply constraints to that component.

It might show in model tree with some sort of grey-ish icon. The point of include is that it won't show up in the assembly itself, but it will be accounted for in the model such that it will show in repeat region on the assembly drawing.

Now, would you be ok with having like 5 of the regularly assembled instances in your assembly including many other instances just in your assembly model tree?

That should set good enough basis for your repeat region table, to then apply the filters and such.

bparikh-2
4-Participant
(To:James62)

Hi,

Thanks for elaboration. What I understand is, INCLUDE will Just add part in assembly, without any constrain (like Bulk Item). And in Assembly Drawing, BOM, that part will be considered as a part of assembly.

If I think to apply this in my case, the challenge will be number of instances. That is because, number of instances for each NOMINAL_DIA, are different, so it may be 5, or it may be 15. so it would be difficult to find out that how many instances can be assembled (or here, INCLUDED), Ideally.

Is there any other work -around ?

Thanks,

Bhavin

Difficult or not, that all can be automated, so the difficulty would be left to the mapkey itself.

Sorry, but I can't think of any other workaround.

I am glad we were finally able to understand what you are trying to solve there.

Edit: The answer might just lie in another question that is: Why are you even trying to do something like that?

bparikh-2
4-Participant
(To:James62)

Hi,

Answer is, that is The Requirement. In fact, I have created ring assembly, used for tire molds. As tire sizes may vary, features and dimensions will also change. so I have taken care of all variations of different parameters in Family table of each ring, used in assembly.Now this assembly  need to be used as Master assembly, which is connected with Layout (Pro/notebook) and consist of appropriate ring parts based on matching values of parameters (I mentioned this earlier)

The requirement is, user will enter parameter values in layout and regenerate the assembly, which will pick up matching instance with input given. For example, user will enter NOMINAL_DIA equals to 20, but (s)he is not sure about other parameter values of those rings. So from list of instances(If we achieve to enlist corresponding instances),user may pick up Part Number per requirement, matching his/her need. Otherwise user may have to try different combinations  for different parameters.

I hope I explained it clearly.

Thanks,

Bhavin

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

Are you open to using a 3rd party product?  This whole process would be much, much simpler with something like SmartAssembly.

bparikh-2
4-Participant
(To:TomU)

Will that work in my case? Also, how to get that and how much it would cost to me?

bparikh-2
4-Participant
(To:TomU)

However, my first preference would be to achieve it using existing Creo, as this is one time requirement only.

bparikh-2
4-Participant
(To:bparikh-2)

Hi,

If anyone have any solution to my problem, please help me.

Thanks,

Bhavin

The non-associative solution to your problem is building a nested mapkey such as one described here How to create a drawing with same name as active model with Mapkeys but a mapkey of much bigger size.

A mapkey that runs maybe a couple or more external scripts, that can parse strings, delete, create and write to files, Pick any coding language that can compile to exe. The one i prefer is Autohotkey.

The OS script part of the mapkey can run external files for example script.exe and wait for that script to finish it's job using /wait option, then move on.

START /WAIT c:\script.exe

Be aware that these external scripts won't know where your Working Directory is, so this solution requires files to be passed between for example TEMP dir and Working Dir using the regular OS script type of mapkeys

Purposes of these external scripts could be for instance to get the value of a specific parameter, to parse the family table data to figure out what instances do have that specific value, to build the mapkey that includes all the parts that have been figured out by previous mapkeys... things like that.

The solutions should take days to be build this way, maybe even weeks if you don't have any prior coding experience.

Good luck.

Top Tags