Autodesk Forge Design Automation API and Vault - autodesk-forge

I'm trying to figure out the best workflow to generate a PDF from a file in the Vault. I first tried referencing the URL in the address bar when logged into the Thin Client, didn't work.
Is this best workflow to accomplish this:
Download the file from Vault
Upload to cloud storage
Process the file in cloud storage with Forge API
Download resulting PDF
Check PDF in to Vault
Delete file from cloud storage

Before going with Forge (which is supported via Design Automation), I would suggest you reviewing Vault built-in feature to generate PDF, see the following links:
Publishing and Manage PDF Files
New Automated PDF Creation for Document Control

There are plenty of Vault APIs for checking in and out of Vault as well as performing Gets. We currently do not have Vault to Forge APIs, but you can use today the Forge APIs. You will need to build a custom application to perform the communications and file transfer between the two locations.

Related

Forge Design Automation Revit Workitem Arguments

I'm following the Design Automation API v3 tutorial for Revit.
When doing a workitem post I'm a little unclear about the "rvtFile" and "result" arguments. Can the rvtFile url be in an aws bucket? Also what are the restrictions for the result website? It states that it needs to be a signed url, but can this just be another aws bucket? Or do I need to create a website? (Note: I've never done any web development. Everything I know i learned from this tutorial)
Since Design Automation for Revit runs on cloud (and not your local machine), it needs a way to download your input files. You may put your files on any of the storage service providers (say Amazon S3) and provide direct download links to it. For Design Automation to have access to it, you will either need to make those files be public urls or keep them private and generate a signed url for it. When DA4R runs your workitem, the direct download urls provided in the workitem payload will be called to download your files to the worker machine.
Design Automation also does not store any of your result files. So, you will have to generate a signed url for uploading them to appropriate cloud location(s) (say a location in Amazon S3 bucket).
While Amazon S3 is just an example, there are several other storage providers. I also recommend reading Autodesk Forge's Data management APIs:
https://forge.autodesk.com/api/data-management-cover-page/
EDIT:
Useful links
Tutorials: https://learnforge.autodesk.io/
AU Class: https://www.autodesk.com/autodesk-university/class/Revit-Data-Forge-How-Can-Design-Automation-Revit-API-Help-Me-2018

How to automate conversion of 3D DWG or DXF to STEP

