The rapid growth of digital technology in construction – with BIM at its very heart revolutionized how architects and engineers approach design and construction. As an effort to reduce the work and increase work productivity, some program environments were created to help architects build their extensions like Dynamo & Revit API (Application Programming Interface).
When automating in Revit, you usually have the choice between Dynamo (easy-ish) and C# (hard). pyRevit is a plugin for Revit that allows you to use the python programming language, which is considered to be much easier to learn than C#.
In my case, I start to develop add-ins on pyRevit.
Dynamo - is a visual programming tool that works with Revit. Dynamo extends the power of Revit by providing access to the Revit API in a more accessible manner. Rather than typing code, with Dynamo you create programs by manipulating graphic elements called “nodes”.
STRENGTHS
Easily to sketch ideas and understand
Work strong on geometry
WEAKNESS
Consumption of RAM → Try to save before use, just in case the computer doesn't respond
Difficult to operate with many teams
No code security
pyRevit - pyRevit is a Rapid Application Prototyping environment for Autodesk Revit. It helps you quickly sketch out your automation and add-on ideas, in whichever language that you are most comfortable with, inside the Revit environment and using its APIs.
STRENGTHS
Easily to sketch ideas
Quick create a new extension by yourself
Open source
Easy release tools
WEAKNESS
No code security
C# - Autodesk Revit provides a rich API that can be used to customize the product’s existing features or by adding entirely new ones. You can automate repetitive, time-consuming tasks and extend core features without leaving the Autodesk Revit environment. The API can be used to create custom tools and features that plug directly into Autodesk Revit, extending its functionality.
STRENGTHS
Code security
Professional language, add-ins are commercial
WEAKNESS
Hard to learn
If you love programming, everything can be. Hope this article can help you choose your best suitable method.
For me, I prefer using pyRevit first then you can continue on C#, you will see how strong C# is and how fast pyRevit is 😃 .
Thank you for your reading. Please note this is the author's personal opinion, if you need to discuss anything please feel free to contact me.
@Tien - Feb 2nd, 2022