Design Automation cache life cycle - autodesk-forge

Our customers would like to know what happens to their data, that is being processed by the Design Automation plug-in. As I understand, the input files are downloaded from the bucket and stored on the Design Automation VM instance while the plug-in runs. But what happens with input and output files when the job is finished? When and how are these resources erased? What happens to the VM itself? Also, could other service/program/user gain access to these files?
Secondly, is there a way to perform RVT->SVF conversion without using cloud services? Does Autodesk provide any desktop tool or API to do it locally?
Thanks in advance.

To the 1st question, in general, the Design Automation Cloud Sandbox will be destroyed as soon as the workitem is done, all the input and output files will be destroyed, that means there should be no other service/app could access these files after the DA workitem is done.
To the 2nd question, No, Rvt-Svf should be done by Model Derivative service, there is no local tool or API to do that from Autodesk at this moment.

Related

how to debug google cloud function easily?

How do I debug GCF without deployment?
Is there a way to debug functions faster while having access to GC storage? Much appreciate!
Currently, Im working on trying to use GCF to access GC storage to retrieve ML model and process images. The function will retrieve the image from the same bucket, run the image through the Ml and paste ML model results to a text file with time and image name.
As a beginner coder on GCF, im constantly having to debug and therefore looking for a faster way to debug without waiting for deployment.
A function is simply a piece of code! Run it to test it.
If you want to do that easily and in a similar way as Cloud Functions run it, you can use the Function Framework, compliant in many languages.
Personally I prefer to wrap my code in a custom webserver, as I described in one of my first article here. And rapidly, I choose to abandon Cloud Functions to Cloud Run, again in a pretty recent article
You could have issues with authentication and stuff like that, let me know if it the case (and do not generate a service account key file ;) )

Is it possible to upload large Revit models (1-2GB) and render faster onto Autodesk Forge viewer?

I am currently developing a web application integrated with Autodesk Forge platform. Application is hosted on AWS. Basically, users upload their Revit files, the model is translated and rendered on the viewer, and the metadata is extracted and do some visualization. Small models (upto 200 MB) are able uploaded and rendered on the viewer within 60 seconds. But when I upload a large (1-2 GB) Revit file, it takes more than 5 minutes(which is not a good user experience) to translate and render on the viewer. Is there a way to make this upload and render process faster? What are the factors this translation speed depends on? Is this something to be addressed by optimizing my code? I looked everywhere for a solution but couldn't find any. Please advise.
Thank you!
To make upload task faster, we can make use of resumable upload to upload the big model in chunks parallelly: https://stackoverflow.com/a/70034186/7745569
Note. We're migrating to the direct-to-s3 approach of uploading/downloading files to Forge OSS service, so here are the migration references:
https://forge.autodesk.com/blog/data-management-oss-object-storage-service-migrating-direct-s3-approach
https://forge.autodesk.com/blog/upload-large-file-chunks-s3-signed-url-opennetwork-revit-design-automation
https://forge.autodesk.com/blog/direct-s3-nodejs-samples
https://forge.autodesk.com/blog/direct-s3-net-samples
https://forge.autodesk.com/blog/design-automation-api-using-aws-s3
For viewing performance, I would advice you to check out the svf2 format. It aids to resolved large model performance issues.
https://forge.autodesk.com/blog/update-svf2-ga-new-streaming-web-format-forge-viewer-now-production-ready
https://forge.autodesk.com/blog/model-derivative-svf2-enhancements-part-1-viewer
https://forge.autodesk.com/blog/model-derivative-svf2-enhancements-part-2-metadata

What need for an automatic design project? My project is very slow

After showing the house to the forge viewer using a Ravit file, the user wants to modify the contents of the viewer and receive it as a Ravit file again. What function should I use to implement the above?
https://learnforge.autodesk.io/#/
I referred to it.
my project
I make input data and transfer this to design automation and get output file and file to translate viewer (this is 2 minutes).
This process is very slow I want better then this process.
https://www.autodesk.com/autodesk-university/class/Its-Not-Too-Late-Automate-Using-Forge-Design-Automation-Inventor-2021#video
This video looks very fast on work process. How to get fast work process like this video?
Thank you
The Forge Viewer is a viewer, not an editor.
The Forge viewer displays the translated version of a seed CAD model, in this case, a Revit RVT BIM.
You cannot edit or modify the CAD seed file in the viewer.
To achieve such a modification, you have to either use the original modelling software, in this case, Revit on the Windows desktop, or you can use the Forge Design Automation API for Revit.
That is what was used to create the Inventor sample you refer to.
Oops... re-reading your question, I see that you are already using design automation yourself as well. Congratulations on that.
However, there is no guarantee on the turn-around time for this process. The video may very well have been edited to eliminate a waiting period, of the user creating the video may just have been very lucky to achieve a faster turn-around time.
I am checking for you with the Forge team whether they used any additional tricks to speed things up in the video or in the true real-time processing. They confirm:
For Revit, a basic DA job should take up to 30-40 secs for the processing time alone. The derivative job for translation to viewer format could take another minute. So, 2 mins is expected. The sketch it demo video has a timer on the side to indicate real time.

Mobile WebView is possible to implement Forge Disconnected WorkFlow

Thanks for your reply on disconnected workflows in mobile.
Disconnected workflow works in web browser in Mobile nice as you said ,but while using web view in Mobile it is possible cache.
My requirement is only one time user need to download the design to view the downloaded design at offline viewer when he wants or when he don’t have internet signal he can able to view the pervious downloaded design.
For the above requirement we can achieve from Disconnected workflows? Or any other suggestion to mobile offline viewer
The "disconnected workflow" approach (using Service Workers and Cache API; see the blog post, sample code, or the live demo) supports this workflow. In the sample application you can cache a model by clicking the star icon next to it, and after the model has been cached, you can access it any time, even when disconnected from the internet.
Downloading the viewable files (SVF) from Forge and serving them yourself is not officially supported. The only exception is when customers are not allowed to store their data in the cloud, for example, due to government regulations. In that case we encourage you to talk to us (forge (dot) help (at) autodesk (dot) com), and we'll see what we could do.

BIM 360 Compare documents

is there any way to revive data about what has been changed between versions (remove and add and modify):
via forge Model Derivative API, now I am able to get all the metadata of any Revit files but in total so I am not sure what elements added or .....
the problem we have a lot of files, and it's really hard to run a test to compare modes for each object
thank you :)
I am not aware of any built-in BIM360 or Forge functionaloity for obtaining that information.
I would suggest that you very clearly define exactly what information you wish to keep track of and determine how that can be obtained from a model, e.g., as you suggest, via the Forge Model Derivative API.
Then, you can create a snapshot of that data yourself and implement the functionality to track changes in it as you wish.
The Buiilding Coder discusses and shows how to solve the exact same task for Revit BIMs using the Revit API on the Windows desktop:
Tracking Element Modification
Implementing the TrackChangesCloud External Event
Those articles provide ideas and guidelines on some aspects to take into consideration addressing the same task in Forge.