【问题标题】:Color is not changing when setting theming color programmatically以编程方式设置主题颜色时颜色不会改变
【发布时间】: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


【解决方案1】:

我们修复了一个非常相似的替换问题

import * as THREE from 'three';

const THREE = window.THREE;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多