如何使 Autodesk Forge Viewer 支持 .rcp 文件

2024-03-13

我有一个 Web 项目 (React),使用 Autodesk Forge Viewer 显示我们的企业 BIM360 帐户中的 3D(和 2D)模型。自去年以来,在 BIM360 中运行的同一查看器现在支持.rcp文件,我们也希望允许它。但到目前为止我还无法使它工作,而且我还没有找到任何特定于.rcp支持。

我当前的查看器初始化如下。它主要是文档中的标准代码,并且可以很好地与 3D 模型配合使用。

const options: Autodesk.Viewing.InitializerOptions = {
   getAccessToken: (callback) => callback(token.accessToken, token.expiresIn),
   loaderExtensions: { svf: "Autodesk.MemoryLimited" }
};
 
Autodesk.Viewing.Initializer(options, () => {
   const viewer = new Autodesk.Viewing.GuiViewer3D(ref.current);

   var startedCode = viewerObject.start();
   if (startedCode > 0) {
      onError('Error - Failed to create a Viewer: WebGL not supported.');
      return;
   }

   //urn is Base64
   Autodesk.Viewing.Document.load(urn, onDocumentLoadSuccess, onDocumentLoadError);
});

我天真地尝试给它一个 Base34 瓮.rcp文件没有成功。在网络上我可以看到一个400 Bad Request根据清单请求(https://cdn.derivative.autodesk.com/derivativeservice/v2/manifest/{urn}?domain=http%3A%2F%2Flocalhost%3A6006 https://cdn.derivative.autodesk.com/derivativeservice/v2/manifest/%7Burn%7D?domain=http%3A%2F%2Flocalhost%3A6006)。感觉像Document.load()代码仅适用于.svf格式有一个清单,但是.rcp don't?

正在经历https://lmv.ninja.autodesk.com https://lmv.ninja.autodesk.com样本,我意识到.rcp可以使用以下代码加载文件:

viewer.loadModel(url, {}, onModalLoadSuccess,onModelLoadError);
viewer.loadExtension('Autodesk.ReCap')

我必须使用示例文件:https://s3.amazonaws.com/lmv.models/recap_models/AutodeskReCapSampleProject.rcp https://s3.amazonaws.com/lmv.models/recap_models/AutodeskReCapSampleProject.rcp

但是,它不适用于我们 BIM360 帐户的私人链接。查看网络,我可以看到返回的请求带有401 Unauthorized。遗憾的是我的访问令牌没有添加到标头中。一个错误?或者我错过了什么?

POST https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/{guid}.rcp
401 Unauthorized
{ 
   "developerMessage":"Token is not provided in the request.", 
   "moreInfo": "https://forge.autodesk.com/en/docs/oauth/v2/developers_guide/error_handling/", 
   "errorCode": "AUTH-010"
}

我尝试查看 lmv.ninja 如何从 BIM360 模型执行此操作,但无法完成登录步骤。它不断将我重定向到默认页面而不让我登录。显然对我来说这看起来像是另一个错误。

注意:我已将查看器库更新到最新

https://autodeskviewer.com/viewers/latest/viewer3D.min.js
https://autodeskviewer.com/viewers/latest/extensions/ReCap/ReCap.min.js
https://autodeskviewer.com/viewers/latest/lmvworker.min.js

谢谢您的帮助

Clement


这是更新...尝试使用 Forge Viewer 的 iframe 版本,如下所示...

STEPS:

  1. 获取原始 BIM 360 / ACC URL 地址,并提取项目、项目和文件夹变量(请参见屏幕截图中使用的颜色)
  2. 在每个变量中,将“:”字符替换为“%3A”
  3. 删除“b”。来自项目变量
  4. 从tileset.json文件Bearer Header中获取ACCESSTOKEN(或使用您自己的3足系统)
  5. 将变量放入此 URL 中:
https://cdn.recap.autodesk.com/viewer/latest/index.html?file={$ITEMS}&pid=${PROJECTS}&fid=${FOLDERS}&env=prd&src=bim360&accessToken=${ACCESSTOKEN}

这是一个示例,其中填充了变量:

BIM 360 URL:
https://docs.b360.autodesk.com/projects/37cf25af-1304-4c2b-b54f-0c98ed8a42e0/folders/urn:adsk.wipprod:fs.folder:co.AtLas5d8T_eWl2SzFB5pSg/detail/viewer/items/urn:adsk.wipprod:dm.lineage:tYiwN_yMTDmj5jroyTCwBQ

IFRAME URL:
https://cdn.recap.autodesk.com/viewer/latest/index.html?file=urn%3Aadsk.wipprod%3Adm.lineage%3AtYiwN_yMTDmj5jroyTCwBQ&pid=37cf25af-1304-4c2b-b54f-0c98ed8a42e0&fid=urn%3Aadsk.wipprod%3Afs.folder%3Aco.AtLas5d8T_eWl2SzFB5pSg&env=prd&src=bim360&accessToken=eyJhbGciO...etc 

然后将此 iFrame URL 放入浏览器中,Recap 查看器将加载您的点云,就像这个屏幕截图一样...

这是一种解决方法,直到添加 URN 支持(即将推出气泡解码器)。

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

如何使 Autodesk Forge Viewer 支持 .rcp 文件 的相关文章

  • 如何检索 Forge Viewer 对象树?

    我的目标是根据我在 Revit 中创建的线条向查看器添加新的几何图形 以突出显示房间 就像他们在此处所做的那样Link 但我不知道如何访问这些线路 ID 我知道它们在 Revit 中是什么 元素 id 但不知道它们如何映射为 dbid 按照
  • 使用三个 CSG 进行 3D 布尔运算

    按照此处的示例 http learning Threejs com blog 2011 12 10 constructive solid geometry with csg js 并使用 Three js 与https github com
  • Autodesk Viewer 中出现 webGL 错误

    我收到如下错误 未捕获的类型错误 无法读取 null 的属性 webglFramebuffer 当我转到与附加了 Autodesk Viewer 的页面链接的另一个页面时 我不知道它为什么会来 我在我的网站上使用 angularjs 并且该
  • 尝试在 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
  • 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 您可以获取对象 组件 的边界框 并用该框放大 缩小以形成适当的框并调
  • 如何调整对象大小 - Autodesk Forge Viewer

    我怎样才能改变对象的大小 我需要改变物体的高度 例如 我们需要更改门或窗帘的高度 在此代码中我的对象消失了 let change function const viewer oViewer const model viewer model
  • Forge Viewer 在多模型上下文中选择

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

    我正在制作一个 Web 服务原型 以使用 Autodesk Forge 中的 Design Automation API 转换数据 我的方法是调用一个执行脚本的活动来导入目标数据文件 例如STEP IGES格式 例如 我创建了一个将 STE
  • 如何将带有 mtl 和纹理的 obj 上传到存储桶?

    正如标题所示 如何上传 obj 模型的材质文件和纹理 因为它们是硬编码在 obj 文件中的 我可以上传压缩的目录结构或多个关系正确的文件 因为 obj 的硬编码性质 吗 这是 dotty 试用网站上的带有材质和纹理的 OBJ 模型 http
  • 使用 Autodesk API 下载文档

    我正在尝试从 BIM 360 Docs 下载文档 如果我想下载类型为 type items autodesk bim360 File 我只需要获取bucketID和objectID projects
  • 如何使 Autodesk Forge Viewer 支持 .rcp 文件

    我有一个 Web 项目 React 使用 Autodesk Forge Viewer 显示我们的企业 BIM360 帐户中的 3D 和 2D 模型 自去年以来 在 BIM360 中运行的同一查看器现在支持 rcp文件 我们也希望允许它 但到
  • 扩展 Autodesk Forge:将我自己的扩展添加到包后,我的控制面板无法连接到 Revit 模型

    我用过这个包 https github com petrbroz forge iot extensions demo https github com petrbroz forge iot extensions demo 之后 我添加了自己
  • 使用 Autodesk Forge API 检索“描述”或“自定义属性”字段

    我们正在尝试使用 Autodesk Forge API 请求 命令检索 BIM360 文档中所示的描述或自定义属性字段 我们尝试了以下请求来检索有关特定文件的信息 https forge autodesk com en docs data
  • 如何从 Autodesk Forge API 按项目获取评论和传输?

    我试图找到一种获取评论和传输的方法 但在 BIM360 API 或数据管理 API 中没有找到它 可以获得吗 目前尚未公开 BIM 360 的审核和传输 API 有一个Review API的愿望 ALEX 37150 API 希望 公开文档
  • 从存储桶中删除文件。 Autodesk-forge

    从 wip dm prod 存储桶中删除文件时出现问题 errorCode AUTH 012 但我可以使用 x GET 而不是 x DELETE 下载当前文件 我使用这个教程 gt https developer autodesk com
  • Forge ARKit:无法在 Unity 中加载模型

    使用最新的 ForgeARKit update 6 2018 1 我尝试在 Unity 中加载我的模型 并使用示例 Unity 场景 启动时加载 我可以成功从 沙盒 加载示例模型 但无法加载通过脚本上传的模型 测试2足 错误信息显示504

随机推荐

  • 由用户在 C# 类中使用的 WPF 传递传入变量

    我的目标是在文件 user xaml 在文本框中 中传输用户传入的变量 并在类中返回该变量
  • SVN不递归更新

    几周前 我检查了我们的整个 SVN 存储库 non recursive模式 现在看来 当我做一个svn up 它不会递归更新文件夹 这是一个问题 因为我想从同事那里获取更改 而不必遍历每个目录并执行svn up手动 如何强制更新是递归的 以
  • 我什么时候应该使用“REQUIRED”和“NOT_SUPPORTED”作为 MDB 的 @TransactionAttribute 值?

    我了解容器管理事务 CMT 我也知道关于不同的可能值 http docs oracle com javaee 6 api javax ejb TransactionAttributeType html枚举类型的TransactionAttr
  • DI 在桌面应用程序中有意义吗?

    我即将创建一个桌面应用程序 使用 NET Windows 窗体 本质上 我想创建一个 n 层应用程序 但我也希望各层之间松散耦合 但是 我不太确定这对于 Windows 窗体来说是否是一个好方法 现在我只是想知道使用任何 IoC Struc
  • 如何停用 Spring Data 异常转换

    The new org springframework orm hibernate5 HibernateExceptionTranslator使用失败是指它首先尝试使用普通 Hibernate 来映射异常 SessionFactoryUti
  • 如何更新 vueJs 数组列表的特定行?

    有没有一种正确的方法可以刷新 vueJS 数组列表中的某一特定行而不重新加载所有数据 在本例中 它是一个电话列表
  • 为什么 AngularJS $http success/error 方法被弃用?从 v1.6 中删除?

    AngularJS 文档有一个弃用通知 http success and error方法 这个抽象被从库中删除有什么具体原因吗 问题是 success and error方法是不可链接因为他们忽略返回值 这给熟悉的人带来了问题chainin
  • 表单以 windows-1252 编码提交

    I am getting the following warning in the JS tab of the Firefox web console Ctrl Shift K 表单以 windows 1252 编码提交 无法编码 所有 U
  • 带选项的 Python 装饰器

    我有一个模块 它的函数原型与线程类的原型类似 def do fn argtuple kwargdict priority 0 block False timeout 0 callback None daemon False do stuff
  • 如何正确编写异步方法?

    所以我试图学习在 C 中使用 async 和 await 的基础知识 但我不确定我在这里做错了什么 我期待以下输出 Calling DoDownload DoDownload done output here 但我没有得到下载的输出 我也期
  • 使用 Ionic 框架生成 PDF 文件

    Ionic 框架是否有任何插件可以使用 html 内容生成 pdf 文件 基本上 我需要使用从 Ionic 移动应用程序传递的值和一些 css 样式创建一个 html 然后将其转换为 pdf 文件 该文件可以保存在设备 Android 设备
  • 多人游戏同步

    我实现了服务器 客户端架构 其中所有状态更改都发送到函数 经过验证并广播到所有连接的客户端 这工作得相当好 但系统目前无法维持游戏客户端实例之间的同步 如果服务器和特定客户端之间恰好有 5 秒的延迟 那么他将在其他客户端之后 5 秒收到状态
  • 在 MATLAB 中从一维数组生成二维数组

    有谁知道是否有一种方法可以从 1D 数组生成 2D 数组 其中 2D 中的行是通过重复 1D 数组中的相应元素生成的 I e 1D array 2D array 1 1 1 1 1 1 2 2 2 2 2 2 3 gt 3 3 3 3 3
  • 是否可以对分块数据使用 DictVectorizer?

    我正在尝试使用 python pandas csv reader 导入分块数据 以克服内存错误 并使用 DicVectorizer 将字符串转换为浮点数据类型 但我可以看到两个不同的字符串在转换后具有相同的代码 我们是否有替代 选项来对分块
  • 如果父节点值匹配,则将相应父节点的所有子节点合并到第一个父节点下

    嗨 我的输入是这样的
  • 如何在 Linq To SQL 中为连接设置 ARITHABORT ON

    默认情况下 对于 OLEDB 连接 SQL 连接选项 ARITHABORT 为 OFF 我假设 Linq To SQL 正在使用该连接 不过我需要它处于开启状态 原因是我的数据库包含一些索引视图 如果连接没有启用 ARITHABORT 则对
  • 从一个原始整数列表生成打乱整数列表的算法

    有一个 ArrayList 为x unique Integers 我需要将它们随机分配y数组列表z尺寸 请记住 x y z是变量值 结果数组中的数字不能重复 结果列表不能包含相同的数字 订购它们必须不同 如果计算结果数组中的出现次数 则原始
  • 来自字符串的 PHP 变量值

    如何从字符串变量中获取值 Member Student 3600 selectedItem Member Student price selectedItem print r price prints Member Student inst
  • Python Sympy 求解返回列表与字典

    我正在使用 sympy 及其求解函数 但我注意到它有时返回列表中的字典 但在其他情况下仅返回字典 没有列表 from sympy import x y symbols x y q 16 x 0 5 y 0 5 solve diff q x
  • 如何使 Autodesk Forge Viewer 支持 .rcp 文件

    我有一个 Web 项目 React 使用 Autodesk Forge Viewer 显示我们的企业 BIM360 帐户中的 3D 和 2D 模型 自去年以来 在 BIM360 中运行的同一查看器现在支持 rcp文件 我们也希望允许它 但到