簡體   English   中英

Autodesk Forge 查看器 - 單擊通過 SceneBuilder 創建的模型上的事件

[英]Autodesk Forge Viewer - Click Events on models created through SceneBuilder

我正在使用新的 SceneBuilder 擴展(使用指南)向查看器添加幾何圖形。 我已經能夠在查看器中顯示幾何圖形,還能夠將 TextGeometry 添加到與某些模型相同的 dbId 中。

查看器允許我單擊並隔離幾何圖形,但是當我使用 viewer.getSelection() 時,它返回一個空數組。 我什至為幾何本身添加了一個單擊事件偵聽器,但也沒有運氣。

任何人都知道向這個新創建的片段或幾何圖形添加偵聽器的方法嗎?

您是否將dbid設置為附加到場景的網格? 否則,選擇器將無法像文檔(原始模型)的氣泡那樣獲取他們的 dbid:


    sceneBuilder.addNewModel({conserveMemory: false,
    modelNameOverride: 'My Model Name233'})
        .then(modelBuilder => {
            //...
            mesh = new THREE.Mesh(geom, phongMaterial);
            mesh.dbId=23333;
            modelBuilder.addMesh(mesh);

        })

然后您可以調用自定義 model 上的選擇器來獲取當前選擇 - 因為我們從自定義 model 獲取選擇狀態,而不是查看器加載的選擇狀態(通過viewer.model ):

modelBuilder.model.selector.getSelection() //[23333]

編輯

忘了說你也可以訂閱AGGREGATE_SELECTION_CHANGED_EVEN因為我們在這里處理多個模型:

NOP_VIEWER.addEventListener(Autodesk.Viewing.AGGREGATE_SELECTION_CHANGED_EVENT,e=>{
//...
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM