Revit + Python = Awesome!

Automate,
or be Automated

Revit Is
Not Perfect…

Learn How To
Create Dream Tools
for Revit yourself!

Learn How To
Create Dream Tools
for Revit yourself!

Erik Frits

・ Your Revit API Instructor
・ Creator of EF-Tools

・ Your Revit API Instructor
・ Creator of EF-Tools

Click

😔Sorry, you've missed the course sale!
The next launch is expected this summer.


Sign-up to the Waiting List:

The Fastest Way to Start creating evit Add-ins with Python

The Fastest Way to Start creating
evit Add-ins
with Python

Anthony Juste

BIM Specialist at NIRAS

I've been using pyRevit for about 2 years now. It took me 2 months to create my first plugin and make it work.


My colleague discovered Erik's free videos a couple of months ago and created his first in a week.

Thanks! We use your vids for training now.

I've been using pyRevit for about 2 years now. It took me 2 months to create my first plugin and make it work.


My colleague discovered Erik's free videos a couple of months ago and created his first in a week.

Thanks! We use your vids for training now.

Learning Revit API
sounds impossible

Learning Revit API
sounds impossible

If you don't have a plan…

Many of you tried to learn it and failed. And that's okay!
I know it, because I'm completely self-taught myself. And I struggled a lot learning it on my own…


But after years of using Revit API, creating hundreds of Revit Add-ins and recording more than 100 tutorials about it,

I realized that Revit API is not that complicated if you follow the right system to learn it.


And I will make sure that you learn it the right way!

If you don't have a plan…

Many of you tried to learn it and failed. And that's okay!
I know it, because I'm completely self-taught myself. And I struggled a lot learning it on my own…


But after years of using Revit API, creating hundreds of Revit Add-ins and recording more than 100 tutorials about it,

I realized that Revit API is not that complicated if you follow the right system to learn it.


And I will make sure that you learn it the right way!

Follow the Plan

Follow the Plan

Join The Course

The Late-Bird sale is open for only 7 days.

Make sure you join before it's over to get access to all lessons and the community to Learn Revit API.

Join The Course

The Late-Bird sale is open for only 7 days.

Make sure you join before it's over to get access to all lessons and the community to Learn Revit API.

Join The Course

The Late-Bird sale is open for only 7 days.

Make sure you join before it's over to get access to all lessons and the community to Learn Revit API.

Learn the Basics

Start with the basics of RevitAPI and its practical applications.

You'll be able to create your own Revit add-ins after a few modules!

Learn the Basics

Start with the basics of RevitAPI and its practical applications.

You'll be able to create your own Revit add-ins after a few modules!

Learn the Basics

Start with the basics of RevitAPI and its practical applications.

You'll be able to create your own Revit add-ins after a few modules!

Automate Revit

By the end of the course you will create your own Revit extension with many tools.

And the best part - a lot of the code you write during the course will be reused in your future Revit Add-Ins!

Automate Revit

By the end of the course you will create your own Revit extension with many tools.

And the best part - a lot of the code you write during the course will be reused in your future Revit Add-Ins!

Automate Revit

By the end of the course you will create your own Revit extension with many tools.

And the best part - a lot of the code you write during the course will be reused in your future Revit Add-Ins!

Revit API
Can Be Easy.

Revit API
Can Be Easy.

Revit API
Can Be Easy.

# Don't take my word for it,

# Try it yourself! 👉

# Don't take my word for it,

# Try it yourself! 👇

Select Untagged Doors in View

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

#📦Variables
active_view = doc.ActiveView

#👉 Collect Doors and Tags in View
all_doors = FilteredElementCollector(doc, active_view.Id).OfCategory(BuiltInCategory.OST_Doors).WhereElementIsNotElementType()
all_tags = FilteredElementCollector(doc, active_view.Id).OfCategory(BuiltInCategory.OST_DoorTags).WhereElementIsNotElementType()

#🔎 Check Tagged Doors
tagged_door_ids = [tag.GetTaggedLocalElements()[0].Id for tag in all_tags]
untagged_doors  = [door.Id for door in all_doors if door.Id not in tagged_door_ids]

#🪄 Select Untagged Doors
from System.Collections.Generic import List
uidoc.Selection.SetElementIds(List[ElementId](untagged_doors))

Select Untagged Doors in View

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

#📦Variables
active_view = doc.ActiveView

#👉 Collect Doors and Tags in View
all_doors = FilteredElementCollector(doc, active_view.Id).OfCategory(BuiltInCategory.OST_Doors).WhereElementIsNotElementType()
all_tags = FilteredElementCollector(doc, active_view.Id).OfCategory(BuiltInCategory.OST_DoorTags).WhereElementIsNotElementType()

