首页 > 解决方案 > Viewer3D 中的属性 dbId:getProperties 与模型衍生端点中的 objectid 不匹配

问题描述

Viewer3d::getProperties不再使用 SVF2 的当前测试环境时返回所有可用属性。例如,该属性Element ID->Value在查看器中不可用,但在返回的数据中可用https://developer.api.autodesk.com/modelderivative/v2/regions/eu/designdata/:urn /metadata/:guid/properties。我的问题是我们通过 IfcGuid 通过 IfcBuildingStorey 节点访问了一个楼层节点,在该节点下<No Level>不再工作(可能是因为新的图层管理器​​?)。图层管理器​​是否支持 IfcGuid 或如何在查看器中获取属性?

编辑:

我发现objectid属性端点中的一些 s 与查看器中的 s 不匹配dbId。据我所知,它们应该是相同的,请参阅这个SO answer有人知道为什么吗?SVF2 的 dbId 与 SFV1 的 dbId 不匹配。建议改用 externalId。看这里

例子:

查看器选项:

Autodesk.Viewing.Initializer({
            'env': 'MD20ProdEU', //svf2
            'api': 'D3S', //svf2
},...

调用属性端点的原始属性:

{
   "objectid":81443,
   "name":"11. OG",
   "externalId":"0/0/0/15",
   "properties":{
      "Element ID":{
         "Value":"47823"
      },
      "Item":{
         "Hidden":"No",
         "Icon":"Layer",
         "Layer":"11. OG",
         "Material":"",
         "Name":"11. OG",
         "Required":"No",
         "Source File":"190719_Cule_Revit_Structure.ifc",
         "Type":"Levels: Level: Level 1"
      }
   }
}

返回的属性Viewer3d::getProperties

[
   {
      "displayName":"child",
      "displayValue":81444,
      "displayCategory":"__child__",
      "attributeName":"child",
      "type":11,
      "units":null,
      "hidden":1,
      "precision":0
   },
   {
      "displayName":"parent",
      "displayValue":4,
      "displayCategory":"__parent__",
      "attributeName":"parent",
      "type":11,
      "units":null,
      "hidden":1,
      "precision":0
   },
   {
      "displayName":"viewable_in",
      "displayValue":"190719_Cule_Revit_Structure.ifc",
      "displayCategory":"__viewable_in__",
      "attributeName":"viewable_in",
      "type":20,
      "units":null,
      "hidden":1,
      "precision":0
   },
   {
      "displayName":"node_flags",
      "displayValue":2,
      "displayCategory":"__node_flags__",
      "attributeName":"node_flags",
      "type":2,
      "units":null,
      "hidden":1,
      "precision":0
   },
   {
      "displayName":"Name",
      "displayValue":"11. OG",
      "displayCategory":"Item",
      "attributeName":"Name",
      "type":20,
      "units":null,
      "hidden":false,
      "precision":0
   },
   {
      "displayName":"Type",
      "displayValue":"Levels: Level: Level 1",
      "displayCategory":"Item",
      "attributeName":"Type",
      "type":20,
      "units":null,
      "hidden":false,
      "precision":0
   },
   {
      "displayName":"Icon",
      "displayValue":"Layer",
      "displayCategory":"Item",
      "attributeName":"Icon",
      "type":21,
      "units":null,
      "hidden":false,
      "precision":0
   },
   {
      "displayName":"Hidden",
      "displayValue":0,
      "displayCategory":"Item",
      "attributeName":"Hidden",
      "type":1,
      "units":null,
      "hidden":false,
      "precision":0
   },
   {
      "displayName":"Required",
      "displayValue":0,
      "displayCategory":"Item",
      "attributeName":"Required",
      "type":1,
      "units":null,
      "hidden":false,
      "precision":0
   },
   {
      "displayName":"Material",
      "displayValue":"",
      "displayCategory":"Item",
      "attributeName":"Material",
      "type":20,
      "units":null,
      "hidden":false,
      "precision":0
   },
   {
      "displayName":"Source File",
      "displayValue":"dummy.ifc",
      "displayCategory":"Item",
      "attributeName":"Source File",
      "type":20,
      "units":null,
      "hidden":false,
      "precision":0
   },
   {
      "displayName":"Layer",
      "displayValue":"11. OG",
      "displayCategory":"Item",
      "attributeName":"Layer",
      "type":20,
      "units":null,
      "hidden":false,
      "precision":0
   }
]

标签: autodesk-forgeautodesk-viewer

解决方案


Autodesk 提供了一种新的临时解决方法来映射 SVF1 和 SVF2 dbIds: https ://forge.autodesk.com/blog/temporary-workaround-mapping-between-svf1-and-svf2-ids


推荐阅读