externalId Navisworks 文件的持久性
persistence of externalId Navisworks files
我一直在使用 externalId 来唯一地引用 Forge 查看器中的对象,并将它们与有关这些对象的外部数据联系起来。这对于具有某种 GUID 86715290-fa28-4ff5-aef9-8c75d7c81e77-0012917b
的 revit 文件效果很好。现在我正在处理 Navisworks 文件,它们的 externalId 使用看起来与 a
、0
或 0/0/0/
等值非常不同。这些有多持久,我可以想象不是全局唯一的,但是 changes/removals/additions 是否让它们在文件中保持唯一?在 Navisworks 文件中全局引用实体的建议策略是什么?
通过模型选择树到该元素的路径的外部 ID 从 0 开始,请参见下面的快照:
据我所知:
在 Revit 案例中,它使用元素的唯一 ID(表示 Revit API 的 Element.UniqueId
)作为 externalId
。但是,Navisworks 没有概念唯一 ID,因为它必须处理不同的格式,并且某些源模型也没有唯一 ID。因此,它使用选择树路径作为 externalId
。
因此,
为了保留Revit图元的身份信息,我建议您添加一个Revit共享参数来存储Element.UniqueId
的值,并通过该参数来识别图元。
我一直在使用 externalId 来唯一地引用 Forge 查看器中的对象,并将它们与有关这些对象的外部数据联系起来。这对于具有某种 GUID 86715290-fa28-4ff5-aef9-8c75d7c81e77-0012917b
的 revit 文件效果很好。现在我正在处理 Navisworks 文件,它们的 externalId 使用看起来与 a
、0
或 0/0/0/
等值非常不同。这些有多持久,我可以想象不是全局唯一的,但是 changes/removals/additions 是否让它们在文件中保持唯一?在 Navisworks 文件中全局引用实体的建议策略是什么?
通过模型选择树到该元素的路径的外部 ID 从 0 开始,请参见下面的快照:
据我所知:
在 Revit 案例中,它使用元素的唯一 ID(表示 Revit API 的 Element.UniqueId
)作为 externalId
。但是,Navisworks 没有概念唯一 ID,因为它必须处理不同的格式,并且某些源模型也没有唯一 ID。因此,它使用选择树路径作为 externalId
。
因此,
为了保留Revit图元的身份信息,我建议您添加一个Revit共享参数来存储Element.UniqueId
的值,并通过该参数来识别图元。