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 A3DRootBaseData.m_pcPersistentId
or an integer A3DRootBaseData.m_uiPersistentId
.
To retrieve the persistent ID for assembly nodes, call A3DAsmProductOccurrenceGetIdentifier()
.
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)