3.7 Persistent IDs

HOOPS Exchange supports the concept of persistent IDs for certain file formats. Persistent IDs are important for those developers drawing data from many CAD systems since IDs assigned to model entities are persistent across different sessions.

Persistent IDs are stored as a field in the A3DRootBaseData structure as either a string m_pcPersistentId or an integer m_uiPersistentId. To retrieve the persistent ID for assembly nodes, use the A3DASMProductOccurrenceGetIdentifier function. See the table below for information on how persistent IDs are supported.

File Type Assembly Nodes Solids Faces Edges

Density

Catia V5 Persistent ID string (CLSID) Persistent ID integer (key) Persistent ID string as attribute (string) Persistent ID string as attribute

In ProductInformation (for each occurrence corresponding to a file)

Creo/Pro-E Persistent ID string (CLSID) Not applicable Persistent ID integer (key) - Note: Persistent ID inside a part are different even when there are several solids. Persistent ID integer (key) - Note: Persistent ID inside a part are different even when there are several solids.

Latest versions of Creo have them. Otherwise, we put the stored filename.

NX Persistent ID string (CLSID) Persistent ID integer (key) Persistent ID integer (key) Persistent ID integer (key)

In ProductInformation (for each occurrence corresponding to a file)

SolidWorks Persistent ID string (CLSID) Persistent ID integer (key) Not applicable Not implemented

In ProductInformation (for each occurrence corresponding to a file)

JT Not applicable Not applicable Not applicable Not applicable

In ProductInformation (for each occurrence corresponding to a file)

SolidEdge Persistent ID string (CLSID) Persistent ID integer (key) Persistent ID string as an attribute Not implemented

In ProductInformation (for each occurrence corresponding to a file)

Inventor Persistent ID string (CLSID) Persistent ID integer (key) Persistent ID string as an attribute Not implemented In ProductInformation (for each occurrence corresponding to a file)