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

Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X

How to use a family table instance name in a family table (in the reference model column)

MT_WashPA
4-Participant

How to use a family table instance name in a family table (in the reference model column)

Hi all, looking for some assistance.

I have a need to use the name of a part in a family table, specifically in a cell of a "Reference Model" column.  The name needs to be from an instance of the part derived from this same family table.  The kicker is, family table editor allows adding the name BUT IT DOES NOT UPDATE if the instance is renamed.   The generic name at the top of the column updates as expected.  Below are the steps used to initial get the instance name into the cell.  Is there another way?  I've tried setting a parameter equal to the instance's part or assembly name and inserting the parameter in the family table cell.  This does not work, even though the value of the parameter updated correctly the family table apparently does not read the parameters value only the text of the parameters name.  Tried using PTC's parameter names for parts, assemblies and common names to no avail.  F.Y.I. I know this "Reference Model" column points to an assembly, the assembly instance needing to be referenced and the part instance in question will always have the same name.

 

MT_WashPA_0-1641413700535.png

 

MT_WashPA_1-1641413767442.png

 

This updates the assemblies instance name in the parts family table cell but if the assembly instance is renamed the cell in the family table does not update.

MT_WashPA_2-1641413802084.png

 

Thanks in advance

MT_WashPA

 

 

 

 

10 REPLIES 10
BenLoosli
23-Emerald II
(To:MT_WashPA)

Are you using a PLM system, like Windchill?

What version of Creo are you using?

Can you upload your assembly and the family table?

MT_WashPA
4-Participant
(To:BenLoosli)

BenLoosli

Thank you for your attention.

 

No PLM in use (and none available).

Using Creo 4.0 m140

Models and drawing attached. Note the drawing was created and noted to show another problem, the cutout created in Creo 4.0 did not rotate in the family table instance even though the datum planes used to assemble the controlling model are rotated.  The cutout created in older versions does rotate as needed.  There is another thread for this problem.  Adding the "Reference Model" column in the parts family table fixed the rotation problem with the new cutout, these models have both cutouts old version (the lower) and Creo 4.0 (the upper).

 

Hi @MT_WashPA , I tried on my system (M150 Creo 4), and if you rename the assembly instance by modifying the family table of the assembly's generic, then you can simply use that function "Switch External References to Instances" in the Tools menu to update the part's family table ref. model column with the new name of the assembly instance.

That all sure sounds very confusing when I read it out loud, but I hope it makes sense and works for you.

 

 

MT_WashPA
4-Participant
(To:pausob)

I've tried the "Switch External References to Instances" with limited
success. Worked once but does not act like it's a permanent solution.
Will try again tomorrow.
sacquarone
20-Turquoise
(To:MT_WashPA)

Hello @MT_WashPA 

 

Please consider first that usage of Switch External References to Instances capability CREATES (and DOES NOTUPDATE) the Family Tree of Affected Component whose instance name was changed.

The components which have external references will be listed and those references will be proposed as new instances.

  • And this is therefore probably something you don't want

 

Then, please consider that this buisness need:

  • Is fully covered and supported in the scope of PLM systems, like Windchill:
    • This is due to the fact that PLM Systems ensure "Dependency Tracing" when doing things in Creo (Save as, Rename, etc ...)
    • This is illustrated in the little first demo attached with your files while Interacting with Windchill PDMLink 112.1
  • But is unfortunately not supported in standalone environments of Creo Parametric:
    • This is due to the fact that there is no notion of "Dependency Tracing" for things happening in Windows
    • Hence the reason why:
      • if a name changes in the structure of x2.prt (containing definition of the part family table)
      • It cannot be propagated AUTOMATICALLY to the structure of x2.asm file (containing definition of the assembly family table calling part instance)
    • Current limitation in standalone sessions is officially documented in article 63735 (behavior changed a bit in latest Creo versions, but limitation remains effective due to cause persisting and summarized above)
    • PTC provides a tool to do the required replacements in Assembly Family Table using the capability >Tools >Reconfigure Assembly Components >Replace with Family Table Instance
    • This capability is illustrated in second attached movie

 

