javascript - 請問有辦法透過 API 產(chǎn)生剖切面嗎?
問題描述
請問要如何透過 Viewer 的 API 來產(chǎn)生剖切面嗎?
像這截圖這樣:
問題解答
回答1:可以的,你可以透過 viewer.setCutPlanes() 這個(gè)函數(shù)來設(shè)置剖切面,它接受的是 THREE.Vector4 的數(shù)組 (array),也就是剖切面的數(shù)組。 每個(gè) THREE.Vector4 都代表一個(gè)高等數(shù)學(xué)的面方程 ax + by + cz + d = 0 ,這個(gè)面方程的法向?yàn)?(a,b,c) 且與距離坐標(biāo)原點(diǎn) d 單位。此外, Forge Viewer 還以 THREE.Vector4 的 (x, y, z) 來表示面的法向 (a, b, c),w 代表與原點(diǎn)的距離 d。調(diào)用示例如下:
var cutplanes = [ new THREE.Vector4( 0, 0, -1, -17 ), new THREE.Vector4( 0, 0, 1, 0 ),];veiwer.setCutPlanes( cutplanes );
結(jié)果截圖:
如果要取消剖切的話,只要再調(diào)用一次 viewer.setCutPlanes() 且不傳入任何參數(shù)即可,取消后房子就回復(fù)原狀了:
康工您好,我是小趙,在上海就同問過您的名氣,現(xiàn)在想請教您,模型剖切后是否可以默認(rèn)選中顯示的部分(觸發(fā)that.viewer.getSelection()事件)。我對于forge只是入門,這個(gè)問題也困擾我一段時(shí)間了。
相關(guān)文章:
1. angular.js - ionic2 瀏覽器跨域問題2. mysql 一個(gè)sql 返回多個(gè)總數(shù)3. android - rxjava merge 返回Object對象數(shù)據(jù)如何緩存4. docker-compose中volumes的問題5. 如何用筆記本上的apache做微信開發(fā)的服務(wù)器6. CSS3 畫如下圖形7. javascript - 螞蟻金服里的react Modal方法,是怎么把元素插入到頁面最后的8. python - Scrapy存在內(nèi)存泄漏的問題。9. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????10. java - 三位二進(jìn)制表示8進(jìn)制,四位二進(jìn)制表示16進(jìn)制,那么多少二進(jìn)制表示10進(jìn)制呢?
