I'm developing a Revit add-in that and using the LLM to help write the code. I use AI in the development process but no AI is used at runtime.
The Revit API is a challenge to build against. The documentation isn't great and often API calls will fail for mysterious reasons.
The old school, non-AI workflow for developing an add-in for me was: read the docs, write some code, run Revit which loads your add-in, do some actions within Revit to test your code, figure out what failed and repeat until you get the desired result. There was a lot trial and error involved and the loop was slow. Revit takes long time to start even on high-spec machines and the user actions required to test take some time.
I'm trying to use LLMs to speed up this development process by allowing it to run this loop. Things that are required to enable the loop without human intervention:
- a cli tool that allows Revit to be started, running a single addin. There's a couple of ways to do this: using a master add-in that dynamically loads child add-ins or manipulating the .addin files.
- a way to capture logs from within the running Revit addin and feed this back to the LLM. This is just logs in a standard location.
- a way to capture screenshots from within the running Revit addin. Revit has a image export functionality that can be triggered from within the code.
The loop is still slow but once setup it allows you to prompt, set it to run and come back later with some hope that it has achieved your goals.
Modelling is part of what I'm doing but it's also trying to get figure out how to work with extrusions, dimensions, views, etc, etc.
The Revit API is a challenge to build against. The documentation isn't great and often API calls will fail for mysterious reasons.
The old school, non-AI workflow for developing an add-in for me was: read the docs, write some code, run Revit which loads your add-in, do some actions within Revit to test your code, figure out what failed and repeat until you get the desired result. There was a lot trial and error involved and the loop was slow. Revit takes long time to start even on high-spec machines and the user actions required to test take some time.
I'm trying to use LLMs to speed up this development process by allowing it to run this loop. Things that are required to enable the loop without human intervention:
- a cli tool that allows Revit to be started, running a single addin. There's a couple of ways to do this: using a master add-in that dynamically loads child add-ins or manipulating the .addin files.
- a way to capture logs from within the running Revit addin and feed this back to the LLM. This is just logs in a standard location.
- a way to capture screenshots from within the running Revit addin. Revit has a image export functionality that can be triggered from within the code.
The loop is still slow but once setup it allows you to prompt, set it to run and come back later with some hope that it has achieved your goals.
Modelling is part of what I'm doing but it's also trying to get figure out how to work with extrusions, dimensions, views, etc, etc.
Hope that helps.