Published on

What you should know before learning Revit API C#

I decided this will be the first topic i mention in my blog, for simple reason is you know me through my tool BIMStudio.

There are several ways to approach Revit API, 2 famous ways is through programing by C# or by Dynamo. In this article i just focus on C# way.

Take a look on internet, i cant find any topic relate to "What you should know before learning Revit API C#" so i think this is the answer for you.

Job oppoturnity?

This is maybe a main reason why you should learning Revit API, that why i put on the first place. After 5 years, i believe knowning regarding Revit API will be a big advantace. Revit API is just a beginning, it looked like a door to open a whole new world for you. Any company always need a guy knowing about Revit API to adjust their tool to fit their workflow as quick as possible.

Just think about it. between "normal" BIM Engineer and "Revit API" BIM Engineer, why they should pick a normal than special guy?

Learning yourself or take a course?

Therefore nowadays have many tools and resources for you to learn yourself, but honestly register revit API course worth than ever, such as:

  1. Enrolling in a learning center with a clear learning path will save you a significant amount of time compared to navigating the learning process on your own.
  2. You will have an environment for exchanging ideas with fellow students, as well as immediate assistance in resolving any questions.
  3. Studying at a center also allows you to cultivate new relationships and connections.
  4. Investing money in education serves as a personal commitment (feeling regretful about the expense encourages attendance).

The common feature of all courses is the presence of a trial lesson. Take the opportunity to attend a trial class and assess whether the teacher's philosophy aligns with your own. Is the curriculum suitable for you? Does the teacher's voice resonate with you? In general, try the class and evaluate for yourself.

Remember, there is no universally 'best' teacher; there is only the teacher who is most suitable for you.

You're definitely going to feel overwhelmed!

Stating this so you know that it's completely normal (not because you're lacking in any way). The feeling of being overwhelmed is usually attributed to three main factors:

  1. Overwhelmed by the programming language: You won't understand what this syntax is used for, or how that variable is utilized. This is entirely normal. Programming languages are, after all, a form of communication, but it's the language of computers. Jumping into a new language is always challenging in the initial stages.
  2. Overwhelmed by the code-writing software (IDE): Yes, do you remember the first time you used Revit? You opened it up, and there were tons of buttons. You felt lost, maybe even terrified. It's that feeling but multiplied by ten. Learning to code involves not just understanding how to write code but also how to use the code-writing software.
  3. Overwhelmed by English: This is a common challenge for many technical learners. Positively, learning Revit API can be an opportunity to enhance your English skills.

My advice: Persist as much as you can. Things will gradually become easier. If not, then ...

Revit API in C# may not be suitable for you

If you've given it your best shot but still can't 'absorb' Revit API in C#, perhaps it's not the right fit for you. Sometimes, the most courageous and sensible thing to do is to 'give up.' Giving up in this context helps us save time and, at the same time, allows us to find a more suitable direction.

As mentioned, approaching Revit API can be done through two forms: using C# or Dynamo. In my personal opinion, Dynamo is truly fantastic, with an easier approach, a strong community, and numerous supporting packages. At this point, Dynamo could be a worthwhile alternative to consider.

At the end of the day, what matters most is the effectiveness. Dynamo or C#—they are just tools. It doesn't matter which one you use; what matters is the results you achieve.

Self-learning ability is extremely important

While I recommend attending a learning center earlier, at this point, the emphasis is on 'self-learning is extremely important' again? It may sound illogical, but it is highly convincing. Revit itself, across various disciplines, already encompasses a vast amount of knowledge. With Revit API, the knowledge expands two to three times, and it becomes quite sophisticated. Developing the ability to learn independently is crucial. Enrolling in a learning center helps save time and acquaints you with Revit API, but fundamentally, this is a discipline that requires critical thinking and the ability to conduct independent research and learning. The learning center can guide you through a certain stage, but eventually, you are the one determining the extent of your capabilities.

Conclusion

Learning Revit API is challenging. However, what is harder to achieve is often the most valuable. Wishing you all bests on your journey of learning Revit API.