Autodesk Forge Model Derivative API:在 Autodesk Forge Derivative 子项中找不到"图形"角色



我想将.rvt文件转换为.svt。我正在使用java SDK。(仅限,不包括node.js、C#(

首先,我必须让衍生产品的孩子们。

这是我的源代码,用于获取导数子项。

ObjectsApi objectsApi = new ObjectsApi();
ApiResponse<BucketObjects> objects = objectsApi.getObjects("test", 100, null, null, forgeOAuth,
forgeOAuth.getCredentials());
String base64Urn = "";
// iterate each items of the bucket
for (int i = 0; i < objects.getData().getItems().size(); i++) {
ObjectDetails eachItem = objects.getData().getItems().get(i);
base64Urn = DatatypeConverter.printBase64Binary(eachItem.getObjectId().getBytes());
}

ObjectDetails eachItem = objects.getData().getItems().get(0);
base64Urn = DatatypeConverter.printBase64Binary(eachItem.getObjectId().getBytes());
ApiResponse<Manifest> manifest = derivativesApi.getManifest(base64Urn, "", forgeOAuth, forgeOAuth.getCredentials());

但这不适合获得"图形"角色。它为我提供了Autodesk.CloudPlatform.PropertyDatabase,3d,一些缩略图

以下是manifest.getData((的结果集

class Manifest {
urn: dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6cDE4MDE3Ni8xODAyMTVfMTAwXzNfQTEwMS5ydnQ
type: manifest
progress: complete
status: success
hasThumbnail: true
region: US
derivatives: [class ManifestDerivative {
name: 180215_100_3_A101.rvt
hasThumbnail: true
outputType: svf
progress: complete
status: success
children: [class ManifestChildren {
type: resource
role: Autodesk.CloudPlatform.PropertyDatabase
guid: 6fac95cb-af5d-3e4f-b943-8a7f55847ff1
name: null
phaseNames: null
viewableID: null
hasThumbnail: null
mime: application/autodesk-db
urn: urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6cDE4MDE3Ni8xODAyMTVfMTAwXzNfQTEwMS5ydnQ/output/Resource/model.sdb
progress: null
status: success
resolution: []
modelGUID: null
objectIds: []
messages: null
camera: []
}, class ManifestChildren {
type: geometry
role: 3d
guid: 3cb8c807-d232-58e3-31d1-f4f89ad98945
name: {3D}
phaseNames: Phase 1
viewableID: ecda35ed-79db-4c54-8ae1-3bb64e7f3640-000473bc
hasThumbnail: true
mime: null
urn: null
progress: complete
status: success
resolution: []
modelGUID: null
objectIds: []
messages: null
camera: []
}]
}, class ManifestDerivative {
name: null
hasThumbnail: null
outputType: thumbnail
progress: complete
status: success
children: [class ManifestChildren {
type: resource
role: thumbnail
guid: db899ab5-939f-e250-d79d-2d1637ce4565
name: null
phaseNames: null
viewableID: null
hasThumbnail: null
mime: image/png
urn: urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6cDE4MDE3Ni8xODAyMTVfMTAwXzNfQTEwMS5ydnQ/output/preview1.png
progress: null
status: success
resolution: [100, 100]
modelGUID: null
objectIds: []
messages: null
camera: []
}, class ManifestChildren {
type: resource
role: thumbnail
guid: 3f6c118d-f551-7bf0-03c9-8548d26c9772
name: null
phaseNames: null
viewableID: null
hasThumbnail: null
mime: image/png
urn: urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6cDE4MDE3Ni8xODAyMTVfMTAwXzNfQTEwMS5ydnQ/output/preview2.png
progress: null
status: success
resolution: [200, 200]
modelGUID: null
objectIds: []
messages: null
camera: []
}, class ManifestChildren {
type: resource
role: thumbnail
guid: 4e751806-0920-ce32-e9fd-47c3cec21536
name: null
phaseNames: null
viewableID: null
hasThumbnail: null
mime: image/png
urn: urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6cDE4MDE3Ni8xODAyMTVfMTAwXzNfQTEwMS5ydnQ/output/preview4.png
progress: null
status: success
resolution: [400, 400]
modelGUID: null
objectIds: []
messages: null
camera: []
}]
}]
}

相同的revit文件在C#中运行良好。

{
"urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6cDE4MDE3Ni90ZXN0LmR3Zng/output/99c9d5d0-fa02-c7ed-15a9-6a62ec928cd2/0.svf",
"role": "graphics",
"mime": "application/autodesk-svf",
"guid": "87f5601a-158a-10fb-f22a-c828d008e178",
"type": "resource",
"status": "success"
}

我可以得到一种方法来得到孩子们的导数吗;角色":"图形"mime":"application/autodesksvf"?

如果你的目标只是;将.rvt文件转换为.svf";,您根本不必担心Java代码中清单的结构。使用Forge Model Derivative服务转换设计会生成各种输出(缩略图、2D图纸、3D视图、属性数据库等(,之后,通常由客户端的JavaScript代码来处理选择所需的2D图纸或3D视图。

例如,在本教程中,JavaScript代码查找并加载";默认";导数,但您也可以使用搜索方法来查找具有特定role和/或mime值的所有可视对象。

最新更新