提问者:小点点

欧特克锻造查看器中颜色对象的最佳方法


我做一个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);

我错过了什么?


共1个答案

匿名用户

setThemingColor方法在v6中可用,应该可以正常工作。考虑发布负责设置颜色的代码片段。

以下是在Forge Digital Twin演示中如何使用该方法的示例。