繁体   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