Accessing Generative Design through Revit API (C#)

Is there anyway to access generative design by the Revit API using C#.
I have a dynamo script that run perfectly with generative design, but I need to make an alternative UI that utilizes the dynamo script and run the same way generative design works.

  • I have read an article thebuildingcode-Generative Design in C#. That said, the generative design feature doesn’t have an automation API. Has someone have an experience with implementing this?

  • Optimo Dynamo package is a way to run a genetic algorithm based on a set of inputs and outputs. Is it preferable to do it as a substitute for generative design?

@jacob.small

This is not currently possible.

Generative Design is a completely separate task which is unrelated to Revit.

Further, the Generative Design does not have an API at this time.

Optimo might work in the near term, but you’d be limited to that older tech. I am seeing timestamps on the files in the package for 2015, and Dynamo build 0.7 noted in the DYFs - I wouldn’t be confident this would work in any modern version of Revit as a result.

What specific alternative UI did you need?

1 Like

Dear Jacob, Thank you for your response.

I have a Dynamo script which runs with GD. My goal is to imitate GD UI with adding some other features to serve my specific requirements.
Do you have any recommendations or resources to implement an algorithm similar to Generative Design algorithm found on Rivet?

Another question: suppose I downloaded a version of refinery software; does it allow me to access its API? But I might encounter backward compatibility issues because the Dynamo script that I would run in Refinery is executed in Dynamo 2.5.0 version?

Thank you in advance.

There is a full team of experienced coders who are producing this tool, attempting to recreate it on your own isn’t something I would recommend. That would be like saying ‘The building that the architects and engineers produced was good, but I want different views so I am going to try and redesign the whole thing myself without their assistance.’

Refinery also didn’t have an API.

What exactly are you trying to achieve so I can surface that to development as a feature request? It may be that things are already under way or that I am aware of a hacked together solution that could work for you.

1 Like