LearnRevitAPI

⚙️Understand the Process of Creating Great Revit Add-Ins.

Jul 18, 2025
Process to Creating Revit Tools

Think of your Dream Tool for Revit.
You hover over the button, 'CLICK' and then magic happens that makes your life so much easier.
But how do we make that happen?
Is there a process that can help you?
And you bet there is!
Let's look into my 4-step process of creating great Revit Add-Ins.
0. Understand the Process
Let's start with a 30,000-foot overview of steps involved. This will help you see a bigger picture and analyze where you need to pay more attention.
For example when I create new Revit Add-Ins, I have 4 stage:
Brainstorm the Idea
Research
Code Dirty
Refactor Code
Each of these steps helps me prepare for the next one and sometimes it can save me a lot of hours of hard work.
Other times I jump straight into coding, and then I might regret not doing the research... Or I might already know enough from previous coding sessions.
But let's cover all these stages one by one.
1. Brainstorm an Idea
It all begins with an idea, or a problem...
Firstly, we need to brainstorm what we are trying to achieve and how are we going to do it?
As a rule of thumb, think of all the steps you do manually to get the same result. And pay attention to the little details that you might do automatically without even thinking.
This is where abstraction comes into play.
In code, abstraction allows us to break down a big problem into smaller, manageable pieces. Each piece handles a specific task, so you don't have to worry about other steps while you make it. This makes your tools easier to build, understand, and maintain.
For example, if I want to automate hundreds of apartment plans, I might come up with a plan like this:
Get all rooms in project
Sort rooms by apartment number
Create View for each apartment
Change CropBox to only see one apartment
Create Sheet
Place View on Sheet
Write Sheet Parameters
That's a good start.
There are more small steps involved in between, and you are welcome to add them in, but they will also become more obvious as you code.
But once you have a general idea it's time to research the solution
2. Research
"Give me six hours to chop down a tree and I will spend the first four sharpening the axe." - Lincoln
We have an idea or even a simple plan in our head. Now, it's a great idea to see if something similar was already done before.
You don't want to spend couple of days creating a tool, and then find a blog post or a video that provides 80% of a solution you needed... That happens!
So have a look around if something similar was done, or if there are answers to tricky parts of your plan.
Search on Google
Search on YouTube
Check on Forums
Ask ChatGPT
Ask the community (👀 that one feels like cheating)
Even if you can't find similar tool, try to find solutions to specifci steps in your plan, especially if you don't know yet how to do them.
For example, you might be curious about changing CropBox to only see one apartment. So, you might explore this step in more detail. And you might find a few solutions across many blog articles (save those for later).
The goal of research is to get clarity and even find solutions to parts of your code that you are about to write.
And then the fun begins:
3. Code Dirty
Finally we are opening a code-editor, and I want you to have this mantra spinning in your head on repeat:
"Build it fast, fix it later."

This is a step where I try to get to a proof of concept as fast as I can. I don't care how my code looks, if my variables are named well, or if I handle errors...
I just want to see a quick result, even if it's not perfect. I need proof of concept before I commit more time to this idea.
You can't even imagine how much time developers waste trying to perfect first first steps and they can't even achieve the final result. Or they change the logic of the whole tool in the process...
For example, I vividly remember how I spent many days trying to make my UI form look pretty, way before I knew if I could make the rest of the code work.
Spoiler alert: I never finished that tool... But i learnt a lot of new things, so it wasn't waste of time either.
So let me repeat one more time: "Build it fast, fix it later."
4. Refactor Code
Alright, by this point you should have a proof of concept.
You should click on a button and get some result. It might not be perfect or exact, but you can see a potential. Now it's time to refactor your code and make it better.
Refactoring is the process of rewriting and restructuring your code to improve its readability, maintainability, and efficiency, without changing its functionality.
Now you can focus on all the little details and make sure that everything works, users won't get errors and your forms look pretty.
But also, don't over do it. As you know, programmers are never happy with their code. You will always think "Damn, I should have done it differently, or I should improve this part..."
But guess what?
After you refactor, you might get the same though again "I should have made this better...".
Don't get into a trap of perfecting how your code looks. Just make sure it works, doesn't break and move to the next one.
And step by step you'll create a lot of amazing tools for Revit to help you and your team on daily basis.
Summary
So whenever you get an idea for a tool, do this:
Brainstorm and break big problem into smaller steps
Research for similar solutions
Code fast and dirty to get proof of concept
Refactor in the end to make it work well
And then you can repeat the same process on the next tool.
Join Newsletter
📩 You will be added to Revit API Newsletter
Join Us!
which is already read by 9500+ people!




