javascript - Autodesk Forge-集成基于属性的选择/隔离

标签 javascript autodesk-forge autodesk-viewer autodesk

我是Java的完全新手,但我希望在不久的将来开始学习课程。我目前有一个工作正常的Forge查看器,带有来自Autodesk的tutorial的扩展程序和仪表板。我想创建一个扩展,以读取项目中的某些参数,列出它们,并使我能够在列表中选择某个参数并将其隔离。

在Autodesk forge网站上,有post,其中说明了如何在创建Forge查看器时向基于标准的属性扩展添加基于属性的选择和隔离。我想将此选择/隔离功能实现到我可以通过Autodesk中的docking panel extension添加的tutorial。此扩展已经使我能够选择要从项目中读取的参数,并为我列出这些参数,因此仅缺少选择/隔离部分。

所以我的问题是,如何在对接面板扩展中实现选择/隔离功能?

我添加了运行我的查看器的代码的screenshot

最佳答案

Autodesk.Viewing.UI.PropertyPanel类提供了几种方法,您可以在派生类中重写这些方法以控制其行为。您可能正在寻找的方法是onPropertyClick(property: Object, event: Event)

class MyCustomPanel extends Autodesk.Viewing.UI.PropertyPanel {
  constructor(viewer, container, id, title, options) {
      super(container, id, title, options);
      this.viewer = viewer;
  }
  onPropertyClick(prop, event) {
    console.log('name', prop.name);
    console.log('value', prop.value);
    console.log('category', prop.category);
    // Here you can get the dbIDs of objects you're interested in and isolate them, for example
    // this.viewer.search(prop.value, (dbids) => {
    //     this.viewer.isolate(dbids);
    // });
  }
}

关于javascript - Autodesk Forge-集成基于属性的选择/隔离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59983511/

相关文章:

javascript - 检查 JavaScript 中的时间是否早于其他时间

autodesk-forge - 如何在基于 dbid 的 APS/Forge Viewer 中从大型 Revit 模型中查找和选择多个元素?

javascript - 伪造查看器调用焦点方法

autodesk-forge - 在 Autodesk Forge Viewer 中旋转模型

javascript - IFRAME 上的 onkeydown crossbrowser?

javascript - 始终关闭一个打开的元素 jquery 切换

autodesk-forge - autodesk Forge 集成在创建 Webhook 时失败,错误 403

javascript - 不能在 tree.enumNodeFragments() 委托(delegate)中使用全局变量

javascript - 如何调整对象的大小 - Autodesk Forge Viewer

javascript - 无法删除事件监听器