为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_笑_17 2018-11-28 15:14:12
请问要如何透过 Viewer 的 API 来产生剖切面吗?像这截图这样:
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

可以的,你可以透过 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 );

结果截图:

https://img1.sycdn.imooc.com//5c1c9b0a00015c1717160815.jpg

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

https://img1.sycdn.imooc.com//5c1c9b1c00018fdf16980849.jpg

查看完整回答
反对 回复 2018-12-21
  • 1 回答
  • 0 关注
  • 457 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号