如何检索 Forge Viewer 对象树?

2023-12-05

我的目标是根据我在 Revit 中创建的线条向查看器添加新的几何图形,以突出显示房间,就像他们在此处所做的那样Link

但我不知道如何访问这些线路 ID。 我知道它们在 Revit 中是什么(元素 id),但不知道它们如何映射为 dbid。

按照此博客文章

我想访问扩展中的 objectTree 来找出答案,但它总是返回为未定义。

var tree;
//old way - viewer is your viewer object - undefined
viewer.getObjectTree(function (objTree) {
 tree = objTree;
});

//2.5 - 未定义

  var instanceTree = viewer.model.getData().instanceTree;
  var rootId = this.rootId = instanceTree.getRootId();

//- 不明确的

  var objectTree = viewer.getObjectTree();

谁能告诉我它是否仍然适用于他们我正在使用 API 的 v2 来将 rvt 转换为 svf 和viewer3D.js 的 2.9

注意如果我调用它,我可以看到 dbid 列表

var model = viewer.impl.model;
var data = model.getData();
var fragId2dbIdArray = data.fragments.fragId2dbId ;

但无法映射回 Revit element_id


As of version 2.9 this is still working. Here's my console: Console log

您可以尝试以下几件事:

  1. Is viewer不明确的?抓取时您是否处于正确的范围内viewer?
  2. 必须先加载文档,然后才能获取实例树。当文档加载时,会发生一个名为Autodesk.Viewing.GEOMETRY_LOADED_EVENT将被解雇,然后您可以开始操作实例树。

只需这样做:

viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, function () {
var instanceTree = viewer.model.getData().instanceTree;
});

对于更结构化的代码,请遵循本指南添加扩展名。

