请问要怎么透过 API 来改变构件的颜色?

发布于 2022-09-05 00:24:11 字数 38 浏览 17 评论 0

请问在 Forge Viewer 里要怎么改变一个构件的颜色?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

风透绣罗衣 2022-09-12 00:24:11

可以的,你可以透过 viewer.setThemingColor() 这个函数来设置,它接受的参数是一个 THREE.Vector4。Forge Viewer 用 THREE.Vector4(x, y, z) 来表示三原色 (r, g, b)w 代表不透明度 alpha,注意每个参数都是介于 0 到 1 之间,三原色的色码必需都除以 255。调用示例如下:

// 变成红色
var color = new THREE.Vector4( 255/255, 0, 0, 1 );

viewer.setThemingColor( 2498, color);

结果截图,原本的绿地变成红色的了:
改变构件颜色截图

如果要还原构件的颜色的话,可以调用 viewer.clearThemingColors() 这个函数来清除颜色设置,结果如下:
构件颜色还原截图

巨坚强 2022-09-12 00:24:11
viewer.addEventListener( Autodesk.Viewing.GEOMETRY_LOADED_EVENT, function (event) {             
       
                var color = new THREE.Vector4( 0/255,102/255,25/255, 1 );
                viewer.setThemingColor(changeDate, color);}
        
    )

changeDate为对应的dbid,color为想要改变的颜色。

情独悲 2022-09-12 00:24:11

改变颜色后会刷新整个模型,有没有办法不刷新整个模型?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文