Hope this helps to have a better understanding of what happens behind the scene, and how to proceed from now on to ensure semi-automatic (semi, because requires anyway manual actions) maintenance of Assembly Family Tables in the scope of Creo Parametric Standalone Sessions.

 

Regards,

 

Serge

MT_WashPA
4-Participant
(To:sacquarone)

Serge

Wow!  That was more in depth than I expected, thanks.   Would you be willing to look at the original problem that lead to needing this name in family table to automatically update?  I am still having issues with that. 

 

https://community.ptc.com/t5/3D-Part-Assembly-Design/Cutout-in-assembly-does-not-update-correctly-in-family-table/m-p/768979#M122336

MT_WashPA

First @sacquarone thank you for participating in this discussion; it's good to see PTC expert on the forum.

 

So I wanted to take the opportunity here and in the related discussion (Cutout in assembly does not update correctly in family table members) to point out to you some bugs which perhaps have been solved but they sure seem to be there in Creo 4 software.

 

First issue is that the new-style boolean operations do not behave like the old "component operations -> cut out" type features.

Namely, the old style assembly cutouts seem to work without the need to specify the external reference in the affected parts of the parent assembly.

The new boolean operations require that the part has that reference model column (in order to specify what assembly instance should be used for the definition of the boolean cutout feature).  I do think that the latter is the proper method of defining such configurations.

 

Second issue is related to renaming objects.  And you addressed what happens when parts are renamed, and I think that you demonstrated how the assembly family table will be updated even when not in session - when using Windchill.  But this is about renaming the instances of the parent assembly.

Because when is done, the ref.model column in the family table of the constituent part is not updated with the new name of the ref. model assembly.

 

Another bug is that "Switch External References to Instances" for some reason fails to create the required family table with the ref. model column.

But it sure seems to me that the "Switch External References to Instances" function works on my Creo 4 system to update the parts family table.

 

 

Hopefully these screenshots demonstrate the strange behaviours:

 

 

1) Models from PTC_help.7z provided by OP were modified to create this state:

Assembly X2.asm and its family table:

pausob_0-1641513180785.png

x2_part.prt family table:

x2 part genericx2 part generic

Note old style cut-out is at the bottom of the part and new style boolean cut is at the top of it.

 

x2_part_inst.prt in the assembly instance x2inst.asm:

Assembly x2inst - note part instance x2_part_inst does not have the cutouts in the right orientationAssembly x2inst - note part instance x2_part_inst does not have the cutouts in the right orientation

Note neither cutout in the X2_part_inst.prt follows the actual placement of component Y2.prt...

2) After using the "Switch External References to Instances" function in X2.ASM family table:

pausob_3-1641513453817.png

Note ref.model column specifying the assembly instance has been added to the x2_part.prt

Looking at the x2_part_inst reveals something strange:

Assembly instance x2inst - note part instance x2_part_inst does not have the old style cutout in the correct orientation...Assembly instance x2inst - note part instance x2_part_inst does not have the old style cutout in the correct orientation...

(that is kind of weird - the old-style cutout does not follow the placement of Y2.prt)

 

3) Let's delete the ext. ref column in X2_PART family table and add the column that drives the orientation of the plane ASSEM_CAVITY_PL (feature 9) and see what happens:

pausob_5-1641514826253.png

pausob_6-1641514909876.png

(that is also weird - both style cutouts work now...)

 

Actually, that's not right.  Closing everything, erasing memory and reopening the model shows the original problem:

pausob_7-1641515324929.png

Old style cutout works, new style cutout does not...

Well, I think having that 180° angle being switched both in the assembly and in the part has something to do with this confusion, but anyway...

 

4) Let's use the "Switch References to Instances" to add the ext. ref column to the x2_part in order to "fix" the issue:

pausob_8-1641516692541.png

pausob_9-1641516741456.png

pausob_10-1641516769929.png

It worked...

 

