小编Gre*_*zer的帖子

autodesk forge"无法触发此文件的翻译"

我正在尝试使用autodesk forge viewer教程

https://developer.autodesk.com/en/docs/model-derivative/v2/tutorials/prepare-file-for-viewer/

我已成功上传并下载了dwg文件

在我将它转换为svf的步骤,它似乎永远不会处理和失败

{"input":{"urn":"Safe Base64 encoded value of the output of the upload result"},"output":{"formats":[{"type":"svf","views":["2d","3d"]}]}}
HTTP/1.1 400 Bad Request
Result{"diagnostic":"Failed to trigger translation for this file."}
Run Code Online (Sandbox Code Playgroud)

第一个问题我需要删除urn:在Base64编码之前.其次,我可以看到更详细的错误结果.

注意我也尝试过使用rvt文件并尝试使用"type":"thumbnail"似乎没什么用.

我觉得我的编码URN不正确,但我不确定为什么会这样.在教程页面上,他们似乎有一个更长的原始urn不确定我是否应该在编码之前添加其他内容.他们有一个版本和一些其他数字

来自教程原始"urn:adsk.a360betadev:fs.file:business.lmvtest.DS5a730QTbf1122d07 51814909a776d191611?version = 12"

我的原始
"urn:adsk.objects:os.object:gregbimbucket/XXX"

编辑:这是我从上传dwg文件回来的

HTTP/1.1 200 OK
Result{
"bucketKey" : "gregbimbucket",
"objectId" : "urn:adsk.objects:os.object:gregbimbucket/XXX",
"objectKey" : "XXX",
"sha1" : "xxxx",
"size" : 57544,
"contentType" : "application/octet-stream",
"location" : "https://developer.api.autodesk.com/oss/v2/buckets/gregbimbucket/objects/XXX"
}
Run Code Online (Sandbox Code Playgroud)

这是我发送转换文件

{"input":{"urn":"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6Z3JlZ2JpbWJ1Y2tldC9YWFg"},"output":{"formats":[{"type":"svf","views":["2d","3d"]}]}}
Run Code Online (Sandbox Code Playgroud)

这是我回来的错误

HTTP/1.1 400 Bad Request
Result{"diagnostic":"Failed to trigger translation for this file."}
Run Code Online (Sandbox Code Playgroud)

编辑2:解决方案看起来像上传文件时的object_id必须具有文件扩展名而不是以GUI或随机字符集结尾,以便知道它是什么文件类型.这样它就可以转换了.

"objectId" …
Run Code Online (Sandbox Code Playgroud)

java autodesk autodesk-viewer autodesk-forge autodesk-model-derivative

2
推荐指数
1
解决办法
870
查看次数

如何检索 Forge Viewer 对象树?

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

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

关注此博客文章

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

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

//2.5 - 未定义

  var instanceTree = viewer.model.getData().instanceTree;
  var rootId = this.rootId = instanceTree.getRootId();
Run Code Online (Sandbox Code Playgroud)

//- 不明确的

  var objectTree = viewer.getObjectTree();
Run Code Online (Sandbox Code Playgroud)

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

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

var model = viewer.impl.model;
var data = model.getData();
var fragId2dbIdArray = data.fragments.fragId2dbId ; …
Run Code Online (Sandbox Code Playgroud)

autodesk-viewer autodesk-forge

2
推荐指数
1
解决办法
3404
查看次数