【发布时间】:2019-11-15 23:26:35
【问题描述】:
我们希望在 forge-viewer 中放大到 2D 图纸以截取屏幕截图并稍后拼接多个屏幕截图以获得更好的图像质量。 我们面临放大到精确边界框的问题,它总是放大一点,即我们可以看到不应该成为屏幕截图的一部分的工作表部分。 以将2D图纸等分为4个象限放大并截屏为例(我们可以根据需要的图像质量稍后增加象限/部分),我们使用下面的代码来放大,
var max = viewer.model.getBoundingBox().max;
var min = viewer.model.getBoundingBox().min;
var Q1Min = new THREE.Vector3( min.x, min.y, 0 )
var Q1Max = new THREE.Vector3( (min.x)+(max.x)/2, (min.y)+(max.y)/2, 0 )
var Q1Box = new THREE.Box3(Q1Min, Q1Max);
viewer.navigation.fitBounds( immediate, Q1Box);
We also tried using below method, it also produces same result
viewer.impl.setViewFromViewBox(viewer.model, [Q1Min.x,Q1Min.y,Q1Max.x,Q1Max.y],'Q1',true)
Full sheet view 在浏览器中看到。
Result以上代码执行后。
Required result,注意图片宽度的不同。在某些情况下,高度和宽度都会成为问题。
【问题讨论】:
-
可以确认能够复制该问题...与工程部门核实以找到解决方法,很快就会回复
-
在我们等待工程部返回时,您可能需要手动向枢轴方向缩放 - 试试
viewer.navigation.setView(camera.position,viewer.navigation.getTarget()) -
嗨,布莱恩,感谢您的回复。我们尝试了上述方法来设置视图,但这也没有用。我们使用了从观众那里得到的相机,这是正确的方式吗?我们有没有收到工程团队的回复。
-
是否可以放大到精确的边界框?还是我们应该寻找其他替代方案?
标签: zooming screenshot bounding-box autodesk-viewer