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 very soon.


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))

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!

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!

Join The Course

Learn Revit API Course

€̶447

EUR

Join today to get:

Access to Revit API Course (~12 hrs)

Discord Community Access

Future Course Updates Included

Unlimited Course Access

Certificate in the Future*

Massive High-Five if you meet me👋

300+ people have already joined!

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

Join The Course

Learn Revit API Course

€̶447

EUR

Join today to get:

Access to Revit API Course (~12 hrs)

Discord Community Access

Future Course Updates Included

Unlimited Course Access

Certificate in the Future*

Massive High-Five if you meet me👋

300+ 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

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?

50+

Lessons

12hrs+

Video Content

300+

Happy Students

50+

Lessons

12hrs+

Video Content

300+

Happy Students

50+

Lessons

12hrs+

Video Content

300+

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!

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