为IFC模型移除或补偿旋转角度——Forge Viewer模型对比适配
Forge Viewer模型对比旋转差异解决方案
问题说明
我们的应用已集成Forge Viewer并提供模型对比功能,但部分模型存在旋转差异,带旋转的模型与无对应旋转的模型对比时,无法实现良好的对比效果。

解决思路
我们计划通过为Viewer动态补偿旋转角度解决该问题,需根据不同模型的旋转情况做针对性调整。目前已有初步思路代码,具体实现细节待明确。
参考代码示例
private static buildLoadOptions( bubbleNode: Autodesk.Viewing.BubbleNode, viewer: Viewer3D, ) { const visibleModels = viewer.getVisibleModels(); const globalOffset = this.extractGlobalOffsetOrDefault(visibleModels); const displayUnit = this.extractDisplayUnit(visibleModels); // 获取旋转角度 const rotation = bubbleNode.searchByTag({ rotation }); const mat = new Matrix4() // 调整旋转 .makeRotationZ(-rotation); return { placementTransform: mat, globalOffset: globalOffset, sharedPropertyDbPath: bubbleNode.getViewableRootPath(), applyScaling: displayUnit, }; }
内容的提问来源于stack exchange,提问作者heaxyh
相关产品推荐
相关产品推荐

