Lesson 4.3Lesson 4.3 · AI in Modelling & BIM
AI Plugins for Rhino & Revit
The AI and automation plugin ecosystem for Rhino/Grasshopper and Revit - what it really automates, what is AI versus dressed-up automation, and how to integrate it without polluting the model you sign
Half of what is sold as 'AI' inside your modelling tools is really automation or optimisation - which is fine, as long as you know which is which and never let any of it touch the model unchecked.
The AI does not have to live in a separate browser tab. A growing ecosystem of plugins brings optimisation, machine learning, diffusion rendering and LLM-written scripting straight into Rhino, Grasshopper and Revit - the tools you already model in.
This lesson maps that ecosystem honestly. Some of it is genuine AI; a lot of it is powerful automation wearing an AI label; and the difference matters for how much you trust it. We look at what lives on each side, what it actually automates, and the one integration principle that keeps it all safe: keep AI at the edges, keep the authored model clean and central, and verify every output before it crosses into work you sign.
Sort by behaviour, not by the label. Test scripts on a copy. Edges, not centre.
The Rhino and Grasshopper side
Grasshopper is already parametric, not AI - but a rich layer of intelligent, AI-adjacent and genuinely-AI tools has grown on top of it, and it pays to keep them clearly sorted. The most established is optimisation: Galapagos, the built-in evolutionary solver, and the more capable Wallacei (multi-objective evolutionary optimisation with strong analytics) and Opossum (model-based / surrogate optimisation that finds good solutions in fewer runs). These are not machine learning in the modern sense - they are search algorithms - but they are how most designers first automate 'find me a good configuration of this parametric model.'
Then there is genuine machine learning: LunchBoxML brings regression, clustering and simple networks into Grasshopper; Owl, Dodo and Crow add neural-network and ML components. These are powerful but demand something most designers lack - your own dataset and a clear ML problem - so they stay niche. More immediately useful are the diffusion-render plugins: Veras (EvolveLAB) renders your Rhino or SketchUp viewport into an AI image in seconds, and the Ambrosinus toolkit wires Grasshopper to Stable Diffusion, DALL-E and chat models. Finally, the quietest revolution is LLM-assisted scripting: using ChatGPT or Claude to write GhPython or C# components, which turns Grasshopper scripting from a specialist skill into something far more approachable. Across all of these, remember what each really is - search, ML, image diffusion, or code generation - because that determines how hard you check it.
The reason optimisation dominates this side of the ecosystem is that Grasshopper users already think parametrically: they have a definition with sliders, and the natural next question is 'which slider values are best?' An evolutionary solver answers that by breeding and mutating candidate solutions across generations, while a surrogate-based one like Opossum builds a quick internal model of how the sliders affect the outcome and searches that. Neither is magic, and both can be led astray by a badly posed fitness function - the same lesson as generative planning, at the component level. The genuine-ML plugins are a different proposition: they let you learn a pattern from data, such as predicting a value from geometry, but in practice most studios have neither the labelled data nor the time, which is exactly why the diffusion and LLM tools - which need neither - have spread so much faster.
GH already parametric. On top: optimisers (Galapagos/Wallacei/Opossum), ML (LunchBoxML), Veras, LLM scripting.
The Revit side
Revit's ecosystem leans more toward automation of documentation drudgery than toward generative form-making, which suits the phase of work it lives in. On the rendering and ideation front, Veras appears here too, turning a Revit view into an AI-rendered image for early presentation. On documentation, Glyph (EvolveLAB) automates annotation, dimensioning and sheet setup against rules, and DiRoots tools (SheetLink, ParaManager and others) automate data entry, parameter management and schedules - the repetitive work that eats hours. On early design, Revit connects outward to Forma and to TestFit, so conceptual studies flow back into the documentation model.
The deepest lever, though, is scripting: Dynamo (Revit's visual programming) and pyRevit (Python for Revit) let you automate almost anything, and LLMs have made writing that automation far more accessible - you can ask an assistant to draft a Dynamo Python node or a pyRevit script against the Revit API. The honest caveat, repeated on this side: much of what is marketed as 'AI in Revit' is rule-based automation, and both automation and LLM-written code need testing, because a script that runs on a thousand elements makes a thousand mistakes just as fast as a thousand corrections. Autodesk continues to fold more genuine AI (in Forma, in the cloud) into the stack, but on the documentation model itself, dependable automation is the workhorse - and it is a very good one.
The economics here are worth spelling out, because they explain why Revit's AI story looks so different from Rhino's. Revit is where documentation drudgery lives - the annotating, tagging, scheduling and data-entry that consume disproportionate fee for zero design value. Automation that reliably removes that work pays for itself immediately, which is why the mature, widely-adopted 'AI' tools on this side are really automation engines like Glyph and DiRoots rather than form generators. The frontier that is genuinely shifting is scripting accessibility: tasks that once required a dedicated computational-design specialist - batch-renaming, cross-checking parameters, exporting structured data for QA - are increasingly within reach of any competent Revit user willing to describe the task to an LLM and test the result. That democratisation is real, and it is arguably the most consequential AI change in day-to-day BIM work.
Revit = automate docs (Glyph, DiRoots), render (Veras), script (Dynamo/pyRevit + LLM). Much 'AI' is automation.
What they genuinely automate - and what they only reinterpret
It helps to sort these plugins by what they do to your work. Some automate a task you would otherwise do by hand, and do it faithfully: laying out sheets, populating schedules, renaming and tagging elements, exporting data. Trust here is about correctness of rules and coverage of edge cases - verify a sample, then trust the batch. Some optimise: they search a parametric space for good configurations against your objectives. Trust here mirrors generative planning - they optimise what you encoded, so the result is only as good as your objectives and constraints.
Others reinterpret rather than automate, and this is the crucial distinction for renders. A diffusion-render plugin like Veras does not draw your model accurately; it uses your geometry as a prompt and generates a new, plausible image influenced by it. Materials, details and even proportions can drift. That is perfect for an early mood-render and dangerous for anything a client might mistake for the actual design. And some generate code - the LLM-scripting workflow - which produces text that looks like a working script and may contain subtle errors against the current API. The rule that ties these together: match your scrutiny to the category. Automation and optimisation you spot-check; reinterpretation you frame as illustration; generated code you test on a copy before it ever runs on the real model.
This four-way sort is more useful than the marketing label precisely because the failure modes are so different. An automation that is wrong fails loudly and consistently - it tags every door with the wrong parameter, which you catch on the first sheet. A reinterpretation that is wrong fails quietly and seductively - it produces a beautiful render of a building you did not design, which nobody catches until a client asks for the brass handrail the AI invented. And generated code fails unpredictably - it may work perfectly on your test elements and then choke on the one wall with an unusual join. Knowing which kind of failure a tool is prone to tells you exactly how to guard against it: verify coverage for automation, label intent for reinterpretation, and test edge cases for code. The plugin's name tells you none of this; its behaviour tells you all of it, so sort by behaviour every time.
Automate (spot-check), optimise (own objectives), reinterpret (illustration only), generate code (test first).
Integrating without polluting the model
The safe way to bring all this into a workflow is a single principle: the authored model stays clean and central; AI plugins sit at the edges and never cross into it unverified. Optimisers explore options outside the delivery model; diffusion renders are for presentation, not documentation; automation runs on the model but you review its output; LLM-written scripts get tested on a copy first. Version control - or at least disciplined save-copies - matters more once scripts can touch many elements at once, and it is worth keeping a note of which plugin produced what, because plugin updates and API changes break automations without warning.
A sane LLM-scripting loop, for either Dynamo/pyRevit or GhPython, looks like this:
1. Describe the task + the exact API objects to an LLM
2. Read the generated script - do you understand every line?
3. Run it on a COPY of the model, on a few elements first
4. Check results against what you expected, by hand
5. Only then run on the real model; commit a versionAnd a tiny illustration of the kind of code you would generate and then verify:
# pyRevit: tag every untagged door on the active view (review before trusting)
# an LLM can draft this; you confirm it against the current Revit API
# and run it on a copy first - never blind on the delivery modelUsed this way, plugins compress the slow, low-value work - options search, renders, annotation, data entry, scripting - while the model you stamp remains something you authored and checked. That is the whole art: leverage at the edges, integrity at the centre.
Model clean + central. Plugins at edges. Test scripts on a copy. Log what made what.
Wallacei / Opossum / Galapagos
Evolutionary and surrogate-based optimisation in Grasshopper
Search, not modern ML. Powerful for parametric options - trustworthy only insofar as your objectives are.
Veras (diffusion render)
AI rendering from a Rhino, SketchUp or Revit viewport
Reinterprets your geometry into a plausible image. Superb for mood; not accurate documentation.
Glyph / DiRoots (automation)
Rule-based automation of Revit annotation, schedules and data
Not AI, but big time savings. Verify a sample, then trust the batch; updates can break it.
LLM-written Dynamo / pyRevit / GhPython
Using ChatGPT or Claude to draft automation scripts
Makes scripting far more accessible. Always read, test on a copy, and verify against the current API.
Workshop — draft, read and test an automation script
The most transferable plugin skill is LLM-assisted scripting done safely. You will generate a small automation with an assistant, read it critically, and test it on a copy - the exact loop that keeps generated code from ever damaging real work.
Rhino/Grasshopper or Revit (Dynamo/pyRevit), plus an AI assistant (ChatGPT, Claude or similar). Free trials suffice.
Goal: practise the safe LLM-scripting loop end to end Inputs: Rhino/Grasshopper OR Revit + an AI assistant Time: ~40 minutes
- 1Pick a small, real automation task - e.g. 'select all doors on this view and add a tag', or in Grasshopper 'colour surfaces by area'. Write the task plainly, naming the exact objects involved.
- 2Ask an LLM to draft the script (pyRevit/Dynamo Python, or GhPython/C#). In the prompt, state the software version and ask it to comment each step.
- 3Read every line. Can you explain what each does? Flag anything you do not understand or that looks wrong against the API.
- 4Duplicate your file. Run the script on the COPY, on just a few elements first, and check the result by hand against what you expected.
- 5Note what needed fixing and why. Only if it is clean would you run it on real work - and you would save a version first. Write one line on the risk of having run it blind.
You’ll walk away with
A working (or corrected) automation script, your line-by-line understanding of it, and a short note on what testing on a copy caught.
Three altitudes on the same idea
Read the band that fits you — or all three.
Plugins let you keep AI leverage inside the tools you deliver in. Use Wallacei or Opossum to optimise a parametric facade or massing against real objectives; use Veras for fast early renders straight from Revit or Rhino; use Glyph and DiRoots to automate the annotation and schedule drudgery that eats fee. Increasingly, draft your Dynamo and pyRevit automations with an LLM. Keep every one of these at the edge of the delivery model, test scripts on copies, and verify automated documentation before it goes out under your stamp.
Even if you live mostly in SketchUp or Rhino, the render and automation plugins are the easy wins. Veras turns a rough viewport into an atmospheric concept image in seconds - ideal for early client conversations, as long as you present it as mood, not the specified design. Automation tools speed FF&E schedules and data-heavy sheets. If you touch Revit for larger fit-outs, DiRoots-style data automation saves real hours. The discipline is the same: AI renders illustrate intent; the specified, documented reality you check by hand.
LLM-assisted scripting is the highest-leverage plugin skill you can learn now. Being able to describe a task and get a working Grasshopper GhPython or Revit Dynamo script - which you then read, test and understand - unlocks automation that used to need a specialist, and it makes you markedly more employable. Learn Galapagos and a multi-objective optimiser to understand parametric search, and try Veras to see how diffusion reinterprets geometry. Throughout, build the habit of testing generated code on a copy and never trusting a script you cannot read.
“If a plugin is labelled 'AI', it must be intelligent - I can trust what it produces.”
Do it yourself
Reason these through - they test judgement, not clicks.
- 1Give one example each of a plugin that automates, one that optimises, and one that reinterprets.
- 2Why is a Veras render not an accurate picture of your model?
- 3What are the five steps of the safe LLM-scripting loop?
- 4Why does the 'AI' label tell you little about how much to trust a plugin?
- 5What is the single integration principle that keeps plugins from polluting the model you sign?
The one line to carry out
Peer-reviewed journals & authoritative standards
- 01Rhinoceros 3D — Wikipedia, 2026.
- 02Autodesk Revit — Wikipedia, 2026.
- 03Parametric design — Wikipedia, 2026.
- 04Diffusion model — Wikipedia, 2026.
Plugins reach outward to a cloud platform built specifically for the earliest stage of design. Next: Autodesk Forma and rapid, AI-assisted site and early-design analysis.
The author
Amogh N P
Architect, interior designer, and creative polymath. Studio Matrx began in his notebooks — his vision of design made honest, useful, and open to everyone. Its Academy is written and taught in his memory, and free, forever.
More about Amogh →