【发布时间】:2019-10-27 01:35:55
【问题描述】:
我使用的是无头伪造查看器(版本 6.*),我无法在特定元素中设置主题颜色。查看器加载后,我以编程方式选择一些元素并尝试使用 setThemingColor 函数设置它们的主题颜色,但没有任何反应。
当我尝试通过控制台(使用 NOP_VIEWER)设置它们的主题颜色时,它会发生变化,但只有在使用不同参数调用该方法两次后才会发生变化,例如:
NOP_VIEWER.setThemingColor(4238, new THREE.Vector4(1, 1, 1, 1));
NOP_VIEWER.setThemingColor(4238, new THREE.Vector4(0, 1, 1, 1));
我在代码中所做的是(this.viewer3D 是 Autodesk.Viewing.Viewer3D 的一个实例):
this.viewer3D.clearThemingColors();
const currentSelection = this.viewer3D.getSelection();
currentSelection.forEach((id: number) =>
this.viewer3D.setThemingColor(id, new THREE.Vector4(0, 1, 1, 1))
);
还有其他方法可以改变这些元素的颜色吗?
【问题讨论】:
-
setThemingColor是要走的路,确保您使用的是最新的 v6.6 并查看实时代码here,除非您需要为所有子节点递归设置颜色,您可以将递归标志翻转为 true 就像 `` - 但那不是这里的问题,所以如果可能的话,您可以将模型发送到 forge.help@autodesk.com(通过 weTransfer/Dropbox 之类的共享服务),以便我们尝试重现问题 -
感谢您的回复,Bryan Huang。我刚刚通过 weTransfer 向 forge.help@autodesk 发送了一封电子邮件,其中包含我们用于测试的模型。一旦我们解决它,我将在此处发布解决方案并关闭此问题。
标签: autodesk-forge autodesk-viewer