【问题标题】:Autodesk Model derivative extracting external id (guid) from translated fileAutodesk 模型衍生工具从翻译文件中提取外部 id (guid)
【发布时间】:2017-11-22 05:11:45
【问题描述】:

我们正在尝试创建一个可以使用 Model Derivative 和 Viewer API 显示 BIM 模型的系统,并提供使用更新的 BIM 模型的功能,同时保留元素之间的映射(目前我们使用的是 dbId)和一些元数据。

问题是当我们使用更新的 BIM 模型(更新意味着我们使用 Autodesk Revit 或等效工具包修改 Revit 文件)发布模型衍生翻译过程时,原始 dbId 丢失了。

在查看查看器 API 时,我们发现通过带有 dbId 的 model.getProperty,我们可以获得一个名为“external-id”的值,即使在更新后似乎也保留了该值。但是,这似乎只能在客户端访问;没有提供 external-id 属性的 MD api(如果我错了请纠正我)。

作为最后的手段,我们试图通过使用名称作为通用特征创建 dbId=>dbId 映射,将原始 BIM 模型的 dbId=>元数据映射映射到更新的 BIM 模型中的 dbId=>元数据映射,但我们很担心在更新时添加/删除 BIM 模型的元素会导致名称映射无效。

TL DR;问题是: 有没有办法在使用更新的 BIM 的模型衍生翻译过程中为每个 ObjectId / dbId 获取唯一且保留的 id?

【问题讨论】:

    标签: autodesk-forge autodesk-viewer autodesk-model-derivative


    【解决方案1】:

    是的,没错。

    在 Revit 中,UniqueId 是持续识别元素的最安全方法。

    这个UniqueId 在查看器中可用,不幸的是目前不在模型衍生 API 中。

    对于即时解决方案,我建议您在 Revit 中为您感兴趣的所有元素创建自己的共享参数,并使用 UniqueId 值填充它。然后,这些信息也将在模型衍生 API 中提供给您。

    【讨论】:

    • 还是这样吗?我们在 2020 年遇到了类似的问题。我们有一个 Revit 模型,当我们四处移动并重新上传文件时,我们会丢失所有 DBID。我知道在 Revit 中删除和创建一个全新的资产将等同于一个全新的唯一 ID,但我想要一个可以在 Forge 中访问的资产生命周期中存在的 ID!谢谢
    • 不,我认为目前情况并非如此,而且可能从未如此。 Afaik,Revit UniqueId 在所有 Forge 生成的上下文中都可用。
    猜你喜欢
    • 2018-06-23
    • 2019-11-15
    • 2020-05-27
    • 2021-12-31
    • 2021-03-09
    • 2020-11-10
    • 2021-06-02
    • 2017-10-02
    • 2016-12-15
    相关资源
    最近更新 更多