这是我发布新工作的方式:
{
"url": "/modelderivative/v2/designdata/job",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"x-ads-force": "true"
},
"data": {
"input": {
"urn": "BASE64_URL_ENCODED_OBJ_URN"
},
"output": {
"formats": [
{
"type": "svf",
"views": [
"3d",
"2d"
]
}
]
}
}
}
这是转换结束后我看到的清单:
{
"type": "manifest",
"hasThumbnail": "true",
"status": "success",
"progress": "complete",
"region": "US",
"urn": "XXX",
"version": "1.0",
"derivatives": [
{
"name": "XXX.nwd",
"hasThumbnail": "true",
"status": "success",
"progress": "complete",
"outputType": "svf",
"children": [
{
"guid": "3c9bb37d-0385-4857-ab04-2e6e3ef6a7c4",
"type": "geometry",
"role": "3d",
"name": "XXX.nwc",
"status": "success",
"hasThumbnail": "true",
"progress": "complete",
"viewableID": "cache",
"useAsDefault": true,
"children": [
{
"guid": "XXX",
"type": "view",
"role": "3d",
"name": "Default",
"status": "success",
"camera": [
308.925903,
507.011261,
625.618591,
38.749268,
-60.60965,
89.572029,
-0.27886,
-0.585863,
0.760922,
1.38983,
0.785398,
1,
0
],
"useAsDefault": true,
"hasThumbnail": "true",
"children": [
{
"guid": "XXX",
"type": "resource",
"urn": "urn:adsk.viewing:fs.file:XXX/output/0/0_100.png",
"role": "thumbnail",
"mime": "image/png",
"resolution": [
100,
100
]
},
{
"guid": "XXX",
"type": "resource",
"urn": "urn:adsk.viewing:fs.file:XXX/output/0/0_200.png",
"role": "thumbnail",
"mime": "image/png",
"resolution": [
200,
200
]
},
{
"guid": "XXX",
"type": "resource",
"urn": "urn:adsk.viewing:fs.file:XXX/output/0/0_400.png",
"role": "thumbnail",
"mime": "image/png",
"resolution": [
400,
400
]
}
]
},
{
"guid": "XXX",
"type": "resource",
"urn": "urn:adsk.viewing:fs.file:XXX/output/0/0.svf",
"role": "graphics",
"mime": "application/autodesk-svf"
}
]
},
{
"guid": "XXX",
"type": "resource",
"urn": "urn:adsk.viewing:fs.file:XXX/output/0/properties.db",
"role": "Autodesk.CloudPlatform.PropertyDatabase",
"mime": "application/autodesk-db",
"status": "success"
}
]
}
]
}
当然,Authorization
标头添加了生成的标记
出于某种原因,我只能看到只生成了svf
文件。
但是,当我使用extractor时,我会获得包含所有图形文件的完整模型。
下载清单中的所有文件并渲染查看器后,我收到错误,说有文件丢失(这是有道理的,因为我只有一个文件 - 0.svf
)
我尽可能地密切关注documentation,但它仍然无法运作。
我上传的每个Navisworks模型都会发生这种情况,而不仅仅是特定的模型,所以我显然做错了。
我错过了什么?
答案 0 :(得分:1)
背景:Model Derivative API将设计文件(例如NWD)转换为网络友好格式(SVF)。这种格式实际上是文件,图像和数据库的集合,包括.pf
。 URN
只是Forge服务器上此文件集合的标识符。
清单响应表明翻译过程如何以及主要输出,如缩略图,可视图或其他内容,如OBJ或IFC(如适用)。
现在,提取器遍历清单响应并列出属于URN
的所有文件,包括.pf
,它使用此Nodejs代码(也在.NET中和PHP)。
修改强>
假设您已正确下载所有文件,则需要指向文件夹结构上的SVF文件。以下文件(from here)显示了一个超级基本示例。
var myViewerDiv = document.getElementById('MyViewerDiv');
var viewer = new Autodesk.Viewing.Private.GuiViewer3D(myViewerDiv);
var options = {
'env' : 'Local',
'document' : './shaver/0.svf'
};
Autodesk.Viewing.Initializer(options, function() {
viewer.start(options.document, options);
});
答案 1 :(得分:0)
我很遗憾听到你有问题。
(编辑)看起来像Augusto和我同时发布。他对原始帖子的编辑很可能比我猜测的更准确。
我需要自己逐步完成这个过程,以了解发生了什么,因为我没有在Forge中做很多编码。 (看起来Augusto正在观看讨论,并且很可能会在他的最后测试这个,以及其他工作人员在forge.help别名。)
看起来你已经正确检索了清单,你只需要遍历子进程的URN来显式检索剩余的依赖关系。如果你看一下提取器示例中的github代码,你会看到一些方法,比如getManifest,listAllDerivativeFiles和downloadAllDerivativeFiles,它们可能会证明你缺少的东西:https://github.com/cyrillef/extract.autodesk.io
(编辑)还值得注意的是.SVF文件实际上是一个zip-archive,其中查看者可以自己找到许多其他依赖项。