#🔎 Check Tagged Doors
tagged_door_ids = [tag.GetTaggedLocalElements()[0].Id for tag in all_tags]
untagged_doors  = [door.Id for door in all_doors if door.Id not in tagged_door_ids]

#🪄 Select Untagged Doors
from System.Collections.Generic import List
uidoc.Selection.SetElementIds(List[ElementId](untagged_doors))

New To Python?

New To Python?

You Are Not Alone!
We all Start Somewhere

Iorhan Vendruscolo

Civil Engineer | LearnRevitAPI Member

My first mistake was rushing into the API without nailing the python basics. So, I slowed down and took a solid Python course (CS50) – a total game-changer!

Free Tip: If you’re like me, new to programming, sort those basics first to avoid future headaches!

What other Experts Say?

What other Experts Say?

Gavin Crump

BIM/Computation Lead

Aussie BIM Guru / Architectus

Erik has been on my BIM radar for a while now. I'm constantly impressed by his abilities to take complex subjects like the Revit API and break them down in a friendly way. His platform presents a culmination of these abilities.


I see great potential and growth opportunity for people participating in his content. This is a truly exciting opportunity for those looking to get their teeth stuck into the Revit API and Python.

Erik has been on my BIM radar for a while now. I'm constantly impressed by his abilities to take complex subjects like the Revit API and break them down in a friendly way. His platform presents a culmination of these abilities.


I see great potential and growth opportunity for people participating in his content. This is a truly exciting opportunity for those looking to get their teeth stuck into the Revit API and Python.

Jean-Marc Couffin

Senior BIM Specialist at BIM One

💛pyRevit Dev Team

LearnRevitAPI Course is a valuable resource for anyone looking to master the Revit API and develop plugins with confidence.


I highly recommended the course for Revit Experts, BIM specialists, Beginners and experienced Python coders in the field.

Who is this course for?

Who is this course for?

Who is this course for?

# ✅ Revit Architects
# ✅ Revit Engineers
# ✅ Revit Modelers

# ✅ Revit BIM Managers

# ✅ Revit Coordinators

# ✅ Revit MEP-Engineers

# ✅ Revit HVAC Modelers
# ✅ Revit Experts

# ✅ Revit Coder


# And Any Revit User Not Afraid of Programming!

What's Inside Lessons?

What's Inside Lessons?

What's Inside Lessons?

🎦 Comprehensive Video Lesson

🎦 Comprehensive Video Lesson

🎦 Comprehensive Video Lesson

📝 Lesson in a written form

📝 Lesson in a written form

📝 Lesson in a written form

♻️ Reusable Code Snippets

♻️ Reusable Code Snippets

♻️ Reusable Code Snippets

💼 Homework To Practice

💼 Homework To Practice

💼 Homework To Practice

💬 Discuss Lesson in Community

💬 Discuss Lesson in Community

💬 Discuss Lesson in Community

📜 Short PDF Summaries (Coming Soon)

📜 Short PDF Summaries (Coming Soon)

📜 Short PDF Summaries (Coming Soon)

All You Need
TO Learn Revit API

What will be used?

What will be used?

RevitPythonShell

RevitPythonShell

pyRevit

pyRevit

Revit 2023

Revit 2023

Python

Python

Revit Lookup

Revit Lookup

Join the Course before it's closed!

Join the Course before it's closed!

Join the Course before it's closed!

Join the Course before it's closed!

Join the Course before it's closed!

Join the Course before it's closed!

Join the Course before it's closed!

Late-Bird Access

Learn Revit API Course

Access to Revit API Course (~8 hrs)

Discord Community Access

Future Course Updates Included

No Time-Limit for the Course Access!

Certificate in the Future*

Bonus 2h Mini-Course (BIM Pure Collab)

ONLY for Early/Late Birds! (Upcoming!)

Massive High-Five if you meet me👋

The course sale has ended.
The next launch is expected this summer.

260+ people have already joined!

Need a company invoice?
Write to support@LearnRevitAPI.com

Late-Bird Access

Learn Revit API Course

Access to Revit API Course (~8 hrs)

Discord Community Access

Future Course Updates Included

No Time-Limit for the Course Access!

Certificate in the Future*

Bonus 2h Mini-Course (BIM Pure Collab)

ONLY for Early/Late Birds! (Upcoming!)

Massive High-Five if you meet me👋

The course sale has ended.
The next launch is expected this summer.

260+ people have already joined!

Need a company invoice?
Write to support@LearnRevitAPI.com

Risk FREE!

30-Days

100% Money Back

Guarantee!

-EF

Risk FREE!

30-Days

100% Money Back

Guarantee!

-EF

Risk FREE!

30-Days

100% Money Back

Guarantee!

-EF

🎁 Including Bonus Mini-Course!

Early and Late birds will also get access to additional 2hrs Mini-Course (BIM Pure Collab)