However, if I open the original data set from PTC_help.7z, delete the ext.ref column from X2.prt family table, regenerate and save everything and then reopen the files, I'll arrive in this situation:

pausob_11-1641517100431.png

Now trying to fix this by adding the ext.ref column via "Switch References to Instances" does not work:

pausob_12-1641517169228.png

X2.prt family table is unchanged and I have this error message:

pausob_13-1641517198878.png

 

Anyway, that demonstrates the strangeness of the behaviour of the cutouts in Creo.

 

 

Lastly, we can manually add the ext.ref column to the x2.prt family table and it all works again:

pausob_14-1641517306813.png

pausob_15-1641517343085.png

 

 

However, now if I rename the instance X2INST.ASM, then the family table of X2.PRT will not update:

pausob_16-1641517394369.png

pausob_17-1641517433305.png

pausob_18-1641517466147.png

(that needs to say X2INST-A)

 

Okay, then if I open the family table of X2.ASM and use "Switch References to Instances":

pausob_19-1641517578229.png

then the family table of X2.prt is updated:

pausob_20-1641517593118.png

 

 

 

In conclusion, it seems that managing parts and assemblies in Creo can be very frustrating, especially when family tables are involved.

It should also be noted that situations where things seem to work until next time the models are re-opened can be encountered, which is troubling.

I hope you can use this message to point out issues in the software to the developers.

Also, the structure of the data set provided by the OP seems complicated and it would be great if the proper techniques for arriving at solution to the business need would be demonstrated to the rest of the forum users.

 

 

 

 

 

 

 

 

 

sacquarone
20-Turquoise
(To:pausob)

Hello @MT_WashPA 

 

Thanks a lot for your for your kind message 🙂

 

Hello @pausob 

 

Wow! Impressive summary. I'm afraid to not have the bandwith to answer to all your points. Later on, if you want to ensure a tracability of exchanges and report some of your above questions to PTC TS, we suggest you to open a case to PTC Technical Support.

 

Regarding one of your points above, please let me maybe  just clarify why I said yesterday :

Switch External References to Instances capability CREATES (and DOES NOT UPDATE) the Family Tree of Affected Component whose instance name was changed.

 

Better than a long and wordy explanation, I attach a new movie which will hopefully clarify this, and is aligned with what we document in our Help Center.

 

As a general rule (which may help to understand some of the things discussed above), when you "rename" an instance in Family Table Editor, please consider that system:

  • Does not use a real logic of "rename" (like what it happens when done in the scope of PLM environments)
  • But behaves as if existing Instance was Deleted and a New one would have been Created, which is very different

Above rule is not a regression, as it applies to ALL Creo Parametric (and formerly Pro/ENGINEER) versions, since the introduction of the first versions of Pro/ENGINEER

 

For the rest of your questions (Related to your findings when investigating original Cutout in assembly does not update correctly in family table members post), I think it's better to pursue exchanges in this specific post, in order to avoid mixing exchanges in this topic originally dedicated to the question: "how to handle rename process of family table part instances called later in a family table assembly instances".

 

I cannot commit I'll be able to have some activities on the old post, but I'll try to find some time to look deeper at it later.

 

Regards,

 

Serge

Well, your last video still shows you renaming the X2.prt part, which is not the issue here; it's about what happens when renaming an assembly instance in the assembly X2.ASM...

But I too don't really want to spend more time on this and will end by saying that these conversations only reinforced my general rule: avoid use of family tables.

MT_WashPA
4-Participant
(To:pausob)

pausob,
Thank you for your efforts. No idea what video you are referring to. But
no matter. Do you have a suggestion for an alternative to family tables?
I design mould equipment for the glass container industry. Two part
moulds with common exterior shape and sizes. Typically the only
differences are features on the partingline and if the cavity is for a
non-round bottle each half is unique (hence the needed 180°rotation). This
family table method has worked like magic for years but have recently
experienced failure of the cutout when the cavity becomes complex.
Recreation of the cutout in a newer version reduces the failure rate but
then the previously used rotation method does not work reliably.

Again thank you for your efforts.
MT_WashPA
Top Tags