我做一个BIM项目使用Autodesk锻造查看器(我使用查看器版本6*)。
我想颜色不同的对象在不同的颜色根据完成状态。
检查下图。
对象已经上色了,我尝试使用setThemingColor,但它不起作用。我不想使用setSelectionColor,因为我的对象是在不选择特定对象的情况下显示颜色。
例如:在下面的图片中,我想用相应的颜色给圈起来的物体上色。
样本图像
更新:
下面是我正在使用的代码片段
function changeObjectColor(modelId, status){
var color ;
switch (status) {
case 'Green':
color = new THREE.Vector4(0, 0.5, 0, 0.5);
break;
case 'Red':
color = new THREE.Vector4(1, 0, 0, 0.5);
break;
}
viewerApp.getCurrentViewer().setThemingColor(modelId,color);
}
设置颜色后的结果结果
我还使用了隔离和选择方法,但即使删除了这两个方法调用,特定对象的颜色也不会改变
新的尝试:
因此,在本教程之后,我成功地设置/隐藏了对象纹理(仅为灰色)。但后来我尝试使用setThemingColor方法,但对象仍然无法显示预期的颜色
viewerApp.getCurrentViewer().setThemingColor(modelId, color, null, true);
viewerApp.getCurrentViewer().impl.invalidate(true, true, false);
我错过了什么?
setThemingColor方法在v6中可用,应该可以正常工作。考虑发布负责设置颜色的代码片段。
以下是在Forge Digital Twin演示中如何使用该方法的示例。