有一个更详细的博客文章要监听哪个事件。不过,它仍然使用旧的方法来获取实例树。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检索 Forge Viewer 对象树? 的相关文章

  • 更改 Forge 中的材料

    目前 我们正在让客户端在页面加载时检索对象状态 这将导致模型中的 待处理 对象变成不同的颜色 然后我们轮询更改以更新着色 首先 当查看器加载时 挂起的对象会着色 然后我们继续轮询以再次检查和更改状态 以使 Forge 以不同的颜色渲染它们并
  • 使用 Autodesk A360 中的 URN 创建查看器应用程序

    我创建了一个查看器应用程序 它使用两条腿身份验证并显示已上传到我自己的存储桶的项目 现在 我希望能够查看已上传到 Autodesk A360 的项目 而不是查看自己存储桶中的项目 为此 我已完成以下步骤 实现了三足认证 项目中的A360账号
  • 如何为 Autodesk Forge App 指定多个回调 URL?

    您可以注册多个回调 URL 回调 URL 工具提示中有说明 但没有关于如何输入多个 URL 的示例 正确的分隔符是什么 我试过 n 这是工具提示上的拼写错误 我们将修复它 今天您可以使用 2022 年 9 月更新 此功能现已推出
  • 如何检索 Forge Viewer 对象树?

    我的目标是根据我在 Revit 中创建的线条向查看器添加新的几何图形 以突出显示房间 就像他们在此处所做的那样Link 但我不知道如何访问这些线路 ID 我知道它们在 Revit 中是什么 元素 id 但不知道它们如何映射为 dbid 按照
  • 尝试在 Autodesk Forge / Bim360 中显示房间信息

    Okay so I m trying to show room information and geometry from a Revit project on Forge I ve made the call to https devel
  • Autodesk Forge:工作项因 AppPackage 问题而失败

    我的 AppPackage 无法加载 并且我无法在文档或错误消息 代码中找到确切的答案 我通过将其解压缩到本地计算机上的 C Program Files Autodesk ApplicationPlugins 中来测试该捆绑包 并且它按预期
  • 如何获取bucket文件的urn

    请告诉我如何获取桶文件的瓮 您可以获取上传到存储桶时响应中包含的 urn 但我想获取已上传到存储桶的文件的 urn 有什么办法吗 您可以使用GET buckets bucketKey objects端点以获取存储桶中所有文件的列表 在响应中
  • 在 v7 中使用 setViewCube 更新视图

    如何在 v7 中使用 setViewCube 更新视图 我在 v6 中使用了以下代码 但它在 v7 中不起作用 viewer setViewCube top front 在 v6 到 v7 的迁移指南中 它说 我应该通过扩展来调用它 ext
  • setThemingColor 仅适用于叶节点 dbId

    从文档看来 您应该能够使用任何 dbId 调用 setThemingColor 但它似乎只有在您传递的 id 是叶节点时才有效 它是否正确 还有什么方法可以批量调用此方法 或者一次只能调用一个叶节点 我想将 dbId 数组传递到该方法中 是
  • Autodesk Forge Data Manager Api 重命名项目

    我尝试使用这个补丁Api https www versti eu TranslateProxy https developer autodesk com en docs data v2 reference http projects pro
  • 如何用FitToView控制页面和组件之间的距离?

    使用FitToView后 页面和组件之间的距离太近 有什么好的方法可以控制这个距离吗 在此输入图像描述 https i stack imgur com 7yxqV png 您可以获取对象 组件 的边界框 并用该框放大 缩小以形成适当的框并调
  • 如何在 Forge Viewer 中获取交集框的边界框信息?

    使用剖面分析工具对模型进行剖面查看时添加交集框后 能否获取其边界框信息 原始模型 需要提取边界框的相交框视图 您可以通过以下方式访问截面框的几何信息sectionExtension tool const sb viewer getExten
  • 使用 Python 请求将文件数据放入 Autodesk API

    我正在按照描述的过程进行操作here https developer autodesk com en docs data v2 tutorials upload file 但被一个人拦住了403在第 4 步 我有一个令牌data write
  • Forge Viewer 在多模型上下文中选择

    我们的扩展目前利用viewer select 和模型中的dbId 列表 我们的客户希望在同一查看器中看到辅助模型 我们让他们能够在加载第一个模型后加载参考模型 然而 我们遇到了多个模型的问题 观众从其中一个模型中进行选择以外当我们调用vie
  • 如何激活 Autodesk Forge Snapper?

    我正在尝试激活自查看器版本 7 3 以来实施的新 Snapper 扩展 所以我像这样加载扩展 viewer loadExtension Autodesk Snapping 似乎有效 之后 我尝试访问类似的描述方法 但总是收到此错误 getS
  • 如何通过 AutoCAD Plot API 在 Forge 设计自动化中使用用户定义的字体

    我们使用 Forge Plot API 将 DWG 绘制为 PDF JPG 一位客户提出了使用名为 ROBBI TTF 的特殊 TTF 字体的 DWG 我想这个字体必须上传到 Forge 服务器才能使用 是否可以上传字体一次 以便它可以用于
  • 扩展 Autodesk Forge:将我自己的扩展添加到包后,我的控制面板无法连接到 Revit 模型

    我用过这个包 https github com petrbroz forge iot extensions demo https github com petrbroz forge iot extensions demo 之后 我添加了自己
  • 如何从 Autodesk Forge API 按项目获取评论和传输?

    我试图找到一种获取评论和传输的方法 但在 BIM360 API 或数据管理 API 中没有找到它 可以获得吗 目前尚未公开 BIM 360 的审核和传输 API 有一个Review API的愿望 ALEX 37150 API 希望 公开文档
  • 使用 Javascript 下载 BIM360 Docs 文件

    我正在尝试使用 javascript 下载 BIM360 文档文件 我能够从 BIM360 获取文件响应 但无法保存具有正确内容的文件 这是我的 JS 代码 document ready function var anchor vcard
  • Autodesk Forge:dbId、objectId 和 nodeId 之间有什么区别?

    dbId objectId 和 nodeId 有什么区别 例如 以下函数的第一个参数是同一种id还是ids fitToView objectIds 模型 objectIds Id 数组 或 null getProperties dbId o

随机推荐