Looking for persistent, globally unique IDs for all parts in a converted model

From the documentation, I see that every part has a nodeId, but this is not persistent across model changes. Another option is to use properties coming from the source file. For example, in Revit we may have UniqueId, ifcGUID, or persistentId.

My questions are:

  1. Are these IDs guaranteed to exist for all parts in the source Revit model and be carried over into the Communicator model?

  2. If the source file is modified, will these IDs remain consistent (i.e., persist across model changes in both source file and converted model)?

Does anyone have experience with this? Thank you

Hello @nick.wong,

It’s possible to get metadata for a given node. And part of the metadata is the persistent id which can be retrieved using the function getNodeProperties. Note that the node type has to be a PartInstance and not a BodyInstance.

You can just get the node parent of the BodyInstance using getNodeParent to the get PartInstance.

Thanks,
Tino