want to make it easy for my make an automatic conversion (using a CLI or API) of 3D models (DWG/DXF) into STEP files.
I have tried to read the documentation for Autodesk Forge to see if that could help me, but have a hard time to understand if it can.
Can I do this with Autodesk Forge?
Is there some other way to do it?
Is there a better way to do it?
How about to start with a working sample? Below is a few good starting points for your requirements:
https://github.com/Autodesk-Forge/bucket.manager-csharp-sample.tool
https://github.com/Autodesk-Forge/forge.commandline-curl
https://github.com/Autodesk-Forge/forge.commandline-nodejs
And feel free to find more samples here:
https://github.com/Autodesk-Forge
https://forge-rcdb.autodesk.io
https://forge.autodesk.com/blog
https://autodesk-forge-showroom.herokuapp.com
Basically to either build scripts or app in any language of your choice (the beauty of RESTful API being language neutral) to automate the workflow for you requirements can be broken down to:
Persist model files to/Read from your persistence (entirely your domain) -> Persist the model to Forge OSS (doc here] > Call the conversion job(doc here and supported formats -> Poll for job status and retrieve a manifest for download (here)-> Dowbload and persist the output (derivatives) (here)
Edit:
To convert DWG to STP (which is not yet supported by the Translation Service), use the Design Automaion for AutoCAD service to automate the process. Basically you will need to create a .NET plug-in to export DWG to STP, submit the module as an AppPackage and invoke the automation activity via the service endpoints. See here for details.

Local instance of SVF translator

Is there a local version of the SVF translation process that I could use locally on my computer without having to send my design to forge platform ?
- a standalone application under Autodesk license
- or a revit module ?
I work on project where people do not want to send their design online but still want to use the local version of the viewer.
thank you.
Autodesk Forge doesn't offer a locally hosted translation service. Unfortunately, that means that if your customer is not willing to even temporarily upload their file to the Autodesk server, then they cannot use the Forge Viewer to view their files.
If your customer is ok to temporarily upload a file, then they can upload the file, translate it, download the resulting SVF, and then delete the original file. This sample on GitHub demonstrates that process - https://github.com/cyrillef/extract.autodesk.io.
You can use 3ds MAX to export your files to SVF

hosting a JSON file for a 3rd party app/service to use

We currently use Jive Cloud N which can use the Rest API and allows the use of Custom Apps. Our UI devs have created an app which uses a JS GET to pull data from a JSON file for our "Birthdays and Anniversaries" tile.
At the moment, the JSON file is hosted on our UI dev's Google Cloud Apps account, but we wish to host it internally so we don't have to keep contacting them for changes.
I uploaded the file to our OneDrive for Business storage and created a public URL with full read permissions but the Jive platform is throwing an error trying to load the custom app.
The error is that the file
has been blocked by CORS policy: No "Access-Control-Allow-Origin"
header is present
Our dev said that to get it working on his Google Cloud App storage, he had to specify the allow-control-allow-origin field in the server's server app.yaml file. I don't know what this is and if there is an equivalent for ODfB/SharePoint.
To get to my question: How can I host this JSON file on ODfB or even somewhere on our Azure tenancy so that it can be used? Or am I better off trying to setup a Google Cloud App storage location and replicate our dev's setup? FYI - I'd prefer the former because we're using M$ for a number of cloud hosted services already.
Thanks in advance
To get to my question: How can I host this JSON file on ODfB or even somewhere on our Azure tenancy so that it can be used?
FYI - I'd prefer the former because we're using M$ for a number of cloud hosted services already.
Per my understanding, you could leverage Azure Blob Storage to store your JSON file, and you could use Microsoft Azure Storage Explorer to easily manage/share your files.
Moreover, You could manage anonymous read access to your containers and blobs, refer to this tutorial for more details. Also, you could leverage SAS to grant limited access to your storage account for other clients, you could follow this tutorial for getting started with SAS.
For a simple way, you could create your storage account and leverage Microsoft Azure Storage Explorer to manage/share your file as follows:
For cross domain accessing, you need to configure CORS Setting:
For sharing your file(blob), you could Set Container Public Access Level or leverage SAS to grant limited access to your file for other clients as follows:
Right click your container, select "Set Public Access Level":
Sample file for share: https://brucechen.blob.core.windows.net/brucechen/index.json
Also, you could right click your JSON file, click "Get Shared Access Signature":
Sample file for share: https://brucechen.blob.core.windows.net/brucechen/index.json?st=2017-02-28T08%3A04%3A00Z&se=2017-09-01T08%3A04%3A00Z&sp=r&sv=2015-12-11&sr=b&sig=rVkorHeNOd4j2YhkmmxZ6DfXVLf1FoN2smY6mNRIoWs%3D

How to retrieve my Install Statistics from the Google Developer's Console

I am trying to programmatically retrieve my company's app data from the Google Developer's Console, specifically the daily installs. I have found that Google recommends the gsutil tool to access the data programmatically through the Google Cloud Storage SDK. However, I beleive they charge for this service. I want a free way to programmatically retrieve the data, preferably as a JSON stream to avoid dealing with file downloads. I have found the "direct reporting" links, but I have problems authenticating when I try to use them, and I also have to do something with the actual files then.
Is there a way to get a JSON version of the data through OAuth2 or something without downloading an Excel file? Has anyone had to do this?
You should look into use the Core Reporting API.
There are client libraries available in a number of languages.
You should work through the Hello Analytics APIs to get started.
Java Script
PHP
Python
Java
A quick solution for building a dashboard would also be the Embed API.
Using the gsutil tool to access the company's storage bucket that are provided by google is a free service. I wrote a code that will run the gsutil code as a process through the command line and parsed the downloaded .csv files into a database for storage. OAuth2 was not necessary.