# Start up with revit API

**URL:** <https://forum.dynamobim.com/t/start-up-with-revit-api/32559>\
**Category:** Uncategorized\
**Created:** [February 23, 2019, 12:34pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559 "2019-02-23T12:34:05Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![abdu2736](https://avatars.discourse-cdn.com/v4/letter/a/e95f7d/32.png) [@abdu2736](https://forum.dynamobim.com/u/abdu2736)\
**Post date:** [February 23, 2019, 12:34pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/1 "2019-02-23T12:34:05Z")

</div>

Dear all  
i would like to leran Revit api and how to add plugins in to revit,  
I am not sure the right way to start, but i would be very happy if someone will give an advice.

Tha k you

---

<div class="post-metadata">

**Author:** ![Marcel\_Rijsmus](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/marcel_rijsmus/32/8539_2.png) [@Marcel\_Rijsmus](https://forum.dynamobim.com/u/Marcel_Rijsmus)\
**Post date:** [February 23, 2019, 12:44pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/2 "2019-02-23T12:44:37Z")

</div>

TIP: search the internet for thebuildingcoder

---

<div class="post-metadata">

**Author:** ![abdu2736](https://avatars.discourse-cdn.com/v4/letter/a/e95f7d/32.png) [@abdu2736](https://forum.dynamobim.com/u/abdu2736)\
**Post date:** [February 23, 2019, 12:59pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/3 "2019-02-23T12:59:12Z")

</div>

Thanks marcel,  
But the building coder, isn’t advance 🙂 ?  
And tha ks for quick response

---

<div class="post-metadata">

**Author:** ![abdu2736](https://avatars.discourse-cdn.com/v4/letter/a/e95f7d/32.png) [@abdu2736](https://forum.dynamobim.com/u/abdu2736)\
**Post date:** [February 23, 2019, 2:13pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/5 "2019-02-23T14:13:58Z")

</div>

Thank you sk much and i really appreciate your help.

Have a great weekend

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [February 23, 2019, 6:26pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/6 "2019-02-23T18:26:46Z")

</div>

A good place to start: [My First Revit Plug-in Overview](https://knowledge.autodesk.com/support/revit-products/learn-explore/caas/simplecontent/content/my-first-revit-plug-overview.html)

This is definitely off topic for the Dynamo forums though. If you would prefer to talk about your first zero touch node instead… 🙂

---

<div class="post-metadata">

**Author:** ![abdu2736](https://avatars.discourse-cdn.com/v4/letter/a/e95f7d/32.png) [@abdu2736](https://forum.dynamobim.com/u/abdu2736)\
**Post date:** [February 23, 2019, 6:31pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/7 "2019-02-23T18:31:54Z")

</div>

Hey Jacob  
Thank you for replying, but do you think i should have basic understanding of C# first?

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [February 23, 2019, 7:57pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/8 "2019-02-23T19:57:49Z")

</div>

Yes, a basic understanding of the tools used to write a tool are a must.

---

<div class="post-metadata">

**Author:** ![abdu2736](https://avatars.discourse-cdn.com/v4/letter/a/e95f7d/32.png) [@abdu2736](https://forum.dynamobim.com/u/abdu2736)\
**Post date:** [February 26, 2019, 2:17pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/10 "2019-02-26T14:17:28Z")

</div>

i think you are right i need to finish python first. and afterwords i will move to API.  
however any tips where i should develop myself with python for dynamo?

thanks in advance 🙂

---

<div class="post-metadata">

**Author:** ![abdu2736](https://avatars.discourse-cdn.com/v4/letter/a/e95f7d/32.png) [@abdu2736](https://forum.dynamobim.com/u/abdu2736)\
**Post date:** [February 26, 2019, 6:49pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/12 "2019-02-26T18:49:01Z")

</div>

I Really thank you for the amazing answer,  
I will start 101 python and on other hand I am taking very intensive javascript course I hope i will understand another languages (C#…) based on it.  
Because i would like to do plugin for revit …ect. one day.  
Againg Really thank you 🙂

---

<div class="post-metadata">

**Author:** ![Daniel\_Woodcock1](https://avatars.discourse-cdn.com/v4/letter/d/58f4c7/32.png) [@Daniel\_Woodcock1](https://forum.dynamobim.com/u/Daniel_Woodcock1)\
**Post date:** [February 26, 2019, 6:53pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/13 "2019-02-26T18:53:35Z")

</div>

It sure is best to know a language first before learning a specific API as it is a smoother way to learn and jump right in. However, I learnt C# and Revit API simultaneously, it was a headache but I found having context and an idea of application really drove my learning, I see it often where people learn a language on its own but don’t have any idea what to apply it to and frequently give up learning altogether as they don’t see how to apply the usually boring examples to their own projects.

Also, you can totally walk a marathon if you really want, as long as you have the determination to get to the end you are all good.

---

<div class="post-metadata">

**Author:** ![Marcel\_Rijsmus](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/marcel_rijsmus/32/8539_2.png) [@Marcel\_Rijsmus](https://forum.dynamobim.com/u/Marcel_Rijsmus)\
**Post date:** [February 26, 2019, 7:00pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/14 "2019-02-26T19:00:55Z")

</div>

I learned the essentials on a Commodore 16 many many years ago (i’m 57 now).  
I have seen it develop to what it is now.  
same principles, different applications and different settings  
once you get it its just another language

---

<div class="post-metadata">

**Author:** ![abdu2736](https://avatars.discourse-cdn.com/v4/letter/a/e95f7d/32.png) [@abdu2736](https://forum.dynamobim.com/u/abdu2736)\
**Post date:** [February 26, 2019, 7:11pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/15 "2019-02-26T19:11:31Z")

</div>

I Really thank you for the information and the motivation,  
The funny when you graduate from school you think you know a lot, but in reality you need to start over again. 🙂

---

<div class="post-metadata">

**Author:** ![Marcel\_Rijsmus](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/marcel_rijsmus/32/8539_2.png) [@Marcel\_Rijsmus](https://forum.dynamobim.com/u/Marcel_Rijsmus)\
**Post date:** [February 26, 2019, 7:16pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/16 "2019-02-26T19:16:58Z")

</div>

once you do understand explain it to your supervisor  
you’ll need soft skills

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [February 27, 2019, 1:50am UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/17 "2019-02-27T01:50:50Z")

</div>

For Python I used SoloLearn, an app on my phone during commutes. Took a month of standing room only T rides, but it made my time productive when I would otherwise been idle.

For Revit API via Python, most of what I know I learned by recreating, editing and reverse engineering the work of others. Early versions of [Archi-lab](https://forum.dynamobim.com/t/revit-2022-dynamo-2-10-package-not-showing-up-and-icons-missing/62933/7?) from @Konrad_K_Sobon, Rhythm from @john_pierson and the lost but not forgotten DanEDU from @erfajo are some lost ‘educational staples’ from when I got my training wheels. Now @Andreas_Dieckmann’s clockwork package is still mostly in Python (and ever expanding), and the GeniusLoci by @Alban_de_Chasteigner is a more recent example.

Learning with an application is often ideal, but you will want to have a VERY simple goal in mind. Crawl before you to learn how to run and all that. I suggest you select something others have done and try to make it better by adding features or list looping to existing content.

---

<div class="post-metadata">

**Author:** ![kennyb6](https://avatars.discourse-cdn.com/v4/letter/k/7ba0ec/32.png) [@kennyb6](https://forum.dynamobim.com/u/kennyb6)\
**Post date:** [February 27, 2019, 2:14am UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/18 "2019-02-27T02:14:53Z")

</div>

Definitely what @jacob.small said. I took a single course for python at university and it taught me the basics of for loops, while loops but all of the more advanced things (recursion, lambdas, maps) and API I learned from looking through the codes of others on this forum or by testing ideas within Dynamo.

@solamour made a github especially for people who are trying to learn Python for use in Dynamo that includes sample scripts that you can go through to try and understand the logic behind. I would definitely recommend this after learning the basics of python: [https://github.com/Amoursol/dynamoPython](https://github.com/Amoursol/dynamoPython)

---

<div class="post-metadata">

**Author:** ![MartinSpence](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/martinspence/32/25208_2.png) [@MartinSpence](https://forum.dynamobim.com/u/MartinSpence)\
**Post date:** [February 27, 2019, 7:29am UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/19 "2019-02-27T07:29:28Z")

</div>

@jacob.small, you forgot the legendary Springs!!! 😃

---

<div class="post-metadata">

**Author:** ![Daniel\_Woodcock1](https://avatars.discourse-cdn.com/v4/letter/d/58f4c7/32.png) [@Daniel\_Woodcock1](https://forum.dynamobim.com/u/Daniel_Woodcock1)\
**Post date:** [February 27, 2019, 10:36am UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/22 "2019-02-27T10:36:27Z")

</div>

Agreed, long and painful and full of blisters. I think the point is though, as Jacob mentioned is to always keep sight of your goals and apply what you are learning in context to those goals as you are learning.

I find programming more of a quest game rather than a marathon though, you learn what you need to pass the level and you can always go back and improve with the insight you learnt from your first try - that’s my analogy anyway. 😊

---

<div class="post-metadata">

**Author:** ![solamour](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/solamour/32/153516_2.png) [@solamour](https://forum.dynamobim.com/u/solamour)\
**Post date:** [February 27, 2019, 1:34pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/23 "2019-02-27T13:34:53Z")

</div>

Just to add to this, I did do a presentation at AU London 2018 on Python - and this is available at the same link on the Wiki page. This should cover a lot of the basics of Python and get you started as it is Dynamo specific:

[https://github.com/Amoursol/dynamoPython/blob/master/images/DivingDeeper\_ABeginnersLookAtPythonInDynamo\_AU\_London2018.pdf](https://github.com/Amoursol/dynamoPython/blob/master/images/DivingDeeper_ABeginnersLookAtPythonInDynamo_AU_London2018.pdf)

Would recommend downloading in lieu of reading online however as the load function doesn’t work so well on Github for PDFs.

---

<div class="post-metadata">

**Author:** ![abdu2736](https://avatars.discourse-cdn.com/v4/letter/a/e95f7d/32.png) [@abdu2736](https://forum.dynamobim.com/u/abdu2736)\
**Post date:** [February 27, 2019, 2:25pm UTC](https://forum.dynamobim.com/t/start-up-with-revit-api/32559/24 "2019-02-27T14:25:48Z")

</div>

that’s great job
