我一直在跟随Translate a Revit File, Generating Room and Space Information教程。现在我困在任务3试图翻译一个Revit源文件到SVF 2。
使用提供的Revit file和以下请求POST https://developer.api.autodesk.com/modelderivative/v2/regions/eu/designdata/job
:
// Headers
[
'Authorization' => ...,
'Content-Type' => 'application/json',
'x-ads-force' => true,
]
// Body
[
"input" => [
"urn" => "<some urn>",
"compressedUrn" => false
],
"output" => [
"destination" => [
"region" => "EMEA"
],
"formats" => [
[
"type" => "svf2",
"views" => [
"2d",
"3d"
],
"advanced" => [
"generateMasterViews" => true
]
]
]
]
]
我总是收到以下消息:
Revit-UnsupportedFileType该文件不是Revit文件或不是受支持的版本。TranslationWorker-RecoverableInternalFailure可能可从提取程序中恢复的警告退出代码:-536870935
我希望有人能告诉什么是错误的POST请求。我发现了一个similar question,但答案似乎不适用于这个问题。
3条答案
按热度按时间dldeef671#
实际上我自己也试过这个同样的教程,它在我这边效果很好。只要你遵循每一步,你就应该得到想要的结果。
如果您在第三个任务中遇到错误,则表明您在第二个任务中可能没有正确执行某些操作。
您应该在任务2中检查任务3所依赖的几个步骤。请检查以下内容:
这些操作应确保您的文件已完全上载并准备好转换为SVF2
**注意:**在执行所有这些过程时,请确保您的访问令牌有效,因为它只在一个小时内有效。如果令牌过期,您必须通过再次向Forge发送验证请求来获取新的令牌。
yeotifhr2#
当我提出这个问题时,我使用以下代码通过Laravel的http客户端将文件上载到Autodesk:
这确实上传了文件,一切都适用于压缩模型。但正如问题中所解释的,像
.ipt
或.rvt
这样的普通源文件没有翻译。我猜Laravel在请求中添加了一些东西,以某种方式损坏了Autodesk的文件。使用以下请求:
它确实工作。我猜使用
send
,发送一个“原始”/二进制请求。在Symfony中,它看起来像这样:
w51jfk4q3#
我不熟悉Lavarel,所以在这方面我可能不会提供太多帮助。
但是,您可以尝试使用另一个框架,如Nodejs或甚至.NET,看看是否可以达到您想要的结果。
您可以按照本教程进行操作,该教程将帮助您开始使用Nodejs或.NET Framework在Autodesk平台上创建应用程序:https://forge-tutorials.autodesk.io/
您将使用模型衍生API,然后可以尝试按预期转换模型。