Build vs buy a Revit tagging plugin: what DIY really costs
You can write your own Revit tagging script, but it is rarely practical for production MEPF sheets. See what firms run into with Dynamo, pyRevit, macros, C# add-ins, and AI-written code.
We make RayCAD.
On this page
- Yes, you can build it
- Dynamo and pyRevit have a ceiling
- It works on the views you built it for
- Revit changes every year
- Your data and your firm's security
- Crashes, mishaps, and no safety net
- The Revit API is hard to work with
- The time trap
- Small click-savers will not need your script
- When building does make sense
- What RayCAD does instead
- Questions
- Sources
Yes, you can build it
A tagging script collects the elements in a view, creates a tag for each one through the Revit API, and sets its position. The steps are the same whether you use Dynamo, pyRevit, a macro, or a C# add-in, and an AI assistant can write a first version in minutes. The pages below show the method for each route.
- Dynamo or pyRevit tag all
- Revit macro to tag all
- How to make a Revit plugin for tagging
- Using ChatGPT or Claude to write a Revit tagging script
This page covers what real firms run into after the first version works, and why we do not recommend it for production drawings.
Dynamo and pyRevit have a ceiling
A plugin built in pyRevit or Dynamo is not a way to build a serious automation. These tools are limited by the parts of the Revit API they expose and by what they can do. Autodesk's own forum answer says Dynamo graphs work well for simple tasks but become hard to manage as logic grows, and that complex add-ins are easier to build and maintain as .NET add-ins. Serious plugins are written in .NET. Performance also matters, and very large graphs or heavy element operations can slow Revit or cause crashes.
It works on the views you built it for
Many firms we have talked to tried building a smaller plugin. The first version runs on the few views it was made for. Then it meets a new project and fails on an edge case. It is not general across projects.
This is the complexity wall that people hit when they vibe-code a plugin. Too many race conditions pile up, the architecture is poor, parts are half-finished, and failures are silent. A script written quickly to save time rarely gets the careful review that a maintained product gets.
It is possible to build. It is not a practical solution, because you have to maintain it.
Revit changes every year
Revit releases a new version every year, and update releases come in between. Revit 2027 already had 2027.1 in June 2026 and 2027.2 in July 2026. By our count, that is three to five updates a year.
Some updates break add-ins. Revit 2025 moved to .NET 8, which meant every add-in had to be recompiled. Revit 2027 moves to .NET 10. Keeping your plugin current, so you do not rely on older APIs and so you use the newer, faster ones, becomes a latent cost that nobody budgeted for.
Your data and your firm's security
If you ask an AI model to write or debug the script, you share your data with it. On the usual $20 consumer subscriptions, major providers can use your chats for training unless you opt out. Anthropic changed its consumer terms in 2025 so that Free, Pro, and Max chats are used for training by default, and ChatGPT and Gemini have their own settings for training and human review. Business plans and the API are treated differently. Check the current setting for each product.
If you are an individual developer building a plugin, be clear on this. Only paste project data or run the tool on projects your firm has approved. Otherwise you put your firm at risk, and you may lose your job.
Crashes, mishaps, and no safety net
People write an automation and run it on a live production drawing. They did not build the ability to undo what it does. The add-in deletes or changes some of the existing work, and you cannot undo it. We have seen firms struggle with this recently, as AI makes it easy for anyone to build a plugin.
Crashes make it worse. Revit has no native autosave, so a plugin that crashes Revit can wipe out two or three hours of work. Crashes from plugins are the number one reason Revit crashes.
The Revit API is hard to work with
Much of the Revit API is undocumented, and the best explanations are in third-party blogs. It is also awkward, and each call has its own rules.
When you hit behavior nobody documented, Revit can simply crash. That makes it hard to be reliable across projects. A script can work for one element and break as soon as the view changes, because the logic changes with the view. There are many edge cases, and too many things to cover.
The time trap
A common pattern goes like this. You are a BIM worker and your manager assigns you four hours of work. You decide to automate it and spend two hours on the script. It does not work, so you scramble through the remaining two hours to finish the job by hand. That is a bad loop, and it hurts your productivity.
With a vibe-coded script the loop gets worse. Every fix breaks another case, and you keep choosing between fixing the bug and just doing the work. People spend more time automating than the manual work would have taken. Each new edge case means handling something you did not design for from the start, the way a proper software developer would. Your speed drops as the script grows. A Dynamo script that looked quick to build turns brittle and stops working across projects with different edge cases.
Small click-savers will not need your script
If you are automating something very small, a click-saver, the built-in AI tools will handle it. Autodesk Assistant in Revit takes natural-language commands, and Autodesk is releasing it in Revit 2027 as a tech preview. There is little point in building and maintaining plugins for tasks like that.
The hard problems are the ones general chatbots cannot do reliably, such as tag placement, BIM modeling, and clash resolution. These are where the Revit API problems above all apply. You can prompt an LLM in English and it will do things, but it is very hard to make them reliable.
When building does make sense
Build your own if the task is simple and you need it once, or if your firm has a dedicated BIM developer whose job is to build and maintain plugins. In both cases, tagging production MEPF sheets is still the harder case.
What RayCAD does instead
RayCAD is an affordable plugin that takes care of these problems.
- It is a .NET plugin that runs inside Revit and supports Revit 2021 to 2027. We keep it current, so you do not. See how RayCAD works inside Revit.
- It runs on your machine, and your project data never reaches our servers. See security.
- It edits only what the operation requires, and each operation is one undo step. See how RayCAD protects your work.
- It places tags that avoid overlaps and follow your firm's standard, and it flags what it is unsure about for review. See intelligent placement.
What building a Revit tagging script yourself really costs
- Time. Whoever builds and maintains the script is doing software development instead of the billable engineering and drafting work they were hired for.
- The AI loop.With Claude or ChatGPT it becomes an endless loop of “fix this”, “now fix that”. Each fix can break a case that worked before, and nobody on the team owns the code.
- Cost. Hours spent building and maintaining scripts, times your hourly rate, against $200 per month for RayCAD for the whole company.
You can build a Revit tagging script, and this page shows how. For production MEPF sheets, RayCAD is the cheaper and safer choice. Try it free for 15 days.
Frequently asked questions
Should I write my own Revit plugin for tagging?
Only for a simple one-off task, or if your firm has a dedicated BIM developer. For production MEPF sheets, a script is hard to make reliable across projects and costs time to maintain every year.
What does it cost to maintain a Dynamo script or Revit plugin?
The cost is the hours you spend fixing edge cases, updating for each new Revit version, and rebuilding after API changes, multiplied by the hourly rate of whoever does it. Most of that cost is hidden until it lands.
Is in-house Revit automation better than a plugin?
It can be for a narrow task your firm owns end to end. For tagging, the edge cases, yearly Revit changes, and crash risk make a maintained plugin the cheaper and safer choice.
Can AI write the tagging script for me?
It can write a first version. The hard part is making it reliable across projects and keeping it working, which AI-written code does not solve.
Sources
- Autodesk forum, Dynamo vs C# comparison (checked October 21, 2026)
- Autodesk University, Pros and cons of Dynamo versus Revit add-ins (checked October 21, 2026)
- Autodesk, migrating from .NET Framework 4.8 to .NET 8 (Revit 2025) (checked October 21, 2026)
- rvtdocs, What's new in Revit API 2027 (.NET 10) (checked October 21, 2026)
- Anthropic, updates to consumer terms (checked October 21, 2026)
- Autodesk, Autodesk Assistant in Revit tech preview (checked October 21, 2026)