Join Today to not miss out the Bonus mini-course!


  • The course is in editing phase and will be rolled-out once it's finished.

Join the Course before it's closed!

Join the Course before it's closed!

Join the Course before it's closed!

Join the Course before it's closed!

Join the Course before it's closed!

Join the Course before it's closed!

Join the Course before it's closed!

Be a part of
LearnRevitAPI Community

Be a part of
LearnRevitAPI Community

Afraid of
Getting Stuck?

Afraid of
Getting Stuck?

Ask For Help!

Ask For Help!

150+ members

CHATS

・code-help

・share-code

・general

・memes

Erik Frits

Instructor

・code-help

😥Feeling stuck? Ask For Help!

Mohamed Mostafa Bedair

Architect | LearnRevitAPI Member

7 min ago

The content is great, organized, and informative, it helps you understand The Revit API in an easy way.

And If you struggle with something, ask the community👍

The Community is helpful and friendly, we help each other, share our code, and laugh out loud over our hard times 😂

Iorhan Vendruscolo

Civil Engineer | LearnRevitAPI Member

2 min ago

The real unexpected gem was the Discord community.


Whenever I need help, I can just shoot a quick message and get some answers in the chat. Even cooler is when you have the opportunity to help someone; that's when you really learn things you wouldn't expect.

⌨️ Happy Coding!

150+ members

・code-help

😥Feeling stuck? Ask For Help!

Mohamed Mostafa Bedair

Architect | LearnRevitAPI Member

7 min ago

The content is great, organized, and informative, it helps you understand The Revit API in an easy way.

And If you struggle with something, ask the community👍

The Community is helpful and friendly, we help each other, share our code, and laugh out loud over our hard times 😂

Iorhan Vendruscolo

Civil Engineer | LearnRevitAPI Member

2 min ago

The real unexpected gem was the Discord community.


Whenever I need help, I can just shoot a quick message and get some answers in the chat. Even cooler is when you have the opportunity to help someone; that's when you really learn things you wouldn't expect.

⌨️ Happy Coding!

150+ members

・code-help

😥Feeling stuck? Ask For Help!

Mohamed Mostafa Bedair

Architect | LearnRevitAPI Member

7 min ago

The content is great, organized, and informative, it helps you understand The Revit API in an easy way.

And If you struggle with something, ask the community👍

The Community is helpful and friendly, we help each other, share our code, and laugh out loud over our hard times 😂

Iorhan Vendruscolo

Civil Engineer | LearnRevitAPI Member

2 min ago

The real unexpected gem was the Discord community.


Whenever I need help, I can just shoot a quick message and get some answers in the chat. Even cooler is when you have the opportunity to help someone; that's when you really learn things you wouldn't expect.

⌨️ Happy Coding!

Platform Sneak Peak

Platform Sneak Peak

What will you Learn?

What will you Learn?

What will you Learn?

37+

Lessons

8hrs+

Video Content

160+

Happy Students

37+

Lessons

8hrs+

Video Content

160+

Happy Students

37+

Lessons

8hrs+

Video Content

160+

Happy Students

01

Prepare Dev Environmentme

Install plugins and create your own custom extension in Revit

02

Understand Documentation

There wouldn't be programmers without documentation.

03

Selection and Properties

Learn how to select elements so we can look inside of them.

04

Get/Read/Set Parameters

Revit is all about Parameters, so it's important to understand them.

05

How To Make Changes?

Learn how to make changes in projects with Revit API.

06

Master Getting Elements

Getting the right elements is often half the solution.

07

Filters Made Easy

Filter elements with more criterias.

Prepare Dev Environment

60m

01.01 - What is Revit API

6:20

01.02 - Install Revit Plugins for Revit API

4:45

01.03 - Configure Revit API Autocomplete (pyCharm)

10:10

01.03 - Configure Revit API Autocomplete (VS Code)

5:40

01.04 - Create your own pyRevit Extension

10:30

01.05 - Create pyRevit Script Template

11:05

01.06 - How To Reuse Code in pyRevit?

5:50

01.07 - Revit API in Dynamo vs pyRevit

4:10

01

Prepare Dev Environmentme

Install plugins and create your own custom extension in Revit

02

Understand Documentation

There wouldn't be programmers without documentation.

03

Selection and Properties

Learn how to select elements so we can look inside of them.

04

Get/Read/Set Parameters

Revit is all about Parameters, so it's important to understand them.

05

How To Make Changes?

Learn how to make changes in projects with Revit API.

06

Master Getting Elements

Getting the right elements is often half the solution.

07

Filters Made Easy

Filter elements with more criterias.

Prepare Dev Environment

01.01 - What is Revit API

01.02 - Install Revit Plugins for Revit API

01.03 - Configure Revit API Autocomplete (pyCharm)

01.03 - Configure Revit API Autocomplete (VS Code)

