LRA-Newsletter by EF
Get short, practical lessons in your inbox about RevitAPI, pyRevit and AI.
217 ISSUES
2022 - 2026
~2 MIN EACH
One issue a week. Real scripts. Unsubscribe anytime.
Every Issue.
Search the archive or filter it by topic.
20261
200
🚧
BIM Managers: Here Are 4 Ways to Control AI Assistant Access in Revit.
~75% of Revit Users would not trust AI Assistant on a real project. And that's a valid concern... But by default we can't even disable or control who can use AI Assistant. (Thanks Autodesk for creating BIM Manager's Nighmare...)
202568
159
✨
Guide on Creating Elements With Revit API - (Place Hundreds With a Click)
It's time to talk about exciting part in Revit API: Creating Elements. At first it might be a bit confusing because there are multiple places to look inside documentation to find the right methods and then you need to choose the right overload...
158
⚠️
Stop Wasting Time Creating Views Manually (Here's First Step To Automate Views)
Automating View Generation will bring you the most joy. Just imagine: you click a button, go get some coffee, and you come back to hundreds of views generated exactly how you needed them. On top of that, if you show that to your boss they'll see you as a Automation Wizard🧙♂️.
157
🔽
Easy Guide On How to use Revit API Filters (Quick vs Slow vs Logical)
If you want to get the most from FEC collectors then you'll need to look into Revit API Filters. I'll be honest, the first time you try it, it's confusing. But once you understand the logic behind them and use a few of them, it will start to make sense.
156
👉
Your shortcut to mastering FilteredElementCollector in Revit API
Getting the right elements is half the solution. And it's not complicated. However, beginners tend to make it harder for themselves, especially if they just start. So let me show you how simple it is to create a collector and filter the right elements
155
➡️
How To Automate Shared Parameters in Revit in 3 Easy Steps.
Importing Shared Parameters sucks... It's one of really boring tasks that takes lots of clicks, time and very little brain power... We all hate it, so why not automate it? And if you don't know how, well let me give you everything you need (just like IKEA box), so you can create your own script.
154
🚀
Your First Step to Automating Parameters with Revit API
Revit is all about parameters. Sometimes we spend days going through Revit model to ensure we have the right parameters so our calculations are correct. And it's really annoying task. So it's essential to understand How to Get, Read and Set Parameter Values with Revit API.
153
🆎
How To Convert Units in Revit API With a Single Line Of Code.
📏 Revit API uses feet internally. This has caused a lot of confusion among beginners who use the metric system. They read property or parameter values and see completely wrong numbers in Revit and Revit API. And it's the worst when you're debugging something that isn't even broken. (Trust me, 🤦♂️ I've been there too...)
152
🚀
Start Coding Faster By Looking Inside Your Elements First
Don't jump straight into code. Once you have an idea for your custom Revit tool, spend a few minutes looking inside elements to understand how to get the right data. This will speed up your coding process.
151
👉
How To Prevent Revit Users from Selecting the Wrong Elements
Selection is not hard in Revit API. However, users like to break our Revit tools... And we can avoid that by limiting what can be selected. This way users can only select the right elements and ensure everything works correctly.
150
👉
How Selection Really Works in Revit API (Basics for Beginners)
Ready to master Selection with Revit API?🪄 Getting elements is often the first step in creating your tools to test your code, so it makes perfect sense to begin with that. And luckily for you, it's very simple. Let me show you the basics.
149
💻
Revit API Setup for Beginners (This will save you a lot of time!)
It's time to dive into actionable code. However, before we begin, let's make sure that you all setup your Dev Environment correctly to follow along the upcoming newsletters. So let's install it step by step together. Ready?
148
🔠
Learn How to Translate C# to Python (Step-By-Step Beginners Guide)
You can translate any C# code into Python. Once you understand the main differences in C# and Python Syntax, you'll be able to take any code example from documentation and turn it into python And the best part? It's not even that complicated. You just need to know the basics.
147
🔎
Revit API Documentation For Beginners. (How to Get The Most out of It?)
Coding without Docs is like sailing with wind. So let's dive into Revit API Documentation and I'll show you how to navigate to get the most out of it. It's a really important resource if you want to create custom Add-in for Revit. So you better get good at that.
146
⚙️
Understand the Process of Creating Great Revit Add-Ins.
Think of your Dream Tool for Revit. You hover over the button, 'CLICK' and then magic happens that makes your life so much easier. But how do we make that happen? Is there a process that can help you? Let's look into my 4-step process of creating great Revit Add-Ins.
145
💌
Why Did LearnRevitAPI Newsletter Stop?
It's been a while since the last newsletter... To be honest, I was overworked and took too many projects at the same time. So I thought I share what's going on and why it's 100% worth waiting for. I had this idea in my head for over 3 years, and finally the time has come. I'm working on a Free Python Course for YouTube.
144
🗺️
Here’s How I’d learn Revit API if I had to start all over again
I just saw an alien crime👽. Men in Black are after me. What if they get me and also erase all my Revit API knowledge... I have to leave notes, or a roadmap on how to get it back. So, this is exactly the newsletter I'm going to send myself if they flash my memory.
143
💡
What if I told you that there are thousands of code examples to learn from?
We're about to open a pandora box for pyRevit developers. I have to warn you that there is no way back. I'm about to do the unthinkable, and show you where you can find thousands of working code samples.
142
🙋♂️
Why One Revit User Became Senior BIM Specialist While The Other Stayed Behind
Five years ago two Revit Users started their career in AEC firm. They were very much alike. Both had been better than average with Revit and their understanding of construction, both were dedicated and wanted to advance their careers.
141
📢
LearnRevitAPI 2.0 Update: New Lessons and Platform Upgrade
I'm currently working on LearnRevitAPI 2.0 update and I want to let you know what's coming: And something special many were asking! Firstly, you will notice that navigation in LearnRevitAPI Advanced Course has been updated. Unfortunately, you'll lose the track of your previous progress because I changed the backend logic.
140
💡
Pro Tip: How to Easily Get CropBox to Rotate Views with Revit API
I want to share a quick tip on how to rotate views using Revit API. As you know, we need to grab a CropBox to rotate the view orientation. And if you tried it with Revit API then you realized that view.CropBox just gives you the BoundingBoxXYZ and not the actual CropBox Element...
139
🚀
Master Sales Plan Automation in Revit (Beginner-Friendly)
I want to help you save hundreds of hours like it saved me when I worked on a high-rise project with nearly 500 apartments. It might be the Best One Click Tool you use inside of Revit. Click Here to Automate your Sales Plans in Revit.
138
Are you making any progress with Revit API?
How long have you been trying to learn Revit API? A year? Two years? Five months? One month? A lot of people read documentation, watch YouTube tutorials, and copy-paste code snippets over and over only to see no real progress with custom Revit tools.
137
🎯
Revit API Starter Kit: 7 Code Samples Beginners Need to Know
Today, I want to share Revit API code samples for beginners to get started quick. We're about to get into nitty-gritty stuff. Because I know from personal experience how overwhelming it can be to start working with Revit API and I don't want you to get discouraged.
136
🧠
3 Mental Blocks Keeping You From Mastering Revit API
If you're reading this right now, that means you are probably looking to automate your Revit workflows with Python. ❌ Maybe you've started learning some basic scripting, but haven't been able to create anything useful yet?
135
✅
The 5 Skills That Top Revit Performers Are Learning Now
There are Revit Users who are going to struggle A LOT over the next 5 years. The "Manual Revit Warriors" who don't stop... Spending hours on repetitive tasks they could automate Relying solely on out-of-the-box Revit functionality
134
📅
Where you could be one year from now…
It has been a year since you started automating Revit using Python. You've become more productive and your career is growing faster as a result. Not because you moved away from AEC industry where everyone is underpaid and underappreciated. But because you dedicated 30-60 minutes to coding every day.
133
⛔
Avoid these 9 most common Revit API mistakes beginners make
Probably there is something on your mind that keeps you from getting started with Revit API or Python. The thing is - I keep hearing about the same mistakes over and over. And that's okay. I've also made the same mistakes, and I want to point them out so you:
132
🙋♂️
LearnRevitAPI was made for 3 types of people. Are you one of them?
As you think about your Revit Automation journey, here are 10 questions that will help you decide if LearnRevitAPI Academy is right for you. Do you waste time doing the same Revit tasks over and over again?
131
This System Makes Revit Users 10X More Productive
Today, I have a very special announcement for you (as you can probably tell). 🚀The LearnRevitAPI Academy is launched and you can join it right now. Over the past 6 years, I’ve created hundreds of custom tools for Revit and automated many workflows.
130
📦
OOP in Revit API for Beginners
Revit API is a huge collection of classes. And if you want to get comfortable using them, you better understand the basics of OOP, which stands for Object-Oriented Programming. It's a big concept in programming, but you only need the absolute basics so you know how to work with Revit API Classes.
129
📄
What's New in Revit API 2026? Here are the biggest changes...
You can't ignore changes in Revit API 2026. Every year Revit API gets an update, and it's important to know the changes so you can update your scripts and avoid any errors. Let's go through the changes in API and find:
128
✅
Revit 2026 Python Support: Testing pyRevit & RevitPythonShell
Revit 2026 is here, and it already has the Python support we need. The pyRevit team was very quick to react and publish changes to provide support for Revit 2026. And to my surprise, RevitPythonShell has gotten a second breath and now supports Revit 2025 and 2026.
127
⌨️
The Programming Journey of Aussie BIM Guru (Gavin Crump)
Gavin Crump (known as Aussie BIM Guru) has come on the show to talk about: - His Programming Journey from Hacking Nintendo to Automating Revit - The Progression from Dynamo -> pyRevit -> C# - His opinion on C# vs Python
126
LearnRevitAPI is Back Online 🚀!
Life is unpredictable and for the past week I've been completely dormant💤. ⚠️Website Was in Maintenance... It felt unusual to be offline for so long, but I had a very good reason - I'm a dad now🐣. And with more sleepless nights ahead it's time to get back to what I love: Teaching Revit API, pyRevit and Python.
125
✨
The New Modern Revit API Documentation for 2025
I was hiding it for a while, and finally I would like to introduce the new modern Revit API Documentation - www.RVTdocs.com ✔️ Revit API for 2021 - 2025 ✔️ Fast & Advanced Search This is just the beginning, I will be adding more features, and you are welcome to suggest me more ideas.
124
The Programming Journey of pyRevit Dad
✨Just posted new Podcast Episode. Ehsan Iran-Nejad (known as pyRevit Dad) has come on the show to talk about: Click Here to watch full episode. The next podcast is already recorded and it's with Gavin Crump (aka AussieBIM Guru)! We had a lot to talk about.
123
⚡
How to use pyRevit Hooks to create Event Triggers in Revit API?
Event is a very powerful feature in Revit API. It allows us to take a piece of code and subscribe to certain actions in Revit and whenever they are triggered, our piece of code will be used as an event handler.
123
✨
New Tutorial: Copy View Filters Across Views in Revit API
Learn step by step how to copy View Filters across views using Revit API. I often get questions about this, so I’ve broken it down to make it easy to follow. Watch now to automate your view filters. How to Copy View Filters in Revit with Python.
122
💻
I ignored pyRevit CLI for too long... Here's how to get started fast.
And like many of you, I avoided pyRevit CLI because I didn't want to dive into all of that. But it turns out it's not as scary or complicated as I thought. Huge thanks to Jean-Marc for coming on the show and showing us how it works.
121
⚙️
How to modify Shared Parameters with Revit API and Python?
Managing Shared Parameters is Slow and Boring... But as pyRevit developers we can define the logic for managing parameters once, and then reuse it across all projects. And the more parameters you have, the more you need to automate how you manage them.
120
⏹️
How-To Convert Internal/Survey/Project Coordinates with Revit API?
Coordinates are confusing, especially in the Revit API. You probably think that there is a simple method in API to convert coordinates from one system to another. At least that's what I expected until I realized there isn't one... I checked 10+ times before going down this rabbit hole🐇.
119
📢
pyRevit News + pyRevit CLI for Teams with Jean-Marc Couffin | pyRevit Hacker Podcast #2
New pyRevit Podcast Episode is Live! I had a great chat with Jean-Marc Couffin. Not only does he have multiple decades of experience in the AEC field, but he is also the most active member of the pyRevit community. pyRevit wouldn't be where it is today without him, and that's why I like to call him pyRevit Uncle.
118
🧮
How to convert units in Revit API with a single line of code.
📏 Revit API uses feet internally. This has caused a lot of confusion among beginners who use the metric system. They read parameter values and see completely wrong numbers, and it's the worst when you're debugging something that isn't broken...
117
🔥
New Step by Step Tutorial for Revit API Beginners
I've just released a new video on YouTube that you might find useful. I'll show you how to find missing tags in Revit and explain all the steps along the way. It’s a great exercise to practice Revit API with Python.
116
⛔
The reason why many fail with Revit API... (don't fall into the trap)
"Don't learn coding, AI can do it for you." 👆 Have you ever heard this advice? Many in AEC create a simple pyRevit tool with AI and conclude that they don't need to learn programming basics. Why bother with code?
115
#️⃣
The art of writing clean python code with comprehensions.
Writing clean and minimalist code is an Art. There are many ways to reduce unnecessary fluff, but comprehensions are by far the simplest and most effective. They’re like a secret superpower for Python: easy to learn, elegant to use, and incredibly useful for transforming your data in just one line.
114
⛔
My 5 Biggest Mistakes with Revit API (You Can Avoid Them)
It's been quite a journey. I started with Revit API about 6 years ago. Like many of you, I had absolutely no clue what I was doing. I didn’t know Python. I didn’t understand Revit API. But I did have one thing: repetitive problems that I really wanted to solve.
113
🧐
Check if All Your Doors are tagged with Revit API
I've got another Revit API question: ❓How to ensure all doors are tagged on our plans? That's a good one. I had the same question when I was working on a high-rise project with 35 levels. It wasn't fun to look for missing tags manually, so I had to find a better approach. And that's what I'm about to share with you.
112
🔽
How to Copy View Filters with Revit API in Just 3 Steps...
I just got a question: "How to copy view filters between views?" It's actually very easy to copy filters. You need to get a view, read its filters, get overrides and you are ready to create the same filters. However, the simplest step can also be the trickiest of them all if you don't pay attention.
111
⌛
Stop Rushing. Learning to Code Takes Time.
Have you tried learning to code in one day? Let me guess. You found long video or even a course. You rushed through the whole thing and then you got even more confused. Well, at least that's what I did when I started.
110
📊
Control Toggle Parameters in Revit with a Custom WPF Form
One of course students asked me: 'How to create a Form to control parameter toggle state with pyRevit?' And the answer is WPF. Whenever you need to create a UI form with custom functionality, WPF is often the best choice.
101
📊
How to Create Custom pyRevit Form with Multiple Buttons?
Creating custom UI is quite an advanced topic. But there is a easy way to with pyRevit. We can use FlexForms from rpw module, and it's already included in pyRevit by default. it's the easiest way to create custom UI forms.
100
📄
The Unusual Henry Ford Policy That Can Transform AEC Projects
Henry Ford has innovated in the automobile industry, and there are a few lessons we could extract from that. Back in the day, Henry Ford noticed some of his workers were standing around, doing nothing.
99
How to Be Lazy and Still Get More Done in Revit.
You’ve probably heard that famous story about Bill Gates. When faced with a tough problem, he’d hire a lazy person to solve it. Why? Because lazy people find the easiest way to get things done and get back to being lazy.
98
👀
Your First Look at the pyRevit Hacker Basics Course
Waiting for pyRevit Hackers Basics Course? It's getting closer to the finish line, and I can't wait to release it! And I know many of you can't wait for that either. So, I wanted to share a little sneak peak from one of the python lessons, so you get an idea what kind of content is coming to you soon.
97
🔍
Get Existing Types Before Duplicating Them
I was helping one of the students inside the course to finish a cool tool - Split Wall into Material Layers. (Might share the full code later) And for one of the steps - we needed to get existing WallType with a name, or create a new one if it doesn't exist. Simple step, but might be a bit tricky for beginners.
96
⌨️
What’s The Real Reason Behind Your Programming Journey?
I don't think that many of us thought that we would become coders. That's not how it usually starts. In 90% of cases, it starts with a Problem. And it can be anything. Sometimes it's impossible to solve it manually, other times it's just a waste of time.
95
LearnRevitAPI May Disappear: What Should We Call It Next?
The year has just started, but there are already some big things happening in Revit Community. Yesterday, Nicolas from RevitPure has received an unusual gift from Autodesk - a Cease and Decease Letter, asking to delete his website...
94
🔥
The #1 Mistake New Revit API Programmers Make.
Let's be honest - it's tempting to dive into the deep waters without learning to swim first. PS. I've actually done it as a kid and I almost drowned. I thought I will learn how to swim after I jump, and turns out that's not how it works... Luckily, someone has pulled me out unconscious. Thanks!
93
AI Claims 80% of Your Code, But Here’s the Real Story
The robots are here! They are typing, and apparently, they want to take credit for everything you do in your code editor. But wait, before you smash your PC to stop the robots, let me explain whether you should get an AI Assistant and how big companies mislead developers.
92
The Most Important Skill for Programmers (Hint: It's Not Coding)
I think there is a misunderstanding about programmers. Programmers are NOT people who just write code. It's like saying Revit is BIM... Programmers are problem solvers first. Code is just a tool they use to solve problems at scale. It's like a wrench for a plumber or a hammer for a carpenter.
91
🪟
How to Automate Sections with Revit API
Creating sections in Revit is boring, and adjusting them to see only the right element is even worse. So, I want to show you how to automate section creation with the Revit API, and I will try to break it down as simply as I can.
90
Learn How to Convert C# Code to Python (for Beginners)
As pyRevit Hacker, it's important to understand C# Syntax. This can help you find a lot more code examples for Revit API. And don't worry, you don't need to become C# devleoper for that. You just need to understand and recognize the main differences, so you can turn C# code into python. And it can be simpler than you would expect.
89
AI Assistant for Revit with Python | pyRevit Hacker Podcast #1
So, here's a plot twist I didn’t see coming: I’ve started a podcast🎙️! Yep, the pyRevit Hackers Podcast is officially live. The first episode will show you how to Add AI Assistant for Revit with Python.
88
😥
Hate Subscriptions? The Lifetime Deal is back!
It took a while, but I understand how much you hate subscriptions (who doesn't). So, I've decided to listen and make the necessary change. 🎉 The lifetime deal for LearnRevitAPI is back! No subscriptions. No renewals.
87
📁
Steal Like an Artist: pyRevit Secrets for a Quick Start
In the programming world, the phrase "Steal Like an Artist" isn’t about plagiarism, it’s about learning, borrowing ideas, and building upon the knowledge of others. You've probably heard the joke about programmers being better at google and copy-pasting code. It's true, but copying code is never enought.
86
🔎
This Prompt Will Help Beginners Understand Revit API Code Faster.
Last month, I opened an old script of mine that I hadn't touched for a long time. I thought 'No problem - it's my own code, it won't take long '. But I was wrong... You see, when I'm testing an idea, I write code quick and dirty. And then I go back and clean it up once I know it works.
85
A New Year’s Resolution Worth Keeping: Revit Automation
It’s time to set those New Year’s resolutions. Yes, the same ones we swore we’d stick to last January and promptly forgot by mid-February... But hey, let’s give it another shot, right? Setting goals is the first step in turning the invisible into the inevitable. – Tony Robbins
202461
26
Revit API Quick vs Slow Filters (What are they?)
If you've worked with the Revit API for a while, you've probably come across Revit API Filters. They might seem tough at first, but they're not too hard to use. The main challenge is figuring out which filters are available in the Revit API.
84
pyRevit Hackers Map: 59 countries where people automate Revit.
When I started the LearnRevitAPI Course, I never imagined it would reach so far and wide. Today I've decided to put it in perspective and create this cool map overview with countries where pyRevit Hackers live.AEC experts from 59 countries are becoming pyRevit Hackers🪄
83
✨
Do You Want to Become pyRevit Hacker in a Week?
Are you a busy AEC Professional who is tired of being just another Revit User?What if becoming pyRevit hacker can finally let you: 🔸 Create Custom Tools for your workflows 🔸 Automate Repetitive Tasks 🔸 And take your career to another levelDoes it sound exciting to you?
82
🤔
How To Select Elements in Revit Last Changed By Specific User
🤔 Ever caught yourself asking, “Who did this?” in a Revit project? If yes, you’re not alone. While there is a tool to identify who modified a specific element, it’s not much help when you want to select everything one user has touched.
81
🌍
5 New Languages are added to my Revit API Tutorials
🤯Over night I can speak 5 New Languages on YouTube! YouTube has granted my channel an Auto-Audio Dubbing feature and it will translate audio into 5 new languages. Isn't it amazing? When you open my YouTube Videos, you can click on ⚙️ icon and select an Audio Track.
80
❌
Avoid These 30 Beginner pyRevit Errors with this Checklist
🤦♂️ Ever spent days making a Revit Add-In, felt super proud, and finally shared it with your team. Then, nce they hit the button - BAM - they get a giant red error message... It’s the worst. Not only is it embarrassing, it can even reduce the trust your team has in your automation skills.
79
🔽
Revit API Filters: Quick vs Slow, what's the difference?
If you want to get very specific elements you might need to use Revit API filters. They are a bit confusing at first, and you don't even know what's available. So let me get you up to speed about filters in Revit API.
78
📙
How To Master Getting Elements in Revit API
Getting the right Elements is half the solution, and it doesn't need to be complicated. Let's explore how to get elements elements by using FilteredElementCollector Class. FilteredElementCollector(FEC) is one of the most used classes in Revit API. It allows you to get elements by applying filters.
77
🎦
Video Tutorial on Automating Shared Parameters with Revit API
After I've shared snippets on automating shared parameters, I got a really good engagement from you, so I decided to make an additional video to explain it better. I hope it will help you understand the workflow better and save a lot of time bringing your parameters to your projects.
76
Why Beginners Shouldn't Be Afraid to Explore Revit API
If you are a beginner Revit API hacker, you shouldn't be afraid to explore Revit API. You won't change anything by accident. Whenever you make changes with Revit API you need to use 🔓Transaction. If you don't, you will encounter an error message saying 'Attempt to modify project without Transaction'.
75
Automate Key Parameters in Revit API
After last couple of emails about shared parameters I got an interesting question: 'What about Key-Parameters in Revit API?' And it's a tricky one, so let me explain. As you know we can create Key Parameters in Revit to control multiple values. It's very common to use them with Rooms to control multiple parameters.
74
Automate Shared Parameters in your Projects with Revit API
Importing parameters in Revit one by one is really boring and soul-draining. It's one of the tasks I hated the most... So, being a pyRevit Hacker, I wrote a script to solve it. And I want to share the basics with you so you can do it as well.
73
🤔
Check if Shared Parameters Loaded with Revit API
Whenever you create a custom tools, you often need to work with your shared parameters. And before you do anything with it, you better ensure that you have your parameters loaded to avoid crashing.Here is how to do that.
72
🌚
Automate Dark Theme Icons for pyRevit with THIS Script
As you know Revit has a dark theme. Some people love it, some hate it. But it certainly affects how our extensions look like.Your extension might not look good in dark theme if you use dark icons... So, let's solve this.
71
🤔
Did you know you could use pyRevit in Revit 25 for months ?
Did you know that we could use pyRevit in Revit 2025 for couple of months already? If you are a regular Revit user, it means you can continue using your favorite pyRevit tools.And if you are a pyRevit hacker, it means that you can test your code in Revit 2025 and continue developing more.
70
⌨️
Use this code to load your custom UI forms in pyRevit
Probably you've heard that WPF is really hard to get started with. Maybe you even tried and failed, and now you are convinced it's impossible to learn it... However, it's actually not that hard to get started if you know where to start.
69
🔽
Revit API Parameter Basics for Beginners: How to Get, Read and Set
Revit is all about working with parameters. That's where we store our data and control everything else.So, it's crucial to understand how to Get, Read and Set new values in your parameters.So, Let's have an overlook of parameters in Revit API.
68
📰
New Sheet Generator for Revit with pyRevit Source Code
In the past, I hated creating a lot of sheets in Revit and then dragging one view at the time... And while it's not so bad, waiting for Revit to load up all the views and make repetitive clicks over and over was too boring...
67
✨
Big News for LearnRevitAPI: 400 Members✨
🎉 Today we hit a big milestone of 400 members, who love this course and the community. 🎉 A year ago, I launched the LearnRevitAPI course with a simple goal: to help AEC professionals Learn Revit API and pyRevit, saving time and unlocking new possibilities in their Revit workflows.And we are on the right track !🙏Huge thanks to everyone...
66
🚀
WPF Course for pyRevit - Lesson 04
🚀Are you Ready to create your First WPF Form with XAML? In this lesson, we’ll create a simple WPF Form and I’ll break down UI components and how they work as we use them. Afterall, the best way to get familiar is to start using XAML.
65
✨
WPF Course for pyRevit - Lesson 03
Welcome to the 3rd Lesson of WPF course for pyRevit By now, you should have your Visual Studio installed, and you were able to create WPF project (for .NET Framework) Now, let me take you on a short tour around Visual Studio to show you a few essential things.
64
✨
WPF Course for pyRevit - Lesson 02
Welcome to the 2nd Lesson of WPF course for pyRevit. It's time to prepare your dev environment for WPF. And it's very simple. We just need to download and install Visual Studio IDE to access the WPF Designer.
63
✨
WPF Course for pyRevit - Lesson 01
Welcome to WPF Course for pyRevit Users! In the first module, I'll introduce you to the basic concepts like: - WPF (Windows Presentation Foundation) - MVVM (Model-View-ViewModel) - XAML (eXtensible Application Markup Language)
62
📊
How did I learn WPF for pyRevit?
If you ever wanted to create a custom UI form for pyRevit tools, then you probably stumbled on WPF. It's amazing skill to be able to create any form you need and provide much better user experience. However, as a beginner it can be really frustrating to get started with.
61
➡️
WPF Course for pyRevit [Coming Very Soon]
Are you ready to start Learning about WPF in pyRevit? WPF is a modern framework for creating good looking UI Forms with any logic you need. The only limitation with WPF forms is the skill necessary to create them, otherwise you can make any form you can imagine.
60
👉
Improve User Selection with ISelectionFilter in Revit API
One of the easiest ways to provide a better experience during selection is to limit what can be selected. And it can be easily achieved by using ISelectionFilter. Let me show you what it is and how to use it.
59
👉
Basics of Revit API Selection in Minutes!
You need to master Selection if you want to use Revit API🪄.Getting elements is the first step to test your code, so it makes perfect sense to begin with Selection.And it's not so complicated. Let me teach you the basics in just a few minutes.
58
⌨️
How to Leverage Your Time in Revit with Code?
Many people think that they don't have time to learn to code... But coding is what will get you your time back. This is the best way to get leverage on your time and let me explain why. Naval Ravikant has famously said:
57
⌨️
Use Type Hinting In Python for Revit API
As you know, C# has a strict requirement for type declarations. It can be annoying, but it's also very useful for your IDE to get correct autocomplete options and debugging. Luckily, Python has a hidden feature for type-hinting. It can be really useful when you code and you know the types of elements.
56
⌨️
Did you know you can Shift+Click pyRevit Tools?
I want to share a little secret in pyRevit, that many of you haven't even heard of. Did you know you can execute different code if you use:Regular ClickShift + ClickCTRL + ClickIf you hear this for the first time, let me tell you how it can benefit your tools.
55
🗝️
The Secret to Free LearnRevitAPI Access
Yesterday I've presented live on Autodesk University 2024 and it was amazing.There was a little mess with registrations because of the limit Autodesk has made, so I've heard that many of you couldn't even register for the event...👉 Click Here to Watch the Replay
54
🔴
AU 24 [Replay] - Get Started with Revit API using Python
Yesterday I've presented live on Autodesk University 2024 and it was amazing.There was a little mess with registrations because of the limit Autodesk has made, so I've heard that many of you couldn't even register for the event...👉 Click Here to Watch the Replay
53
👉
The Quickest Way To Learn Revit API
You've taken important steps toward Learning Revit API. But you still might feel overwhelmed.What if you could skip the frustrating parts and dive straight into creating powerful tools that make your projects and your life - easier?
53
🙋♂️
My Revit API Journey from Beginner to Expert
You probably think that learning Revit API is not for you, or that it's impossible... Believe it or not, that's what I thought in the beginning as well. But like any other skill, we have to start small and learn it step by step.
52
Avoid These 9 Most Common Mistakes Revit API Beginners Make
I keep hearing about the same mistakes over and over. And that's okay. I've also made the same mistakes, and I want to point them out so you can: So let me share how to avoid making them! Feel free to hit 'Reply' and share other mistakes that you think I should have covered.
51
💡
Revit API Code Difference in pyRevit vs Dynamo
I teach Revit API with pyRevit.However, everything you learn can also be transferred to python nodes in Dynamo with very minimum differences.99% of Revit API code stays the same, but you should know about 1% that is different.
50
💾
Backup Your Code Before It's Too Late... [EP. 8/10]
When it comes to Backups we all know that we should do them. But it's easy to postpone until it's too late... Trust me, that's what happened to me. TWICE... It always happens because of stupid mistake or when you are in a rush. And then you sit there and google 'How to restore my deleted code'.
49
🧙♂️
How to be Efficient with pyRevit Code?
I'm about to share with you something really important that I wish someone told me when I started...But before I do, let me tell you a why it's important with a little story. 🔮 Imagine this: you have a few lines of code that you use in nearly every script.
48
👉
Your First pyRevit Button: An Easy Step by Step Guide
Many of you think that it's very hard to create custom Revit add-ins... And I want to break that stereotype. Let's create your first tool and get you in a developer's flow. Because once you will create your first tool, you will want to create even more!
47
📄
My pyRevit Script Template + Anatomy
We are getting closer to start coding with Revit API, but first let's prepare a pyRevit script Template so you never have to start from scratch (plus, who doesn't like to copy-paste code 👀). I will give you my basic and full Templates and explain you everything about them so you can adjust them to your own needs.
46
⬇️
Install These Tools for Revit API to Code Faster [Lesson 4/10]
I'll let you in on a secret - I used to code without a proper setup. Big mistake, and it cost me countless hours and headaches. So I want to show you how to setup your Dev Environment for Revit API and avoid common mistakes.
45
👀
StarterKit Secrets: Everything You Didn’t Know You Needed! [Lesson 3/10]
In this lesson we will focus on pyRevit StarterKit. It includes Resources, Docs, E-Books, Code Samples, WPF sample, Placeholders... honestly, if it had 🍕 a pizza delivery option, I wouldn’t be surprised.
44
📁
Create your own pyRevit Extension in just 2 min [Lesson 2/10]
The 2nd Lesson of Learn Revit API Course is out! In this lesson, you will learn how to create your own pyRevit extension with my StarterKit. It will be like assembling 🪑IKEA furniture, everything is included and it can't be any simpler.
43
🚀
Are you ready to Learn Revit API?
I've recorded 10 new videos for the module 01 of my course, and I want to share them with you. Starting today with the first Lesson of the course: 🎦Introduction to Revit API and pyRevit Watch Lesson 01:👉 Introduction to Revit API and pyRevit.
42
📢
Big News for Revit API Developers!
I have a lot of things planned for the upcoming weeks and months and I wanted to share so you know what I'm up to. I've finished re-recording 10 new lessons to replace Module 01 in LearnRevitAPI Course. It's not uploaded yet as I still edit them. But I will start releasing them soon.
41
Coming Soon: pyRevit Starter Kit
I've got a big announcement! I've been working for more than a month on a pyRevit StarterKit and it will be released this Thursday. I've created a page where people can sign-up to the waitlist here But since you are already in my newsletter, you will get it without filling out the form.
40
pyRevit: How to import python3 packages like Numpy, Pandas or others
I've seen many of you try to use numpy, pandas or other python 3 packages, and many has reported various issues. So I want to help you solve this problem and show you how to do it step by step 💡You can Watch: How to import python3 packages like Numpy, Pandas or other in pyRevit
39
Get The Most from Revit API Docs
Whether you are a beginner or an intermediate Revit API user, you need to understand the documentation to get the most out of it. There is not way out of it. 💡So, Let's Learn: How To Get The most out of RevitAPI Docs
38
Purge View Templates with pyRevit
I'm continuing with the Purge Tools for Revit series, and this time we will look at how to purge unused View Templates. This tool will also be included in EF-Tools, but I will also explain all the steps in the code.
37
Create View Filters with Revit API
If you needed to create View Filters, then you definitely thought about automating it. Luckily, it's not that complicated, and I will break it down for you in this lesson. 💡Let's Learn: How To use Create View Fitlers with Revit API
36
Create Interactive Revit Reports with pyRevit Linkify
💛pyRevit Linkify is a great feature that can create a linkable buttons to your elements and it can do 3 things: - Find Elements in the Active View (Zoom on it) And it's very simple to use, let me show you.
35
What was it like Learning Revit API on my own ?
You might be wondering if Revit API is for you. Like many of you, I'm completely self-taught. And while I managed to learn it on my own, I always wished there was a better and quicker way to do that. So I decide to make it myself. And that's why Learn Revit API Course was made.
34
Revit API Resource You Didn't Know About
Revit API is very niche. But there are still plenty of places with examples and tutorials. And I want to share with you the best ones. Some of these resources are very common, but there are a few that I didn't know about for years. So Enjoy this!
33
How to use IUpdater to create powerful features in Revit
It's time to cover IUpdater on the channel! It's a very requested feature, and it offers a lot! We can literally create a lot of new functionality in Revit, as it allows us to add certain code to every change that happens in our projects.
32
Revit API 2025 SDK is Out! Check the changes
Every year we get new Revit version with changes and new features and because of it Revit API also has a bunch of changes. It's good to understand these changes to see if you need to correct your scripts to be compatible with newer versions.
31
How-To Suppress Warnings in Revit API?
While warnings are very important to notify users that something is wrong, Revit Warnings can be just annoying... Remember those times, when you set the same 'Mark' value and you get a warning where you have to click on OK button?
30
pyRevit Hooks and Revit API Events Explained
🪝pyRevit Hooks, Revit API Events... I've been getting many questions about them. So it's time to cover it on the channel! I would recommend you to check the full YouTube video, or read it as a short email 😉
30
👀
Revit API can be simple. Check These examples
Revit API can be complicated, until you actually learn the basics. And once you learn them, you realize that you can create a lot of simple tools with just a few lines of code. And the best thing - it's very repetitive. Let's have a look at a few simple examples and you can try them yourself.
29
Stop Manually Dragging Views onto Sheets in Revit, use Revit API!
❌ Stop dragging your views onto sheets in Revit manually! I've got a much better example of using Revit API and python - a Way Better. I'll show you how to place views we created previously onto new sheets.
28
Stop Wasting your Time on Revit Sections. Automate with Revit API!
Creating sections in Revit is boring, and adjusting them to see only the right element is even worse. So, I want to show you how to automate section creation with the Revit API, and I will try to break it down as simply as I can.
27
How to Cut Filled Regions with Detail Line in Revit API
Recently I was making FIlledRegion tools, and I really wanted to make a Saw Cut with a line through regions. As simple as it sounds, It actually took some time to come up with the workflow that works, and I want to share it with you.
202318
25
Get Elements by Type Name using ElementParameterFilter
If you are a Revit API enthusiast, then at certain point you wanted to get your elements based on a parameter value. We can get elements with OfClass or OfCategory and then make a for loop... But what if you want to make it more efficient?
24
PDF Freebie - Master Getting Elements
🔥 Getting the right Elements is Half the Solution! 💡 Use this Guide to Master Getting Elements with Revit API! 📘 This PDF guide has 20 pages! ✅ You will get visual explanations ✅ And plenty of code example
23
My Programming Journey
Many people think that Learning Revit API is impossible! And so did I. But like any other skill: we have to start small and build it step by step. "The journey of a thousand miles begins with a single step." - Lao Tzu
22
Learn Revit API - Course Preview
Preview the first module on my YouTube for FREE! I want you to get familiar with my content from the course and setup your Dev Environment for Revit API. I am going to upload these videos one a day, but you can already watch all of them!
21
Select Elements Modifed By a User
🤔 Have you ever wondered, "Who did this or changed that in our work-sharing Revit project?" Well, pyRevit has a tool that can give us answers for one element. But what if we need to select everything that someone changed in our project?
20
Save all Families from Project
Often time we want to save our loaded families from Revit projects. Doing it manually is not only boring, but might become time consuming, so let's look at a better approach to save our time with Revit API.
19
Get Default Element Type
There are times during development when we need to get random Types to test a snippet. I used to use FilteredElementCollector but there is an easier method available to get Default Type. 💡 Let's learn how to get Default Element Types!👀 Available Methods
18
Coordinate Systems with Revit API
Coordinate Systems in Revit is not a simple topic, especially with Revit API. But I want to simplify it for you so you don't spend countless hours on trial and error. And of course I will provide an easy to use python code!
17
Automate Shared Parameters
🤯Tired of manually adding Shared Parameters in Revit one by one? ✅ I've got an exciting solution for you! Learn how to automate the process using Revit API and Python. 💡 Let's learn how to work with Shared Parameters in Revit API.
16
Create Custom UI
❓ I keep getting asked "how to create a Custom UI". 🤯 Unfortunately using WPF is not straigh-forward and might discourage a lot of people. But I found something interesting, worth sharing. ✅ There is package rpw, which is also included in pyRevit by default.
15
Revit to Excel
While there are many plugins and scripts available out there to export and import data from Revit. it’s still worth knowing how to export your data with python so you can customize every step of the way for your own workflow.
14
pyRevit for Revit 2024
Revit 2024 is out and many of us are eager to install and test it right away. And testing pyRevit is also on the list for many of my readers! 👀 So let's look how to make pyRevit compatible with Revit 2024!
13
Revit Lookup
“By failing to prepare, you are preparing to fail.” 🔎 Before diving into coding with the Revit API, it's essential to be prepared and understand the elements you'll be working with. That's where the Revit Lookup plugin comes in, a must-have tool for any Revit API developer.
12
pyRevit Forms
It’s often necessary to get user input in our tools. But creating custom forms with WPF is not beginner friendly. It has very steep learning curve so be prepared to translate a lot of C#. However, there is an alternative that comes shipped with pyRevit and I want to show you how simple it is to use pre-made forms with pyRevit.
11
Chat GPT for developers
🤖 Advances in AI technology in the last couple years have changed the way we will work forever. And while many have fears that it might replace us in the near future, I think of it as a tool that can help us be more efficient with our work.
10
Translate C# to Python
🧑💻 As a Revit API developer, it's important to understand C# syntax. Many forums and Revit API documentation have plenty of C# examples, so it can open up a lot of new learning resources. 💡And don't worry, you don't need to learn everything about C#. You just need to understand main differences so you can turn C# code into python.
9
Select/Pick Elements
Selection and Picking is often a good way for a user to provide a useful input for your custom tools. So let me break it down for you and give a few examples that you can start using today. There is a Selection Class in Revit API which allows us to get user selection or activate picking tools.
8
How to Convert Units in Revit API?
Revit API uses feet as its internal units regardless of the unit system used in the project. So whenever we work in a project with metric units, it still stores all the values in feet. If you work with metric units, then this will help you. Every time you get or set values, you need to work in feet.
20227
7
Revit API Filters
Using Revit API Filters might look intimidating in the beginning but once you use it a few times you will get a hang of it. FilteredElementCollector (FEC) has a number of methods included for filtering elements by Category, Class, Type...
6
Master Getting Elements
Getting the right Elements is half the solution, and it doesn't need to be complicated. Let's learn more about FilteredElementCollector. FilteredElementCollector(FEC) is one of the most used classes in Revit API.
5
Revit API Transactions
Transactions are like Revit guardians, they make sure that you won't change anything unless it's intended. There are 3 types of Transactions. But you are going to use regular one 95-100% of the time. Let's look at each and when to use them
4
Revit API Parameters
Reading and changing parameters is the whole premise of Revit, because that's where the data lives and it controls everything. So it's crucial to understand How To Read and Set New Values There are 5 different parameter types,
3
pyRevit Script Anatomy
"Computers are good at following instructions, but not at reading your mind. " Donald Knuth Let's go through basic instructions that pyRevit needs to execute your code and display all the given information correctly.
2
Create Your Own Revit Extension!
"You don't have to be great to start but you have to start to be great " Zig Ziglar I encourage you to create your own pyRevit extension for Revit! It's much easier that you think, thanks to the simplicity that pyRevit offers. Let's have a look how to create one.
1
Prepare Dev Environment
Before you start doing anything we need to prepare for the task. Make sure you have a Development Environment set up with all the necessary tools installed to enable you to use Revit API with Python. “If I had six hours to chop down a tree, I'd spend the first four hours sharpening the axe.” Abraham Lincoln.