Search code examples
autodesk-forgeautodesk-designautomation

Forge design automation activity design - processing time and output limits


I'm trying to create an activity for design automation that will create a large set of viewables, potentially from fairly large input models. In order to reduce run time, I want to run the activity as few times as possible, meaning I'd like to create as many viewables at a time as possible. My plan was to avoid the output quotas by creating a zip file with multiple viewables and use my server to post them, rather than creating one output per viewable. I have a number of questions related to creating this activity:

  • Is this approach acceptable, or should I create an activity with a more limited set of outputs, such as a 1:1 ratio of activity to output viewables?
  • Is it possible to get/determine the amount of time the activity has been running for, or do I have to make sure my outputs are ready after each iteration of creating the viewable? In other words, do I create a viewable, zip my outputs, create another, zip again, rinse repeat? Or can I can find the amount of time and create as many viewables as possible before zipping them?
  • Is it possible to post objects to the forge OSS from an activity without specifying the objects as an output?

Solution

  • In short, the answer is Yes, you can generate multiple output viewables for the input Revit model within your activity, it's pretty simple and the Revit Design Automation engine can package these output viewables automatically into a zip file, you just need to put these output viewables in a specified folder. I believe this blog post https://forge.autodesk.com/blog/how-generate-dynamic-number-output-design-automation-revit-v3 will provide you the idea.

    As for your details questions:

    • Is this approach acceptable, or should I create an activity with a more limited set of outputs, such as a 1:1 ratio of activity to output viewables?

    Answer: Yes, this approach is possible and check the details above.

    • Is it possible to get/determine the amount of time the activity has been running for, or do I have to make sure my outputs are ready after each iteration of creating the viewable? In other words, do I create a viewable, zip my outputs, create another, zip again, rinse repeat? Or can I can find the amount of time and create as many viewables as possible before zipping them?

    Answer: you just need to put all the generated viewables under the specified zip folder, then the work item is done, the system will automatically package this folder and upload back to your server.

    • Is it possible to post objects to the forge OSS from an activity without specifying the objects as an output?

    Answer: No, the network access is not allowed by the design automation engine, you can only access the storage as input or output files.