搜尋

首頁  >  問答  >  主體

javascript - 請問有辦法透過 API 產生剖切面嗎?

請問要如何透過 Viewer 的 API 來產生剖切面嗎?

像這截圖這樣:

#
漂亮男人漂亮男人2769 天前797

全部回覆(2)我來回復

  • 某草草

    某草草2017-06-26 11:00:18

    可以的,你可以透過 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 代表與原點的距離 w。呼叫範例如下:

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

    結果截圖:

    如果要取消剖切的話,只要再調用一次 viewer.setCutPlanes() 且不傳入任何參數即可,取消後房子就回復原狀了:

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-26 11:00:18

    康工您好,我是小趙,在上海就同問過您的名氣,現在想請教您,模型剖切後是否可以默認選中顯示的部分(觸發that.viewer.getSelection()事件)。我對於forge只是入門,這個問題也困擾我好一陣子了。

    回覆
    0
  • 取消回覆