在使用Autodesk Forge的Data Management API导入文件时,有时会出现数据转换错误的问题。可以尝试以下方法解决:
确认上传的文件格式是否正确:可以使用Postman进行调试,检查文件是否已正确地上传到了BIM 360中。
将文件格式转为可识别的格式:Autodesk Forge支持的格式包括SVF、IFC和OBJ等。若上传的文件不是这些格式,则需要进行转换。这可以通过将文件上传到Autodesk的A360云中进行处理来实现。首先需要将该文件上传到A360云中,再通过调用Data Management API时传递该文件的URN来访问该文件。
下面是使用Node.js调用Data Management API时,将文件转为SVF格式的代码示例:
//转换文件的URN
let {urn} = await derivativesApiJobPayload();
let job = new JobPayload();
job.input = new JobPayloadInput();
job.input.urn = urn;
job.output = new JobPayloadOutput([
new JobPayloadItem(
JobPayloadItem.TypeEnum.SVF,
[
JobPayloadItem.ViewsEnum._2d,
JobPayloadItem.ViewsEnum._3d
]
)
]);
let {body} = await derivativesApi.postJob(job, {}, forgeOauthClient, req.oauth_token);
let job_urn = body.urn;
通过这种方式,可以将文件转化为可支持的格式,从而避免数据转换错误的问题。