Autodesk Forge Viewer:将片段 Material 连接到 Revit 模型数据
Autodesk Forge Viewer: Connect Fragment Material to Revit Model Data
编辑:TLDR 目前无法知道 material 片段级别的名称。
我想从节点的片段中读取 material 并根据使用 Revit material 名称作为键的地图更改它们的 material。
我从模型中的一个节点(通过 Viewer3D 检索)获得以下“材料和饰面”属性:
我从该节点的片段中得到以下三个 material:
有没有办法设置三个 material 的名称以匹配模型数据(或完全使用它们)?
理想情况下,我可以将这三个 material 与从该节点中提取的以下 material 进行匹配:
不幸的是,SVF 文件格式(由模型衍生服务生成并由 Forge Viewer 加载)不保留 material 个名称。这些片段仅根据其在列表中的索引与特定的 material 相关联。
“材料和饰面”数据基本上只是 属性 特定于原始文件(在本例中为 Revit 模型),其他文件格式可能不可用。
编辑:我尝试查看 Materials.json.gz 文件,但不幸的是,名称也未包含在其中:
{
"name": "LMVTK Simple Materials",
"version": "1.0",
"scene": {
"SceneUnit": 8215,
"YIsUp": 0
},
"materials": {
"0": {
"version": 2,
"userassets": ["0"],
"materials": {
"0": {
"tag": "",
"proteinType": "",
"definition": "SimplePhong",
"properties": {
"integers": {
"mode": 4
},
"booleans": {
"color_by_object": false,
"generic_is_metal": false,
"generic_backface_cull": true
},
"scalars": {
"generic_transparency": {
"units": "",
"values": [0]
}
},
"colors": {
"generic_diffuse": {
"values": [{
"r": 0,
"g": 1,
"b": 0,
"a": 1
}]
}
}
},
"transparent": false,
"textures": {
}
}
}
},
"1": {
"version": 2,
"userassets": ["0"],
"materials": {
"0": {
"tag": "",
"proteinType": "",
"definition": "SimplePhong",
"properties": {
"integers": {
"mode": 4
},
"booleans": {
"color_by_object": false,
"generic_is_metal": false,
"generic_backface_cull": true
},
"scalars": {
"generic_transparency": {
"units": "",
"values": [0]
}
},
"colors": {
"generic_diffuse": {
"values": [{
"r": 0.400000,
"g": 0.400000,
"b": 0.400000,
"a": 1
}]
}
}
},
"transparent": false,
"textures": {
}
}
}
}
...
}
编辑:TLDR 目前无法知道 material 片段级别的名称。
我想从节点的片段中读取 material 并根据使用 Revit material 名称作为键的地图更改它们的 material。
我从模型中的一个节点(通过 Viewer3D 检索)获得以下“材料和饰面”属性:
我从该节点的片段中得到以下三个 material:
有没有办法设置三个 material 的名称以匹配模型数据(或完全使用它们)?
理想情况下,我可以将这三个 material 与从该节点中提取的以下 material 进行匹配:
不幸的是,SVF 文件格式(由模型衍生服务生成并由 Forge Viewer 加载)不保留 material 个名称。这些片段仅根据其在列表中的索引与特定的 material 相关联。
“材料和饰面”数据基本上只是 属性 特定于原始文件(在本例中为 Revit 模型),其他文件格式可能不可用。
编辑:我尝试查看 Materials.json.gz 文件,但不幸的是,名称也未包含在其中:
{
"name": "LMVTK Simple Materials",
"version": "1.0",
"scene": {
"SceneUnit": 8215,
"YIsUp": 0
},
"materials": {
"0": {
"version": 2,
"userassets": ["0"],
"materials": {
"0": {
"tag": "",
"proteinType": "",
"definition": "SimplePhong",
"properties": {
"integers": {
"mode": 4
},
"booleans": {
"color_by_object": false,
"generic_is_metal": false,
"generic_backface_cull": true
},
"scalars": {
"generic_transparency": {
"units": "",
"values": [0]
}
},
"colors": {
"generic_diffuse": {
"values": [{
"r": 0,
"g": 1,
"b": 0,
"a": 1
}]
}
}
},
"transparent": false,
"textures": {
}
}
}
},
"1": {
"version": 2,
"userassets": ["0"],
"materials": {
"0": {
"tag": "",
"proteinType": "",
"definition": "SimplePhong",
"properties": {
"integers": {
"mode": 4
},
"booleans": {
"color_by_object": false,
"generic_is_metal": false,
"generic_backface_cull": true
},
"scalars": {
"generic_transparency": {
"units": "",
"values": [0]
}
},
"colors": {
"generic_diffuse": {
"values": [{
"r": 0.400000,
"g": 0.400000,
"b": 0.400000,
"a": 1
}]
}
}
},
"transparent": false,
"textures": {
}
}
}
}
...
}