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

Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X

Family Table Children

payton.schirm
1-Newbie

Family Table Children

Is there any way to get a child assembly family table value to change in a parent family table? We have a folding mechanism that works in the child family table, and would like to show the parent assembly with the different instances of the child, but have found no other way than to re-insert the different child family table instances into the parent ones and re-constrain everything in the assembly. Any ideas? It would be nice if the family table would let you change instances of the child objects within the parent... Working with WF3.
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.
5 REPLIES 5
wfalco
15-Moonstone
(To:payton.schirm)


There used to be a way to swap generic with instance. I've always
wondered where that went. Someone here must know.

Not sure if I understand correctly, but you can substitute family table
instances in an assy family table. Add the component that is an
instance or generic to the family table and in the line for a new
instance type in a new family member name.

So, if part ABC is an instance along with part DEF in a family table and
ABC is a component of assembly 123, you add ABC to the family table for
123, make a line for a new instance and in the cell under ABC
corresponding to the new instance, type in DEF. Assuming all the
references needed exist in both ABC and DEF, it should work fine.

Doug Schaefer
--
Doug Schaefer | Experienced Mechanical Design Engineer
LinkedIn

WF3 at least, you can select the cell in the family table editor that is defining the component for that instance, go to the tools pulldown, select replace using, and then family table. You can then select the instance as you would if you were doing a standard replace component in assy. This way you don't have to type in the entire instance name with no typos.

NOTE: this is not available when editing in excel.

Rob Reifsnyder
Mechanical Design Engineer/ Pro/E Librarian
L
Mission Systems & Sensors (MS2)
497 Electronics Parkway
Liverpool, NY 13088
EP5-Quad2, Cube 281

We do it all the time. When you look at the attached file (which is a snap shot of a typical family table, here). Notice that even though the "M45" column has the 50146634-01 in the generic, the 5016626 & 5016626-01 rows calls out 50146634. These are all instances of 50146634g. The way to do this is to assemble one of the instances or even the generic into the new assembly. Then add it to the family table. In the cells for the different instances of the parent assembly you just type in the child instance you want for that parent instance. Kevin Brandt Contract Project Engineer currently at Vapor Bus International

In Reply to Wayne Falco:

There used to be a way to swap generic with instance. I've always
wondered where that went. Someone here must know.

I am not sure if this is what you are looking for but you can use PRO/PROGRAM to replace a generic/instance part with other that meets some or a unique parameter for example, sorry about the mess of information I’ve made here, I hope you get it, I could not find the right files of this example to send you so I hope you can reproduce it.
Below you can see the family table of the part 333.prt. The names of the instances can´t be used to determine the correct instance to be loaded in the assbembly, but the dimensions X and Y define wich one will be used.
1. ! Generic part name: 333
2. ! Name d1 d0 d4
3. ! X Y Z
4. ! ==================================================
5. ! GENERIC 3.5 3.0 1.0
6. 431 4.0 3.0 1.0
7. 121134-1 4.0 10.0 2.0
8. 541 5.0 4.0 1.0
9. TEST_PART 8.0 1.0 1.5
10. 651 6.0 5.0 1.0
11. JOE_INST 7.0 10.0 2.0
12. SPEC_22.0 4.0 1.0
13. 890-1 8.0 9.0 1.0
14. PEGGY 2.0 7.0 1.0
15. 2233548 4.0 4.0 5.0


To use the “lookup_inst" function in the model the folowing relation must be created in the assembly mode:
INSTANCE_NAME = LOOKUP_INST("333.PRT",1,"D1",X:1,"D0",Y:1)
INSTANCE_NAME is a parameter created to store the name of the instance that is going to replace the generic in the assembly;
333.PRT Is the generic part that will be checked in order to find the matching parameters
D1 and D0 are the parameters that will be checked in all instances of the generic 333.PRT in order to find a match, below you can see what the PRO|E Help tells about it


{You can automatically replace family table–driven components according to design criteria by using the lookup_inst function. With this function, you can search a component family table to find an instance that fits the values of the search parameters. If the lookup function does not find a match, it returns the name of the generic.
The format for lookup_inst is:
lookup_inst ("generic_name", match_mode, Òparam_name_1Ó, match_value_1, Òparam_name_2Ó, match_value_2,...)
where
generic name—Name of the generic model with a prt or asm extension
match_mode—One of the following values:
–1 (find closest instance with param values less than or equal to supplied values)
0 (find instance with param values that match supplied values exactly)
1 (find closest instance with param values greater than or equal to supplied values)
param_name_1—Family table parameter name
match_value_1—Value to match against}

The relation must be added in the assembly where the replacement will occur. It can be done editing the program or the relations.

After adding the relation, the program will look like this at the RELATIONS section(“TOOLS / PROGRAM / EDIT DESIGN, looks like you must have ADVANCED ASSEMBLY EXTENSION module to edit programs in assembly mode, part mode is free”):

RELATIONS
INSTANCE_NAME = LOOKUP_INST("333.PRT",1,"D1",X:1,"D0",Y:1)
END RELATIONS

Now indicate which component will be replaced replacing his name by the parameter name:
Original PROGRAM lines for addin the 333.prt file:

ADD PART 333
INTERNAL COMPONENT ID 12
END ADD

In order to replace 333.prt file with one of its instances, we are going to replace its name here by the parameter (INSTANCE_NAME) we’ve created earlier so it can be a dynamic entry.


ADD PART (INSTANCE_NAME)
INTERNAL COMPONENT ID 12
END ADD

This example was created in a scenario where once the “X” and “Y” values are changed in the relation, the lookup_inst command looks into the 333.prt file for a instance that meet the values and replace it in the parameter “INSTANCE_NAME” and the matching instance takes the place of 333.prt in the assembly, you can relate this values with parameters to make it less error prone while changing them.



Warm Regards

Guilherme Rocha - Tech Support Consultant

PLM Solutions do Brasil

“A goal without a plan is just a wish.”

Announcements
NEW Creo+ Topics: Real-time Collaboration


Top Tags