我在Autodesk Viewer LayerManager扩展中遇到了一个错误,该错误破坏了restoreState功能。我正在使用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,并将层数转换为整数,但这有点麻烦。
答案 0 :(得分:3)
这是一个已知问题,我们的工程部门正在对此进行调查。可以随时关注我们的Forge Blog,并留意发行说明,以随时了解修复情况。
与此同时,作为快速解决方法,您可以在加载所有图形后以编程方式显示所有图层:
viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, ()=>viewer.showAll())