Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a cloud API to extract data from a Revit model?

Let's say I want to create a cloud-based service that can connect to a Revit Server and fetch a model data, process it, and return some useful information to a user in a web-based interface. Then the user modifies the model and commits the changes to the server. My app get's a notification with detailed information about what has been modified (diffing is avoided automatically), processes the changes and the cycle continues. In this example, I avoided modifying the model using my app but it could just be the case that the app needs to modify the model. Let me give a hypothetical use case.

An architect wants to optimize performance of a design solution. S/he is constantly working on different parts of the model and committing some (most likely minor) changes to the model. Changes are sent to a central BIM 360 server or any other central Revit Server. My app will retrieve modification information from the server and evaluate the performance of the model and give feedback to the architect in a webpage.

My app uses Python (sklearn, Tensorflow, etc) running on linux to process the BIM model, so independance from Revit environment and Windows is crucial. To display information to the user, it uses Web technology (e.g d3.js visualization library).

Model Derivative Forge API provides RVT to IFC (and SVF) conversion. All of this (querying and writing BIM) is possible on IFC, however, every conversion means more complexity, data loss (IFC and RVT are not 100% compatible), computation and time.

Here is a simpler form (file format) of this question. Please upvote both questions if you are interested in these APIs. It MIGHT help in getting some attention.

like image 474
Thoran Avatar asked Nov 08 '16 15:11

Thoran


People also ask

Can I use Revit in the cloud?

Revit Cloud Worksharing allows you to collaborate on Revit models in the cloud. You can co-author cloud models, centralize all project design data, and improve communication and collaboration across the entire team. Access the Revit Cloud Worksharing section of the Revit help to learn more.

How do I share a Revit cloud model?

To share using this method: Publish your models from Revit to BIM 360 using Revit Cloud Worksharing. Use the Design Collaboration module to create a package and share your models with other teams. Other teams choose to consume the shared models.


2 Answers

Simple answer to your subject line question: 'Is there a cloud API to extract data from a Revit model?'

Yes, there is. You can upload your Revit model as an RVT file to Forge or A360. The translation result in SVF will contain all its data, which can then be viewed and queried in the Forge viewer and using the model derivative API.

The rest of your question is a lot more complex, though, and probably not satisfied by this simple answer.

We already discussed some aspects of it in the comments on The Building Coder:

  • http://thebuildingcoder.typepad.com/blog/2016/02/what-can-revit-on-the-cloud-do-for-you.html#comment-2990723258
  • http://thebuildingcoder.typepad.com/blog/2016/02/what-can-revit-on-the-cloud-do-for-you.html#comment-2990758313
  • http://thebuildingcoder.typepad.com/blog/2016/02/what-can-revit-on-the-cloud-do-for-you.html#comment-2990877386

To follow up on this in more depth, I would suggest that you discuss your needs with Jim Quanci, head of the Forge Platform Development group, and Kyle Bernhard, who I believe is pondering how to make further suitable Revit services available on the web. You can follow the suggestions in the blog post that you commented on plus one or two others in the same topic group on 'Thoughts and Input on Revit I/O' to get in touch with them:

http://thebuildingcoder.typepad.com/blog/about-the-author.html#5.28b

like image 58
Jeremy Tammik Avatar answered Oct 19 '22 01:10

Jeremy Tammik


This is an old question, but since I stumbled upon it, it might be deserving of an up-to-date answer. Autodesk is adding "Design Automation for Revit" to Autodesk Forge. With it, you will be able to write a .NET addin which will execute in their cloud context on Revit. So beyond what you can get with the Model Derivative service, you'll be able to perform whatever actions you want, using the Revit API, including making modifications to the Revit file and sending it back.

There are definitely some challenges still with the whole workflow and how to integrate it - but it's a big step forward since Jeremy wrote the previous answer.

like image 42
Matt Avatar answered Oct 18 '22 23:10

Matt