Starting to develop an add-in for Revit can be quite time-consuming, and mastering the process can take a significant amount of effort. To simplify and streamline this journey, I've created a collection of libraries aimed at automating many of the development processes.
Revit templates
https://github.com/Nice3point/RevitTemplates
RevitTemplates offer a variety of templates specifically tailored for Revit add-in development.
They are compatible with popular IDEs such as Visual Studio, Jetbrains Rider, and CLI as well.
What's more, they fully support all Revit versions, from 2020 to 2025, within a single solution.
These templates also support key development practices such as MVVM, Dependency Injection, and Logging.
One of the highlights is the inclusion of optional features, allowing you to customize your project according to your specific needs.
For enterprise-level development, the templates even provide a comprehensive build system, installer creation, and a bundle for seamless publishing to platforms like the Autodesk Store or Design Automation
Template description: https://github.com/Nice3point/RevitTemplates/wiki/Templates
Examples created with these templates: https://github.com/Nice3point/RevitTemplates/tree/develop/samples
Revit multi-version support: https://github.com/Nice3point/RevitTemplates/wiki/Multiple-Revit-Versions
Step-by-step guide: https://github.com/Nice3point/RevitTemplates/wiki/Step%E2%80%90by%E2%80%90step-Guide
Revit toolkit
https://github.com/Nice3point/RevitToolkit
This package offers implementations of interfaces commonly used in Revit development.
By integrating this toolkit into your project, you can streamline your codebase, reduce infrastructure code and enhance dependency resolution.
Notably, it includes implementations for IExternalEventHandler, facilitating the creation of modeless applications and the execution in async context.
Revit extensions
https://github.com/Nice3point/RevitExtensions
RevitExtensions are designed to reduce the burden of writing repetitive code in Revit projects, and also help you write chained methods.
You don't have to write huge code to add a button to a Revit ribbon or remember all Utils classes, everything is available at your fingertips.
Just try.
Revit API
https://github.com/Nice3point/RevitApi
The RevitApi package serves as a dependency package for add-in development.
Instead of relying on local references, it is recommended to use Nuget for correct project dependency restoring and support for continuous integration and continuous deployment (CI/CD).
RevitLookup
Lastly, I'm also the developer of RevitLookup, a tool designed to facilitate quick analysis of the Revit database. It's an invaluable resource for anyone working with Revit.
You can find the latest version of RevitLookup here https://github.com/jeremytammik/RevitLookup
By leveraging these resources, you can significantly enhance your Revit development workflow, saving time and effort while ensuring consistency and efficiency in your projects.
Starting to develop an add-in for Revit can be quite time-consuming, and mastering the process can take a significant amount of effort. To simplify and streamline this journey, I've created a collection of libraries aimed at automating many of the development processes.
Revit templates
https://github.com/Nice3point/RevitTemplates
RevitTemplates offer a variety of templates specifically tailored for Revit add-in development.
They are compatible with popular IDEs such as Visual Studio, Jetbrains Rider, and CLI as well.
What's more, they fully support all Revit versions, from 2020 to 2025, within a single solution.
These templates also support key development practices such as MVVM, Dependency Injection, and Logging.
One of the highlights is the inclusion of optional features, allowing you to customize your project according to your specific needs.
For enterprise-level development, the templates even provide a comprehensive build system, installer creation, and a bundle for seamless publishing to platforms like the Autodesk Store or Design Automation
Template description: https://github.com/Nice3point/RevitTemplates/wiki/Templates
Examples created with these templates: https://github.com/Nice3point/RevitTemplates/tree/develop/samples
Revit multi-version support: https://github.com/Nice3point/RevitTemplates/wiki/Multiple-Revit-Versions
Step-by-step guide: https://github.com/Nice3point/RevitTemplates/wiki/Step%E2%80%90by%E2%80%90step-Guide
Revit toolkit
https://github.com/Nice3point/RevitToolkit
This package offers implementations of interfaces commonly used in Revit development.
By integrating this toolkit into your project, you can streamline your codebase, reduce infrastructure code and enhance dependency resolution.
Notably, it includes implementations for IExternalEventHandler, facilitating the creation of modeless applications and the execution in async context.
Revit extensions
https://github.com/Nice3point/RevitExtensions
RevitExtensions are designed to reduce the burden of writing repetitive code in Revit projects, and also help you write chained methods.
You don't have to write huge code to add a button to a Revit ribbon or remember all Utils classes, everything is available at your fingertips.
Just try.
Revit API
https://github.com/Nice3point/RevitApi
The RevitApi package serves as a dependency package for add-in development.
Instead of relying on local references, it is recommended to use Nuget for correct project dependency restoring and support for continuous integration and continuous deployment (CI/CD).
RevitLookup
Lastly, I'm also the developer of RevitLookup, a tool designed to facilitate quick analysis of the Revit database. It's an invaluable resource for anyone working with Revit.
You can find the latest version of RevitLookup here https://github.com/jeremytammik/RevitLookup
By leveraging these resources, you can significantly enhance your Revit development workflow, saving time and effort while ensuring consistency and efficiency in your projects.
Incredibly, Templates helped me easily move to using my project in the Revit 2025 without any struggles! Thank you for your contribution to Open Source
It would be great if Autodeks update this step by step guide using these templates, templates really handy and there is nothing better yet
https://www.autodesk.com/support/technical/article/caas/tsarticles/ts/7I2bC1zUr4VjJ3U31uM66K.html
Incredibly, Templates helped me easily move to using my project in the Revit 2025 without any struggles! Thank you for your contribution to Open Source
It would be great if Autodeks update this step by step guide using these templates, templates really handy and there is nothing better yet
https://www.autodesk.com/support/technical/article/caas/tsarticles/ts/7I2bC1zUr4VjJ3U31uM66K.html
Hello, i`m having an issue using the templates provided.
When i created an application from the from the Revit Addin application, when i attempt to run
the code, i get the following error on all revit versions:
System.Runtime.InteropServices.SEHException: 'External component has thrown an exception.'
It happens on the class SxSActivationContext at the dispose method
Hello, i`m having an issue using the templates provided.
When i created an application from the from the Revit Addin application, when i attempt to run
the code, i get the following error on all revit versions:
System.Runtime.InteropServices.SEHException: 'External component has thrown an exception.'
It happens on the class SxSActivationContext at the dispose method
SEHException usually occurs when exceptions are thrown by Revit API in user code. Can you show your code?
And try to run any sample https://github.com/Nice3point/RevitTemplates/tree/develop/samples
A simple video from Mike on how to create a project:
https://www.linkedin.com/posts/mikem615_revitapi-csharp-revit-activity-7170896001287737344-nBEW
SEHException usually occurs when exceptions are thrown by Revit API in user code. Can you show your code?
And try to run any sample https://github.com/Nice3point/RevitTemplates/tree/develop/samples
A simple video from Mike on how to create a project:
https://www.linkedin.com/posts/mikem615_revitapi-csharp-revit-activity-7170896001287737344-nBEW
Thank you for sharing this useful toolkit. I shared a pointer to it on the blog:
Thank you for sharing this useful toolkit. I shared a pointer to it on the blog:
Thank you Jeremy for sharing it.
I think it will help a lot of developers with supporting their add-ins for multiple versions of Revit, including 2025
Thank you Jeremy for sharing it.
I think it will help a lot of developers with supporting their add-ins for multiple versions of Revit, including 2025
Yes, I agree. I thought I would point out the new release first, and tackle the multi-version add-in strategies next week.
Yes, I agree. I thought I would point out the new release first, and tackle the multi-version add-in strategies next week.
Hi
I get this error when I try to test my plugin. The DLL file is in the right place?
Do you what I am missing?
Hi
I get this error when I try to test my plugin. The DLL file is in the right place?
Do you what I am missing?
Brilliant @nice3point !
Thank you for all the brilliant work you shared with the public for free!
We owe you a ton!
Brilliant @nice3point !
Thank you for all the brilliant work you shared with the public for free!
We owe you a ton!
I've figured out that the error occurs depending on what I name my project in Visual Studio. If the project is called 'SMTools', the error appears, but if I name the project 'RevitAddInSMTools', it works fine. Why does this happen?
I've figured out that the error occurs depending on what I name my project in Visual Studio. If the project is called 'SMTools', the error appears, but if I name the project 'RevitAddInSMTools', it works fine. Why does this happen?
A thread with this problem https://github.com/jeremytammik/RevitLookup/issues/269. You have installed plugins with outdated library versions. And depending on the name, either the old one is loaded (which causes errors) or the new one (works without errors). Download DependenciesReport.zip and check the status of dependency conflicts between your plugins. You can also run fixing of outdated DLLs in the same zip
A thread with this problem https://github.com/jeremytammik/RevitLookup/issues/269. You have installed plugins with outdated library versions. And depending on the name, either the old one is loaded (which causes errors) or the new one (works without errors). Download DependenciesReport.zip and check the status of dependency conflicts between your plugins. You can also run fixing of outdated DLLs in the same zip
Isn't it a bit vulnerable? I've tried running the "Dependencies Report," and it gives me a long list of DLL files. But I don't really know the program and I'm not sure what I should be looking for. It certainly hasn't fixed anything for me.
Aside from that, you've made some really great templates, and they're really easy to use once you understand how everything works. So thank you very much for that.
Isn't it a bit vulnerable? I've tried running the "Dependencies Report," and it gives me a long list of DLL files. But I don't really know the program and I'm not sure what I should be looking for. It certainly hasn't fixed anything for me.
Aside from that, you've made some really great templates, and they're really easy to use once you understand how everything works. So thank you very much for that.
Can't find what you're looking for? Ask the community or share your knowledge.