You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Model Derivative API中共享参数与内置参数的层级疑问

Model Derivative API中Type与Instance的参数层级疑问

我需要明确Model Derivative API响应里Type和Instance的层级关系,特别是properties对象中的Revit参数。我有一个门窗类别,混合了内置类型参数(Built-in Type Parameters)和共享族参数(Shared Family Parameters)。在Revit里编辑门类型时,能看到这两类参数及其值,但通过Model Derivative API获取已翻译模型的属性时,只有内置类型参数会显示在门实例上——比如Type Mark和Door Type(都是内置参数)能在实例中看到,但Frame Type(共享族参数)却不在实例的属性里。

请问这是预期行为吗?如果是,该如何获取特定实例的共享参数值?我参考过相关建议,但发现属性存在不一致的问题。

[
    // 实例
  {
    "objectid": 52,
    "name": "DOOR_DD4_F2",
    "externalId": "8a6cf411-ac2f-4379-9b63-7360f7473e2f-0005bf68",
    "properties": {
      "Identity Data": {
        "Type Name": "1830 x 2135 mm, 44 mm Thickness",
        "Mark": "1",
        "Type Mark": "12"

        /* ... */
      },
      "Construction": {
        "Door Type": "DD4"
        /* ... */
      }
    }
  },

    // 类型
  {
    "objectid": 3368,
    "name": "1830 x 2135 mm, 44 mm Thickness",
    "externalId": "8a6cf411-ac2f-4379-9b63-7360f7473e2f-0005bf0b",
    "properties": {
      "Identity Data": {
        "Type Mark": "12"
      },

      "Construction": {
        /* Frame type在这里,但不在实例里,不清楚原因 */
        "Frame Type": "F2",
        "Door Type": "DD4"
      },
    }
  }
]

内置参数截图

内置参数截图

共享参数截图

共享参数截图


问题解答

  1. 是否为预期行为?
    是。Model Derivative API的属性映射逻辑中,只有Revit标记为"Instance Visible"的类型参数才会被复制到实例对象的properties中。内置类型参数(如Type Mark、Door Type)默认开启了这个可见性设置,而共享族参数默认不会自动同步到实例层级——除非在Revit中手动将该共享参数的"Instance Visible"选项勾选开启。

  2. 如何获取特定实例的共享参数值?
    如果无法修改Revit源文件的参数设置,可通过以下方式获取:

  • 调用Model Derivative API的GET /metadata/{urn}/metadata/{guid}/properties接口时,添加include=type参数,这样会在实例的属性响应中直接关联其对应的Type对象数据;
  • 提前遍历并缓存所有Type对象的属性,然后通过实例的Type Name或externalId关联对应Type的共享参数值(优先用externalId,避免重名Type匹配错误)。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 16:53:17