【问题标题】:What is the Id needed in options.ids for method loadFile(url,options, ...)方法 loadFile(url,options, ...) 在 options.ids 中所需的 Id 是什么
【发布时间】:2017-06-26 12:18:24
【问题描述】:

我们开始使用 Forge API 在 Forge 查看器中加载 .rvt 文件,并且我们正在寻找一种仅加载特定元素列表的方法。

指定字段 options.ids 的方法 loadFile(url, options, ....) 似乎是我们问题的解决方案(不是吗?)。

我们尝试了不同的 id,但它们都不起作用:

在 Revit 中,我们有一个带有 id = 1426299 的元素,所以我们尝试了:

带和不带填充的整数或十进制字符串:

- options.ids = 1426299<br/>
- options.ids = "1426299"<br/>
- options.ids = 01426299<br/>
- options.ids = "01426299"<br/>

十六进制,带和不带填充:

- options.ids = "15c37b"<br/>
- options.ids = "0015c37b"<br/>
- options.ids = "15C37B"<br/>
- options.ids = "0015C37B"<br/>
- options.ids = "0015C37B"<br/>

在 object_ids.json.gz 中使用 GUID 查找:
- options.ids = "2a4577e1-1534-4806-85f3-3f29d53053eb-0015c37b"

在文档的示例中(此处为:https://developer.autodesk.com/en/docs/viewer/v2/reference/javascript/document/),id 为“XXX02UUEs”,我们无法弄清楚在哪里可以找到这种类型的 id。它似乎是查看者的特定 ID,但我在哪里可以访问它?

感谢您的帮助!

【问题讨论】:

  • 据我所知,在初始加载模型时,无法仅加载某些特定 ID。我很好奇您在哪里看到使用了“options.ids”字段?您是否通过查看查看器源代码看到了这一点?我看不到这样的选择。建议的解决方法是在模型完全加载之前隐藏模型(例如使用覆盖 div),隐藏不需要的节点 ID 并将其显示给用户。
  • 好的...您所指的 getItemById 实际上是从整个模型返回一个可见项目,而不是加载设计中的组件。这有点令人困惑:URN 使您可以访问特定模型,该模型可以由 1 个或多个可视路径组成(例如具有 2D + 3D 视图的 RVT 文档)。您在查看器中加载的是可查看的路径,然后查看器将下载相关资源并即时构建影响 dbIds 的设计组件。不幸的是,在设计完全加载之前,无法自定义该过程。
  • 当然你可以重写加载机制,但我想那将是相当多的返工。希望有帮助
  • 感谢您的快速回答和良好的解释。好的,现在我理解了可见和可见 id 的概念。我希望将来可以从服务器加载仅特定元素的可能性。最好只加载特定 bbox 中的元素以进行快速渲染。
  • 同意,我不确定这在技术上是否容易实现,但我会记录下来作为一个愿望......

标签: javascript autodesk-forge autodesk-viewer


【解决方案1】:

您所指的 getItemById 实际上是从整个模型返回一个可查看的项目,而不是已加载设计中的组件。

这有点令人困惑:

URN 让您可以访问特定模型,该模型可以由 1 个或多个可视路径组成(例如具有 2D + 3D 视图的 RVT 文档)。您在查看器中加载的是可查看的路径,然后查看器将下载相关资源并即时构建影响 dbIds 的设计组件。不幸的是,在设计完全加载之前,无法自定义该过程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多