01.04 - Create your own pyRevit Extension

01.05 - Create pyRevit Script Template

01.06 - How To Reuse Code in pyRevit?

01.07 - Revit API in Dynamo vs pyRevit

Wait, There is More!

Wait, There is More!

Wait, There is More!

I keep making content for the course to teach you even more cool stuff!

I keep making content for the course to teach you even more cool stuff!

I keep making content for the course to teach you even more cool stuff!

Upcoming Modules

Upcoming Modules

08 Create User Inputs/Outputs

08 Create User Inputs/Outputs

Learn how to create a friendly UI forms with very little code, or how to output information properly.

Learn how to create a friendly UI forms with very little code, or how to output information properly.

09 Automate Views & Sheets

09 Automate Views & Sheets

Views and Sheets are the end goal of using Revit in most cases, so let's look at how to automate this part of our work with a click of a button.

Views and Sheets are the end goal of using Revit in most cases, so let's look at how to automate this part of our work with a click of a button.

10 How to Create Elements?

10 How to Create Elements?

Creating elements can be time consuming… And often times, we can apply logic to automate that step as well. So learn how elements are created with Revit API.

Creating elements can be time consuming… And often times, we can apply logic to automate that step as well. So learn how elements are created with Revit API.

11 Excel for Revit API Users

11 Excel for Revit API Users

Every Revit User needs an Excel once in a while. So let's also explore how we can Export and Import data from Revit into Excel.

Every Revit User needs an Excel once in a while. So let's also explore how we can Export and Import data from Revit into Excel.

Built by a self-taught dev

Built by a self-taught dev

Built by a self-taught dev

Learning Revit API can be confusing,
and I'm here to make it easy for you.
I know the frustration, because I learnt it on my own without any support but you don't have to.

Learning Revit API can be confusing,
and I'm here to make it easy for you.
I know the frustration, because I learnt it on my own without any support but you don't have to.

Learning Revit API can be confusing,
and I'm here to make it easy for you.
I know the frustration, because I learnt it on my own without any support but you don't have to.

Erik Frits

Erik Frits

👋

👋

Hey,

Hey,

I will be your instructor.

I've created hundreds of custom Add-ins for Revit and I taught Revit Users how to code for years.

I'm creator of EF-Tools extension for Revit. It's 100% Free and Open-Source and used by thousands of people.

My goal is to make Revit API as simple as possible, and encourage more AEC professionals to start coding.

I will be your instructor.

I've created hundreds of custom Add-ins for Revit and I taught Revit Users how to code for years.

I'm creator of EF-Tools extension for Revit. It's 100% Free and Open-Source and used by thousands of people.

My goal is to make Revit API as simple as possible, and encourage more AEC professionals to start coding.

I also make YouTube Videos

I also make YouTube Videos

Here are a few:

Here are a few:

Here are a few:

Python Basics for Revit Users: The Ultimate Beginner's Course

Python Basics for Revit Users: The Ultimate Beginner's Course

Python Basics for Revit Users: The Ultimate Beginner's Course

Stop Wasting your Time on Revit Sections. Automate with Revit API!

Stop Wasting your Time on Revit Sections. Automate with Revit API!

Stop Wasting your Time on Revit Sections. Automate with Revit API!

How I’d Learn Revit API in 2024 (If I Could Start Over)

How I’d Learn Revit API in 2024 (If I Could Start Over)

How I’d Learn Revit API in 2024 (If I Could Start Over)

Check What Others Say

Check What Others Say

Mohamed Mostafa Bedair

Architect | LearnRevitAPI Member

Teach me how to fish🎣and you will feed me for life!! This is what the course promises you, Guaranteed 👌

I consider this course a big leap in my career like no other. The content is great, organized, and informative. It helps you learn Revit API in an easy way. It will also help you understand Revit itself even more.

And if you struggle with something, ask the community. The Community is helpful and friendly. We help each other, share our code, and laugh out loud over our hard times 😂.

I also love Python, and was super happy to know I can use it with Revit API.

Alhamdulillah, I‘m using it now in my company, making more tools to make our tasks and lives much easier.

A Big Shout-Out to Erik and The Learn Revit API Community

Mohamed Mostafa Bedair

Architect | LearnRevitAPI Member

Teach me how to fish🎣and you will feed me for life!! This is what the course promises you, Guaranteed 👌

I consider this course a big leap in my career like no other. The content is great, organized, and informative. It helps you learn Revit API in an easy way. It will also help you understand Revit itself even more.

And if you struggle with something, ask the community. The Community is helpful and friendly. We help each other, share our code, and laugh out loud over our hard times 😂.

I also love Python, and was super happy to know I can use it with Revit API.

Alhamdulillah, I‘m using it now in my company, making more tools to make our tasks and lives much easier.

A Big Shout-Out to Erik and The Learn Revit API Community