Continue to Site

Welcome to MCAD Central

Join our MCAD Central community forums, the largest resource for MCAD (Mechanical Computer-Aided Design) professionals, including files, forums, jobs, articles, calendar, and more.

Feat ID's and component ID's in relations ?


New member
How can a distance between two parts be discribed in an assembly relation ?

Eg: part 1 has comp ID 1, part 2 has comp ID 2

distance between two parts is given by d0:69

Which comp ID do I have to use to relate this dimension ?

kind regards



New member
In the assy relations you do not have to specify a component ID for assy dimensions, only for component dimensions or parameters. Simply put your relation should look something like this.

d0 = distance


New member
ok, but how does proe know that d0:69 is distance, because there are more dimensions who start with d0 ?


New member
Pro/E only knows what you tell it. You created d0:69 as a dimension representing a distance, thats how Pro/E knows. In a Pro/E model, wether it is a part, assy, or drawing there can be only one dimension with a given number(like d0). The comp id that follows that number, lets you know which model the dimension references. I am assuming your d0 is a component placement dimension. If d0 is a dimension from a component, then you would use the comp id that you see when you switch dims with the dimension shown(d0:69). But if your component ID's are 1 and 2 like you said then the dimension would be d0:1 or d0:2. But you said distance between two parts is given by d0:69 which means d0:69 is the dimension you want.


New member
I think I got it now. But someone told me not to use the session ID's, like :69, but to use component ID's, because session ID's change. But i didn't know which comp ID i had to use for that dimension. But this way it has to succeed. Thx for your help


New member
D0 = you d# from the part

:69 = your comp i.d. # in the assy.

When you write a relation at Assy level you need the :69 for ProE to know that you want to use the 69th component of the assy in the relation.


New member

I'm the guy that keeps saying don't use session ids, here is why.

Session ids are sequential numbers assigned to every component and feature as they are created or retrieved during a Pro/ENGINEER session. Once Pro/ENGINEER is closed and re-opened, the session ids start over at 1. Depending on what you open and what order you open them, their session ids can change.

Ideally all our relations would automatically update as the session ids change. However, I've found this not to be the case. Relations written today using session ids may not work tomorrow. It isn't a bug, it is just the way they work. I've spent days tracking down and fixing the same relations in a single assembly. That is how I learned not to use session ids.

If your relations only affect a single level of a part or assembly an identification number isn't necessary. This is because all dimensions created in a part are uniquely identified. All dimensions at any assembly level are also uniquely identified. So Pro/ENGINEER doesn't need ids to write relations at a single level. This means you should put your relations at the appropriate location in your assembly. Try not to drive a part with assembly level relations or and assembly with part level relations.

Dimensions in a part can and often do have the same parameter identifications (D0) as dimensions at an assembly level. When relations are written between parts and assemblies, identification numbers are necessary.

Pro/ENGINEER 2001 introduced a terriffic relations dialog ( option new_relations_ui = yes). It allows you to gather dimensions directly from your model and automatically places them in your relations. If it doesn't provide an id there isn't a need for using ids. If it does provide an id it is a session id.

:69 is a session id. Please don't use it. Instead use a feature id or component id. A component id references a part or assembly. A feature id references a feature in a part or assembly. Each component and feature in your design are assigned a unique, static number. This number doesn't change when Pro/ENGINEER is closed. The only way to change this number is to delete the component or feature and replace it. This makes component and feature ids more stable and thus more reliable for use in relations.

Feature and component ids can be shown in the model tree by adding the column Feat ID. Pro/ENGINEER does differentiate between component and feature ids. Here is how to use them.

Feature ID: D0:FID_##

Component ID: D0:CID_##

Pro/ENGINEER Wildfire allows you to use the feature or component name in place of FID_## or CID_##. It will automatically replace the name with the appropriate feature or component identification. One word of caution. Don't use a hyphen (-) in your feature or component names or Pro/ENGINEER Wildfire won't correctly interpret the names in your relations.

Sorry for the lengthy reply. Hope this helps your understanding.


New member
i have used these session ids for long time in assembly they change when the day changes but what u have to do is to save the file before exiting pro e . if u do so the the relation gets updated even though the session ids change.