We are experiencing erratic translation behaviour, and have been now for a few days. Some examples:
single .ipt files not translating (Inventor 2016 and 2014 tested)
An .ipt file that won't translate as a single file translates fine when uploaded as part of an assembly, where it can clearly be viewed.
Step and SolidWorks files that have worked previously no longer translating.
We can translate a small number of assemblies successfully, which indicates it is not a problem with our code. Below is a typical manifest that we are getting from these errors.It's a step file that was exported from Inventor 2016. It successfully translates and is viewable within A360 but not with the Forge APIs.
{
"type": "manifest",
"hasThumbnail": "false",
"status": "failed",
"progress": "complete",
"region": "US",
"urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6Y2Fkc2hhcmUtZGV2LWJ1Y2tldC9TaGFmdC5zdHA",
"version": "1.0",
"derivatives": [
{
"name": "Shaft.stp",
"hasThumbnail": "false",
"status": "failed",
"progress": "complete",
"messages": [
{
"type": "error",
"code": "ATF-1025",
"message": [
"The file: {0} is corrupt or invalid.",
"C:\\worker\\viewing-atf-lmv\\tmp\\job-1\\6\\Shaft.stp"
]
},
{
"type": "error",
"message": "Possibly recoverable warning exit code from extractor: -536870943",
"code": "TranslationWorker-RecoverableInternalFailure"
}
],
"outputType": "svf"
}
]
}
I had almost the same problem with this exact message.
In my case, the cause of the problem was that the stream of the file i was uploading wasn't on it's beggining, so i just did a fileStream.Seek(0, SeekOrigin.Begin); and then it worked for me.
Related
Response while initiating a translate:
{
"bucketKey": "suresh_ferzia_india_120",
"objectId": "urn:adsk.objects:os.object:suresh_ferzia_india_120/:delman.stp",
"objectKey": ":delman.stp",
"sha1": "4e0bb47f3c7e1fd22138040bde9e9be130ea2095",
"size": 930988,
"contentType": "application/octet-stream",
"location": "https://developer.api.autodesk.com/oss/v2/buckets/suresh_ferzia_india_120/objects/:delman.stp"
}
Everything seems to work fine with the above API. But when I try fetching it's status using get manifest API, I get the following error:
{
"urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6c3VyZXNoX2ZlcnppYV9pbmRpYV8xMjAvOmRlbG1hbi5zdHA",
"derivatives": [
{
"hasThumbnail": "false",
"name": "_delman.stp",
"progress": "complete",
"messages": [
{
"type": "error",
"message": "Possibly recoverable warning exit code from extractor: -536870943",
"code": "TranslationWorker-RecoverableInternalFailure"
}
],
"outputType": "svf",
"status": "failed"
}
],
"hasThumbnail": "false",
"progress": "complete",
"type": "manifest",
"region": "US",
"version": "1.0",
"status": "failed"
}
Could someone help me understand this error?
Please do the following:
confirm that the size of the uploaded object (930988) is the same as the actual file on your system; if they're different, perhaps there's some issue in the upload logic and the content of the object in the Forge bucket is corrupted
try removing the : from the file name as this could be causing issues as well
if possible, share the STEP file with us via forge (dot) help (at) autodesk (dot) com (confidentially; we would not share it with anyone outside of Autodesk) so that we can debug the issue on our end
Is it possible to translate and view recap RCP files in forge?
I see that RCP files are on the list of supported translations however it is my understanding that RCP files are just the recap project files and not the actual point files.
I tried running translations on both the RCP file and a zip file of the RCP and the support folder with the RCS file however it fails on both with a "Extractor error code -1"
{
"type": "manifest",
"hasThumbnail": "false",
"status": "failed",
"progress": "complete",
"region": "US",
"urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6emlwdGVzdGJ1Y2tldC9hc2RmLnppcA",
"version": "1.0",
"derivatives": [
{
"name": "asdf.rcp",
"hasThumbnail": "false",
"status": "failed",
"progress": "complete",
"messages": [
{
"type": "error",
"message": "Extractor error code -1",
"code": "TranslationWorker-InternalFailure"
}
],
"outputType": "svf",
"children": [
{
"guid": "63322a82-93e7-4d04-9c9c-844c23037ba6",
"type": "geometry",
"role": "3d",
"name": "scene"
}
]
}
]
}
I may be just misunderstanding the Recap format but does anyone know if this is possible?
Thanks.
As per Xiaodong's comment it seems point clouds from laser scans aren't supported yet, only ReCap Photo.
I was trying a laser scan project which is why it did not work.
I upload a '.rvt' file by postman.And translate to svf. But it response me translated failed message. My rvt file built by Revit2017.
uploaded response:
And I call manifest. It response me:
{
"type": "manifest",
"hasThumbnail": "false",
"status": "failed",
"progress": "complete",
"region": "US",
"urn": "dXJuOmFkc2sub2JqZWN0_____________6Ym9pbGVyL1JWTW9kZWwucnZ0",
"version": "1.0",
"derivatives": [
{
"name": "LMV Bubble",
"hasThumbnail": "false",
"status": "failed",
"progress": "complete",
"messages": [
{
"type": "error",
"message": "Possibly recoverable warning exit code from extractor: -536870935",
"code": "TranslationWorker-RecoverableInternalFailure"
},
{
"type": "error",
"code": "Revit-UnsupportedFileType",
"message": "<message>The file is not a Revit file or is not a supported version.</message>"
}
],
"outputType": "svf"
}
]}
Have I missed step? Is my file wrong?
At Autodesk University we were able to use the forge API to use a model that was in models.autodesk.io and show it in a web page via the viewer API.
I want to be able to upload our own .rvt file to use so I can make a more contextually meaningful demo for my company.
The upload fails every time at the end with an error that just says "???".
I asked our folks to make sure there were no links in the file and its pretty light weight so I am not sure why it fails.
I tried to use the model derivative API "manually" via a series of REST calls (using POSTman) with no luck either but a little bit more info on my response:
{
"type": "manifest",
"hasThumbnail": "false",
"status": "failed",
"progress": "complete",
"region": "US",
"urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6d2VndGVzdGJ1Y2tldC9Pd2luZ3NNaWxscy5ydnQ",
"version": "1.0",
"derivatives": [
{
"name": "OwingsMills.rvt",
"hasThumbnail": "false",
"status": "failed",
"progress": "complete",
"messages": [
{
"type": "error",
"code": "Revit-UnsupportedFileType",
"message": "<message>The file is not a Revit file or is not a supported version.</message>"
},
{
"type": "error",
"message": "Possibly recoverable warning exit code from extractor: -536870935",
"code": "TranslationWorker-RecoverableInternalFailure"
}
],
"outputType": "svf"
}
]
}
Update:
Tried by converting my file to .ifc and received an even more cryptic error message...see my json response below:
{
"type": "manifest",
"hasThumbnail": "false",
"status": "failed",
"progress": "complete",
"region": "US",
"urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6d2VndGVzdGJ1Y2tldC9Pd2luZ3NNaWxscy5pZmM",
"version": "1.0",
"derivatives": [
{
"name": "LMV Bubble",
"hasThumbnail": "false",
"status": "failed",
"progress": "complete",
"messages": [
{
"type": "error",
"message": "Unrecoverable exit code from extractor: -1073741829",
"code": "TranslationWorker-InternalFailure"
}
],
"outputType": "svf"
}
]
}
The Model Derivative API doesn't support every version of Revit file. In my experience it has only support current and 2 previous Revit versions.
Have you tried re-saving the file with a more recent version of Revit ?
Got it working. Had a designer author in 2016 and it worked this time. Thanks.
Following the Model Derivative "Prepare a File for the Viewer" after I have successfully uploaded and converted file I call the manifest url
how do I then download the converted files in the manifest. If I only know the refrence urn?
(i.e.) How would I get the coverted svf "urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bW9kZWxkZXJpdmF0aXZlL0E1LnppcA/output/1/A5.svf"
or the thumbnail
"urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bW9kZWxkZXJpdmF0aXZlL0E1LnppcA/output/1/A5.svf.png01_thumb_200x200.png"
Is there a api call that can be used to return the actual location?
Edit: The end result is I want to create something like the [extractor] (http://extract.autodesk.io/) does. With all the files I need to run the viewer locally
Edit2:The Manifest I get back from call after fileUploda
Result{
"type": "manifest",
"hasThumbnail": "true",
"status": "success",
"progress": "complete",
"region": "US",
"urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6Z3JlZ2JpbWJ1Y2tldC9yYWNfYmFzaWNfc2FtcGxlX3Byb2plY3RfdGVzdC5ydnQ",
"derivatives": [
{
"name": "rac_basic_sample_project_test.rvt",
"hasThumbnail": "true",
"status": "success",
"progress": "complete",
"outputType": "svf",
"children": [
{
"name": "{3D}",
"hasThumbnail": "true",
"role": "3d",
"status": "success",
"type": "geometry",
"progress": "complete",
"children": [
{
"name": "{3D}",
"role": "3d",
"camera": [
...
],
"status": "success",
"type": "view",
"progress": "complete"
},
{
"type": "resource",
"urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6Z3JlZ2JpbWJ1Y2tldC9yYWNfYmFzaWNfc2FtcGxlX3Byb2plY3RfdGVzdC5ydnQ/output/Resource/3D_View/_3D_/_3D_.svf",
"role": "graphics",
"mime": "application/autodesk-svf"
},
{
"type": "resource",
"role": "thumbnail",
"urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6Z3JlZ2JpbWJ1Y2tldC9yYWNfYmFzaWNfc2FtcGxlX3Byb2plY3RfdGVzdC5ydnQ/output/Resource/3D_View/_3D_/_3D_1.png",
"resolution": [
100,
100
],
"mime": "image/png",
"status": "success"
},
The Request I try to send but get a 404
https://developer.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6Z3JlZ2JpbWJ1Y2tldC9yYWNfYmFzaWNfc2FtcGxlX3Byb2plY3RfdGVzdC5ydnQ/manifest/urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6Z3JlZ2JpbWJ1Y2tldC9yYWNfYmFzaWNfc2FtcGxlX3Byb2plY3RfdGVzdC5ydnQ/output/Resource/3D_View/_3D_/_3D_1.png
Is there anything wrong with that call to modelderivative?
Cyrille Fauvel implemented this, so it is in his GitHub repo:
https://github.com/cyrillef/extract.autodesk.io
https://github.com/cyrillef/extract-php-view.and.data.api
You can also take a look at the implementation of the NPM View & Data Package for the time being. It is still using the v1 API endpoints but we are currently working on providing wrappers for multiple programming languages on the v2 endpoints
Using the derivativeurn GET worked
I also had to make sure the derivativeUrn was encoded
(JAVA) derivativeUrn = URLEncoder.encode(derivativeUrn, "UTF-8");