Autodesk Forge - 将源文件转换为 .obj 时出错

Posted

技术标签:

【中文标题】Autodesk Forge - 将源文件转换为 .obj 时出错【英文标题】:Autodesk Forge - Error translating source file to .obj 【发布时间】:2019-09-30 16:13:36 【问题描述】:

我正在处理一个项目,我必须使用 Autodesk Forge(在线)API 将 .3ds 转换为 .obj。我正在关注this 教程。我成功创建了一个应用程序,获得了 2 个令牌授权并上传了 .3ds 文件。但是,在上述教程的第 2 步中,我收到了 HTTP/1.1 400 Bad Request 错误。以下是我在命令行输入的命令:

curl -X "POST" -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsImtpZCI6Imp3dF9zeW1tZXRyaWNfa2V5In0.eyJjbGllbnRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXnRzdyJ9.HuL9tWTk-1uWxHEJxFkybUIHKCboXXDPDEyry8374sI" -H "Content-Type: application/json" -v "https://developer.api.autodesk.com/modelderivative/v2/designdata/job" -d "\"input\":\"urn\":\"dXJXXXXXXXXXXXXXXXXXXXXXXXXXXQ6YW5vdGhlcmp0YnVja2V0L0Nva2UuM2Rz\",\"output\":\"formats\":[\"type\":\"obj\"]"

根据我的经验,此错误仅在命令无效时发生(额外的空格、无效的分隔符等)。我已经检查了该命令很多次,但我没有看到任何错误。有人能指出上述命令有什么问题吗?

【问题讨论】:

我找到了答案。事实证明,我必须在逗号之前添加一个 \ (就在输出之前)。但是,现在我得到 HTTP 错误 401: Unauthorized: The token has expired or is invalid, 尽管我使用相同的令牌来上传文件和其他东西(效果很好)。 【参考方案1】:

根据documentation:

modelGuid:几何提取所必需的。模型视图 ID (guid)。目前仅对 3d 视图有效。

objectIds:几何提取所必需的。列出要翻译的对象 ID。 -1 将提取整个模型。目前仅对 3d 视图有效。

要翻译成 OBJ,您首先需要翻译成 SVF,然后 get the modelGuid 以获得所需的 3D 视图。然后就可以使用下面的了,效果很好。

我用的是Postman,你也可以用Insomnia。

【讨论】:

以上是关于Autodesk Forge - 将源文件转换为 .obj 时出错的主要内容,如果未能解决你的问题,请参考以下文章

Autodesk forge 将 rvt 转换为 IFC 并移入文件夹

Autodesk Forge - 从 .ipt 转换为 .stl 出现错误 (UnicodeEncodeError)

可以使用 Autodesk Forge 将 Inventor 装配体转换为 Revit 项目或族吗?

Autodesk Forge - 使用 curl 下载文件

Autodesk Forge Viewer 在本地服务器上存储文件?

Autodesk Forge 查看器:直接加载 SVF?