繁体   English   中英

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

[英]How to get Autodesk Viewer LayerManager to RestoreState properly

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM