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

**URL:** <https://forum.techsoft3d.com/t/looking-for-persistent-globally-unique-ids-for-all-parts-in-a-converted-model/4845>\
**Category:** HOOPS Visualize Web\
**Created:** [August 29, 2025, 7:15pm UTC](https://forum.techsoft3d.com/t/looking-for-persistent-globally-unique-ids-for-all-parts-in-a-converted-model/4845 "2025-08-29T19:15:53Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![nick.wong](https://avatars.discourse-cdn.com/v4/letter/n/f0a364/32.png) [@nick.wong](https://forum.techsoft3d.com/u/nick.wong)\
**Post date:** [August 29, 2025, 7:15pm UTC](https://forum.techsoft3d.com/t/looking-for-persistent-globally-unique-ids-for-all-parts-in-a-converted-model/4845/1 "2025-08-29T19:15:53Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tino](https://avatars.discourse-cdn.com/v4/letter/t/9dc877/32.png) [@tino](https://forum.techsoft3d.com/u/tino)\
**Post date:** [August 30, 2025, 2:00am UTC](https://forum.techsoft3d.com/t/looking-for-persistent-globally-unique-ids-for-all-parts-in-a-converted-model/4845/2 "2025-08-30T02:00:05Z")

</div>

Hello @nick.wong,

It’s possible to get [metadata](https://docs.techsoft3d.com/communicator/latest/prog_guide/mcad/metadata.html#metadata) for a given node. And part of the metadata is the persistent id which can be retrieved using the function [getNodeProperties](https://docs.techsoft3d.com/communicator/latest/api_ref/viewing/classes/Model.html#Model.getNodeProperties). Note that the [node type](https://docs.techsoft3d.com/communicator/latest/api_ref/viewing/enum/NodeType.html#nodetype) has to be a `PartInstance` and not a `BodyInstance`.

You can just get the node parent of the `BodyInstance` using [getNodeParent](https://docs.techsoft3d.com/communicator/latest/api_ref/viewing/classes/Model.html#Model.getNodeParent) to the get `PartInstance`.

Thanks,  
Tino
