编辑: TLDR目前无法知道片段级的材料名称。
我想从节点的片段中读取材料,并根据使用Revit材料名称作为键的映射更改它们的材料。
我从模型中的一个节点(通过Viewer3D检索)获得了以下“材料和完成”属性:

我从这个节点的碎片中得到了以下三种材料:

是否有一种方法来设置这三种材料的名称来匹配模型数据(或者完全使用它们)?
理想情况下,我将能够将这三种材料与从此节点提取的以下材料匹配起来:

发布于 2021-07-28 15:24:53
SVF文件格式(由Model派生服务生成,由Forge Viewer加载)不幸地不保留材料名称。这些片段只是根据清单中的索引与特定的材料相关联。
“资料和完成”数据基本上只是一个特定于原始文件的属性(在本例中是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": {
}
}
}
}
...
}https://stackoverflow.com/questions/68533268
复制相似问题