如何正确地将Autodesk Viewer LayerManager恢复到RestoreState

问题描述 投票:3回答:1

我在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并将层数转换为整数但这有点像黑客。

autodesk-forge autodesk-viewer autodesk forge
1个回答
3
投票

这是一个已知问题,目前我们的工程师正在研究。可以继续关注我们的Forge Blog,并留意发布说明,以密切关注修复。

与此同时,作为快速解决方法,您可以在加载所有图形后以编程方式显示所有图层:

viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, ()=>viewer.showAll())
© www.soinside.com 2019 - 2024. All rights reserved.