Skip to main content
12-Amethyst
October 12, 2016
Solved

Link parameters between different parts

  • October 12, 2016
  • 2 replies
  • 5762 views

Hi,

I would need to do part (A.prt) which is a shrinkwrap of the assembly where it is assembled in (B.asm). This part is an unsolidified shrinkwrap and must contain the mass parameter value of its father assembly B.asm. Within the same session, I can recall it with, let's say, the relation mass=mass:1 and it's ok.

But, as soon as I open the A.prt only in a new session, it doesn't see the above relation and gives error... (I then suppose the :1 is a session ID...in fact if I open also a father of B.asm, it should be :2).

I am wondering in which way I can maintain the link to the B.asm parameter in order to have it in the A.prt regardless of the fact that B.asm (or any of its "grandfather" assemblies) is in session or not. Is it possible in some way in Creo? Or maybe just in Windchill?

Thanks

Bye


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.
Best answer by dgschaefer

I would place the relation in the assy. instead of the part. Something like:

mass:2 = mass

Where the :2 is the session ID of the component that needs the value from the assy.  It would only update when the assy is in session, but you'd have to open the assy to update it anyway.  However, it won't throw an error when you open the part by itself.

Session IDs are assigned by Creo as parts & assys are opened.  Parts are even numbers and assys are odd.  They do change from one Creo session to the next.  I have no idea how Creo keeps track behind the scenes.  You can find the session ID of a components from the Utilities Show menu in the relations dialog box from within an assy.

2 replies

21-Topaz II
October 12, 2016

I would place the relation in the assy. instead of the part. Something like:

mass:2 = mass

Where the :2 is the session ID of the component that needs the value from the assy.  It would only update when the assy is in session, but you'd have to open the assy to update it anyway.  However, it won't throw an error when you open the part by itself.

Session IDs are assigned by Creo as parts & assys are opened.  Parts are even numbers and assys are odd.  They do change from one Creo session to the next.  I have no idea how Creo keeps track behind the scenes.  You can find the session ID of a components from the Utilities Show menu in the relations dialog box from within an assy.

tleati12-AmethystAuthor
12-Amethyst
October 13, 2016

Hi Doug,

thanks for the solution, it's just what solves my problem! I didn't know it was possible to assign the values in reverse direction too (assembly to component), and what's quite impressive is that despite the session ID changes if I open it with the father, the link between A.prt and B.asm never gets lost (I don't know either how Creo does this behind ).

PS: just for completeness, I found the session ID under "Show" in Relations window.

Thanks again,

bye

21-Topaz II
October 13, 2016

Glad I could help.

Tommaso Leati wrote:

... PS: just for completeness, I found the session ID under "Show" in Relations window. ...

You are absolutely right, I was so distracted when writing my answer that I failed to notice that my own screenshot showed that what I typed was incorrect.  I've updated my answer accordingly.  Glad you found it in spite of my misdirection.

tleati12-AmethystAuthor
12-Amethyst
October 21, 2016

Ok, no problem!

As a follow-up, I noticed that after creating the parameter the first time with father and child in session, the session ID was 0. Then, I re-opened it with other parents in session too, it became 28 and it remains the same forever (even if I try to re-create the relation from zero). It's surely not a problem (just a number), but it seems quite weird.

Bye

Tommaso