[英]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.