请问要如何透过 Viewer 的 API 来产生剖切面吗?
像这截图这样:
康工您好,我是小赵,在上海就同问过您的名气,现在想请教您,模型剖切后是否可以默认选中显示的部分(触发that.viewer.getSelection()事件)。我对于forge只是入门,这个问题也困扰我一段时间了。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
可以的,你可以透过
viewer.setCutPlanes()
这个函数来设置剖切面,它接受的是THREE.Vector4
的数组 (array),也就是剖切面的数组。 每个THREE.Vector4
都代表一个高等数学的面方程ax + by + cz + d = 0
,这个面方程的法向为(a,b,c)
且与距离坐标原点d
单位。此外, Forge Viewer 还以THREE.Vector4
的(x, y, z)
来表示面的法向(a, b, c)
,w
代表与原点的距离d
。调用示例如下:结果截图:

如果要取消剖切的话,只要再调用一次
viewer.setCutPlanes()
且不传入任何参数即可,取消后房子就回复原状了: