请问有办法透过 API 产生剖切面吗?

发布于 2022-09-05 01:50:37 字数 178 浏览 21 评论 0

请问要如何透过 Viewer 的 API 来产生剖切面吗?

像这截图这样:

剖切面

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蝶…霜飞 2022-09-12 01:50:37

可以的,你可以透过 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。调用示例如下:

var cutplanes = [
    new THREE.Vector4( 0, 0, -1, -17 ),
    new THREE.Vector4( 0, 0, 1, 0 ),
];

veiwer.setCutPlanes( cutplanes );

结果截图:
剖切结果截图

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

剖切还原截图

悲歌长辞 2022-09-12 01:50:37

康工您好,我是小赵,在上海就同问过您的名气,现在想请教您,模型剖切后是否可以默认选中显示的部分(触发that.viewer.getSelection()事件)。我对于forge只是入门,这个问题也困扰我一段时间了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文