【问题标题】:Why methods enumNodeFragments undefined?为什么方法 enumNodeFragments 未定义?
【发布时间】:2019-08-14 21:21:00
【问题描述】:

我正在处理一个加载两个模型的项目。加载在同一个查看器中打开的两个模型。目前我正在寻找一种方法来建立透明度或隐藏元素。 出于某种原因,隐藏和隔离方法适用于一个模型,尽管我传递了两个模型的 dbId 元素。 有人建议我使用enumNodeFragments 方法,但在我的情况下,它始终是未定义的,根本不存在。我尝试了很多选择,所以出现了这种方法,但都是徒劳的。 我想就如何找到这种方法征求意见。 顺便说一句,对我来说最重要的是找到一种方法来隐藏两个模型的元素。

【问题讨论】:

    标签: javascript autodesk-forge


    【解决方案1】:

    就像我们在其他线程中讨论的那样,该方法仅在加载模型的几何数据后可用 - 查看器需要在暴露该方法之前判断模型是否适合节点片段枚举:

    viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT,()=> viewer.model.getData().instanceTree.enumNodeFragments(dbid, fragId => console.log(fragId)))
    

    查看实时代码here

    【讨论】:

    • 非常感谢。对不起,但我仍然不确定。这是我使用的my code
    • 我也尝试使用您建议的代码进入控制台 enumNodeFragments,但我什么也没得到。
    • 您是否传入了正确的 dbid?我的实时代码运行,因为 4 是我正在使用的模型的有效 dbid...
    • 对不起,这是我的错误,您的代码正在运行。我不知道为什么,但我无法转换我的代码以使其正常工作。我将您的代码添加到我的项目中并且它有效。原来你使用viewer.start(),而我使用完全不同的代码来加载几个模型。我需要转换我的代码以使其正常工作。我很乐意为您提供建议,非常感谢。
    • 你好,Bryan Huang。我继续寻找这个问题的解决方案并得出以下结果。当我将我的 svfUrl 值传递给代码中的 options.document 时,你会得到你需要的一切,但如果我改用 following code,因为我没有定义。问题出在这段代码中,但我该如何更改呢? doc.getViewablePath (initialViewable)
    猜你喜欢
    • 2018-08-25
    • 1970-01-01
    • 2016-12-11
    • 2014-01-13
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    相关资源
    最近更新 更多