Advantages of Forge/DA4R over Revit plugin?

Advantages of Forge/DA4R over Revit plugin?

grubdex
Enthusiast Enthusiast
258 Views
1 Reply
Message 1 of 2

Advantages of Forge/DA4R over Revit plugin?

grubdex
Enthusiast
Enthusiast

Since some time has passed since this question was last asked and Autodesk Forge has changed quite a bit since then, I wanted to bring this question up again.

I'm in the process of developing a plugin for Revit that - at the end of the day- will be quite complex and possibly require sending data back and forth to a server (for ML inference). I know communication with servers is possible with standard Revit plugins, as Jeremy Tammik has demonstrated in this repo. My plugin will alter the Revit model, both with respect to geometric as well as non-geometric data.  This is (obviously) also possible with a standard Revit plugin.

 

I now stumbled upon Autodesk Forge, specifically Design Automation for Revit (DA4R). DA4R also seems to be able to do both of these things. I am now wondering whether I should build an application that works through DA4R instead of a standard Revit Plugin. From a first glance, DA4R seems like a lot more work since I would need to develop several parts of a webapp stack as well (basic frontend, setup of backend,...)

 

So that brings me to my questions:

- What would be the advantage of one over the other?

- Under which circumstances is one more appropriate than the other?

- What is considered the "normal" workflow for devs nowadays - go through DA4R or standard plugin?

 

I'd be delighted about any input on this!

0 Likes
259 Views
1 Reply
Reply (1)
Message 2 of 2

ricaun
Advisor
Advisor

The basic difference is Design Automation does not have a User Interface (UI), which means a DA4R gonna do a specific job like counting how many walls exist in a document or deleting all walls in the document. Every time you send a job to DA you pay based on how much time your job spent to finish.

 

A standard Revit plugin on another hand could have two buttons one to count the walls and another to delete all the walls. And the user chooses when to execute the command in any document and in any order. The user does not need to pay anything to run a plugin on their own machine.

 

To create a DA4R you gonna need to know how to create a standard plugin, DA4R basically is a plugin that runs in an Autodesk machine in a Revit without UI. Instead of having an Application with IExternalApplication, you need to use the interface IExternalDBApplication that does not have UI.

 

And yes is simpler to run your application on your machine before deploying in Forge, using this setup maybe: https://forge.autodesk.com/blog/design-automation-debug-revit-plugin-locally

 

Another thing is Desing Automation has some restrictions like network access is not allowed in the Application: https://forge.autodesk.com/en/docs/design-automation/v3/developers_guide/restrictions/

 

This year I gonna try to create something in DA4R in Forge Hackathon 2022, the easy part gonna be to create the AppBundle because I already have great knowledge of how to create a plugin for Revit, and without UI gonna be easy. The hard part gonna be the WebApplication, sending the jobs(WorkItem) to Forge, and the whole web logic gonna be challenging.

 

Gonna be fun.

 

 

Luiz Henrique Cassettari

ricaun.com - Revit API Developer

AppLoader EasyConduit WireInConduit ConduitMaterial CircuitName ElectricalUtils

0 Likes