如何使Autodesk Viewer Layermanager正确修复



我在Autodesk Viewer Layermanager扩展程序中遇到了一个错误,该扩展破坏了还原功能。我正在使用getState保存多层DWG文件的状态,并使用RestoresTate重新应用该状态。当我恢复状态时,即使我保存状态时,大多数或所有层都被隐藏了。

看来这是国家如何保存和解释的问题。我挖掘了状态JSON,并以这种形式找到了可见层的列表(state.objectSet[0].isolated):

["0","1","2","3","4","5"]

进行了一些实验后,我发现Layermanager期望层的整数索引或图层的字符串名称。类似:

[0,1,2,3,4,5]

["layer0","layer1","layer2","layer3","layer4","layer5"]

(假设这些是每一层的名称)

因此,当前的实现破裂了,因为它寻找具有" 0"," 1"," 2"等的层。无论实际层名称是什么。

我想知道是否有解决此问题的方法。一个临时的解决方案是解析状态json并将图层编号施加到整数,但这有点hack。

这是一个已知问题,目前正在我们的工程研究中研究。可以继续关注我们的Forge博客,并寻找发行笔记以保留修复程序的标签。

与此同时,随着加载所有图形后,您可以通过编程方式显示所有层:

viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, ()=>viewer.showAll())

最新更新