Use Dynamo geometry engine in standalone applications

Was wondering if we can use Dynamo core NuGet package and other libraries usually used to develop custom nodes in other applications as geometry engines.
The main goal is to have some background calculation as support to other tasks.

Maybe some restful service?

Still on that, does anyone knows about a good library that we can use to read CAD files without having AutoCAD installed?

Again I would love to create some background process to support different workflows. I don’t want every time link a CAD file in Revit or use the COM Marshall to just read couple of curves from a file.

Thanks!

Any guess?

Dynamo can be integrated into whatever applications you may want to add it to, but you will need at least one application which uses the geometry kernel installed on the system.

DWG is a closed source file format, which doesn’t have an open API for reading or writing. Dynamo Studio did have nodes for this previously, but that application is a bit dated at this point.

1 Like

Thanks…can I just ship the dlls with the application?

What DLLs?

The dlls referenced by dynamocore or revitnodes

That would be a no-go, as it would be distribution of material which you don’t have a copyright for.

Sure, so I guess the best solution is to have DynamoCoreRuntime installed on all the machines.

Yes, though there are some options for distributing that. More importantly would be having the referencing applications (ie: Revit if you want Revit interaction, FormIt if you want FormIt interaction, etc. if you want etc. interaction), and if you don’t want any interactions one product with the geometry kernel will need to be installed if you want geometry interaction (ie: AutoCAD, FormIt, Revit, etc.).

We just need, geometry manipulation. Nothing that has to interact with other authoring tools.

Install any of the above (really anything which has a Dynamo integration will do the trick) and you should be fine.

I would suggest you watch out what you are doing and read this license from the about page.

Also dynamo needs to have a install of program that has these as part of it(EG Revit/Civil ed/Autocad), otherwise you will not be able to utilise the geometry nodes.

image

@JacobSmall,

So, you could use the Dynamo nodes (methods) in say a revit Plugin without dynamo running? For instance, if I wanted to use some of the features like projecting geometry etc purely in a Plugin?

That I am not sure about, but it would be a good thing to test in a recent Revit version (I mean Revit 2020 here - I would ignore the old stuff as finding where people have it and even if they have the right version would be too difficult) if you were interested.

1 Like

Yeah, I’ll have to test it out, the Revit API has nowhere near the level of geometric goodies as Dynamo’s Core Geometry library and would be great if this could be leveraged inside a plugin…being moderately lazy, I would like to avoid writing my own geometry extension or adapter to another 3rd party library when Dynamo already has it all just begging to be used. :stuck_out_tongue:

1 Like

While we wait that Dynamo is available in Forge too :slight_smile:

The geometry engine in Dynamo (ASM Autodesk Shape Manager) is proprietary and owned by Autodesk. The only thing in Dynamo that is open source is the UI, and DesignScript. Also, the nodes that interact with specific applications (that are provided by Autodesk) are proprietary as well.

Some time ago my team made some macros in Revit for internal use that reference Dynamo geometry DLLs, but it was a tricky process. If you try it you will find out that the DLLs are blocked and your Macros / API will not work. You have to manually launch Dynamo, and then run your Macro in order for the DLLs to be “unlocked.”

Maybe this has changed, but this was the situation when we did this 5 years ago.

1 Like

Yeah, I made a quick 10 min plugin that simply creates some model curves, but it fails when I use any Dynamo geometry methods, this might be similar to what you say, which is annoying.

1 Like