- 74
- 311 306
Erik Frits
Austria
Registrace 3. 09. 2021
📘 Get Free Revit API E-Book:
www.learnrevitapi.com/ebook
🙋♂️My name is Erik Frits and I will help you Learn Revit API.
I'm founder of LearnRevitAPI Course-Platform and EF-Tools (Free Extension for Revit)
Many feel like learning Revit API is impossible, but after years of using it and creating hundreds of scripts, I realized it's not that complicated if you follow the right system. And I will take you through Revit API step by step so you learn it without wasting hundreds of hours.
Start with the free E-Book I wrote and watch videos on this channel. And if you want to fast-track your journey, you can check my Learn Revit API Course. But keep in mind it's not always open, so you have to wait for the next launch.
⌨️ Happy Coding!
-----------------------------------------------------------
💟 Support:
www.patreon.com/ErikFrits
ko-fi.com/erikfrits
📩 Contact:
✉️ support@LearnRevitAPI.com
📶 www.linkedin.com/in/erik-frits
Tags: #LearnRevitAPI #Revit #RevitAPI #pyRevit
www.learnrevitapi.com/ebook
🙋♂️My name is Erik Frits and I will help you Learn Revit API.
I'm founder of LearnRevitAPI Course-Platform and EF-Tools (Free Extension for Revit)
Many feel like learning Revit API is impossible, but after years of using it and creating hundreds of scripts, I realized it's not that complicated if you follow the right system. And I will take you through Revit API step by step so you learn it without wasting hundreds of hours.
Start with the free E-Book I wrote and watch videos on this channel. And if you want to fast-track your journey, you can check my Learn Revit API Course. But keep in mind it's not always open, so you have to wait for the next launch.
⌨️ Happy Coding!
-----------------------------------------------------------
💟 Support:
www.patreon.com/ErikFrits
ko-fi.com/erikfrits
📩 Contact:
✉️ support@LearnRevitAPI.com
📶 www.linkedin.com/in/erik-frits
Tags: #LearnRevitAPI #Revit #RevitAPI #pyRevit
Video
Clean Up Your Revit Projects: Remove Unused View Templates [pyRevit]
zhlédnutí 226Před 4 dny
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 📝 Video Summary: Check out the new tool in EF-Tools: Purge ViewTemplates and also learn how it works behind the scenes. We will code it together from scratch so you can understand all the steps and adjust it to y...
Clean Up Your Revit Projects: Remove Unused View Filters [pyRevit]
zhlédnutí 322Před 11 dny
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 🔗 Links from Video: EF-Tools Installation Guide: czcams.com/video/q0zbdyyBIo0/video.html 📝 Video Summary: Let me show you how to purge unused View Filters in Revit. Firstly, I will show you how to use this tool i...
How To Create View Filters with Revit API in a few simple steps
zhlédnutí 655Před 18 dny
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 📝 Video Summary: In this video you will learn how to create View Filters with Revit API. This is a clip from a full video from the Learn Revit API Course lesson about View Filters. I hope you will find it useful ...
Use pyRevit Linkify to Create Interactive Reports in Autodesk Revit
zhlédnutí 659Před 26 dny
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 🔗 Links from Video: FEC E-Book: learnrevitapi.com/ebook/fec Code Snippets: learnrevitapi.com/blog/create-interactive-revit-reports-with-pyrevit-linkify 📝 Video Summary: Learn how to use pyRevit Linkify function t...
Revit API Resources You Didn't Know About.
zhlédnutí 1,4KPřed měsícem
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 🔗 Links from Video: Blog Post Resources: learnrevitapi.com/blog/revit-api-resources-for-beginners 📝 Video Summary: If you ever felt stuck learning Revit API, then I've got good news for you. I will show you a lot...
How to use IUpdater in Revit API to improve your Revit
zhlédnutí 1,2KPřed 2 měsíci
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 🔗 Links from Video: - Revit API Dev Guide: help.autodesk.com/view/RVT/2023/ENU/?guid=Revit_API_Revit_API_Developers_Guide_Advanced_Topics_Dynamic_Model_Update_html - python strftime: www.programiz.com/python-prog...
Revit API 2025 Update: Here's What You Need to Know
zhlédnutí 1,4KPřed 2 měsíci
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 🔗 Links from Video: Download SDK: aps.autodesk.com/developer/overview/revit 📝 Video Summary: Revit API 2025 SDK is released, so let's install it and have a look at what has changed. We will briefly go through wha...
How To Convert Coordinates in Revit API [Survey/Project/Internal]
zhlédnutí 1,5KPřed 2 měsíci
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 🔗 Links from Video: Blog Post with code snippets: learnrevitapi.com/blog/convert-coordinate-systems-in-revit-api-draft 📝 Video Summary: Learn how to convert coordinates in Revit API between Internal, Project and ...
Create Multiple Sections in Autodesk Revit with a Click [Free Add-In]
zhlédnutí 1,1KPřed 3 měsíci
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 🎬 Chapters: 0:00 Intro about New Revit Add-In 0:15 Example of creating multiple Sections 0:45 How it works? 2:15 Disclaimer 2:50 Example in 3D View 3:40 What's Next? 4:30 Happy Coding! ⌨️ Happy Coding! Tags: #Lea...
Revit API Events and pyRevit Hooks Explained (Say Goodbye to CAD Imports)
zhlédnutí 1,4KPřed 3 měsíci
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 🔗 Links from Video: ... 📝 Video Summary: pyRevit Hooks, Revit API Events... I've been getting many questions about them. So it's time to cover it on the channel! There are 4 different types of Events - Data Base ...
Revit API Can Be Easy! Try These 8 Examples Yourself.
zhlédnutí 1,1KPřed 4 měsíci
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 🔗 Links from Video: You will find all code examples on: learnrevitapi.com Scroll down to "Revit API is Easy" Section 📝 Video Summary: Revit API can be easy. And I want to show you a few examples! But most importa...
Feeling Stuck Learning Revit API?
zhlédnutí 7KPřed 4 měsíci
🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com ⌨️ Happy Coding! Tags: #LearnRevitAPI #RevitAPI #pyRevit
Don't Drag Your Views on Sheets in Revit! Automate with Revit API instead!
zhlédnutí 2,3KPřed 4 měsíci
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 🔗 Links from Video: Blog Post with Code Snippets: learnrevitapi.com/blog/how-to-place-views-on-sheets-with-python-and-revit-api 📝 Video Summary: We've created hundreds of sections in the previous tutorial. So in ...
Stop Wasting your Time on Revit Sections. Automate with Revit API!
zhlédnutí 8KPřed 5 měsíci
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook 🎯 Interested in Learning Revit API in the fastest way possible? Join Learn Revit API Course: learnrevitapi.com 🔗 Links from Video: Blog Post with Code Snippets: learnrevitapi.com/blog/how-to-automate-window-sections-in-revit-api-and-python 📝 Video Summary: Stop Wasting Your Time on Revit Sections! It's time to Automate th...
How to Get Default Element Types with Revit API.
zhlédnutí 656Před 5 měsíci
📙 Get Free E-Book: Beginner's Guide to Revit API: learnrevitapi.com/ebook This is a short lesson where I will show you how to get Default Element Types in Revit API. There are 2 methods in Document class for that: - GetDefaultElementTypeId - GetDefaultFamilyTypeId And both are very easy to use! Check out Other Revit API Videos: 🎦 Python Basics for Revit Users studio.czcams.com/users/videoi_6VbU...
Awesome tutorials. Unfortunately tried to use the extension but all buttons give me errors, mainly because ImportError: No module named 'WPF_Base'
First time I hear about that one. WPF_Base is a class that is used for all my UI Forms so it's confusing to me. - Can you tell me what Revit version did you use? - Also, have you tried reinstalling? Sounds to me like you are missing code in your installation.
@@ErikFrits I use Revit 2023. Reinstall Revit, pyRevit or the extensions?
@@renatogheno Delete and Reinstall EF-Tools through pyRevit extensions menu. I use 2023 as a main version, so that should be the one with the least bugs :/ Let me know if you still get this error, I will need to check what's going on
@@renatogheno I can see that WPF_Base is present in the extension on GitHub, so you shouldn't see the error No module named WPF_Base... github.com/ErikFrits/EF-Tools/blob/main/lib/GUI/WPF_Base.py I would appreciate if you could send the full error message if you get it again.
Hey Eric, another great video. Consider uploading a video that explains how to get autocomplete for VS Code users as well. I managed with the help of chatGPT for myself.
Great video again Erik, Already saw the newsletter and now watching the video. Your explanation helps me tremendously in mastering python for pyrevit specifically. Would love to understand or master the layout in xaml aswell Thank you very much Erik
Thank you for kind words and glad that you read newsletter too! Oh wow, I keep getting a ton of request on the WPF lately. It's certainly on the list to do one day, but I need to brush up my skill again before teaching. Happy Coding!
@@ErikFrits Yeah It was me aswell per email :D (Bram) But yeah, WPF is the key to making, not just handy tools, but awesome looking ones aswell. Im getting the hang of python for revit specfically. Want to make the tools we make into our "in-house" style. And most of us make these tools in our spare time, because we are way too busy during workdays. Nowadays AI tools are a big help, like chatgpt, but I wish to understand it myself.
Oh makes sense, but I was getting even more request on WPF. Oh yeah, AI is a big helper. I've made little test with WPF, and it can also be useful for creating forms. But Binding the data to python code would probably have to stay manual.
This Evening I was resisting to sleep without having something to learn first, glad that I was able to catch this video. very useful and easy to follow through, I have a request for a future video to explain extending the possibilities in pyRevit's UI especially with your custom WPF window that is very intriguing to me.
Oh yeah, WPF is very requested but there is a lot to prepare for it first 👀
Thank you for sharing this video and the tools, do you know if there is any way to attach / detach to an ElementId of a floor or roof? it seems that the built-in parameter "WALL_TOP_IS_ATTACHED" is a read only parameter
Hi, Happy to help! I haven't looked how to attached/detach walls to other elements with Revit API. Haven't had an idea for such tool yet 🤔
Awsome, similar to import CAD event I would like to do for changing the link settings (ie workset, pin/unpin, etc). Is that also possible? Thank you
Also can you please tell me if it would work for central - local network model vs ACC cloud model?
Thank you one more time, Erik! I really appreciate also more videos about geometry, curves, bounding boxes, etc.
Happy to help! Any particular tools in mind for the requested topics?
hi, where can i download this from please?
Check out EF-Tools installation Guide on CZcams 😉 czcams.com/video/q0zbdyyBIo0/video.html
Thank you EF!
My pleasure!
Sir.. I'm from India how can I learn from scratch.. Please reply... ;)
Hi, You can start with the free E-Book (check link in description) And there are plenty of videos on CZcams too! Focus on python until you are comfortable, then dive into Revit API
Thanks alot sir@@ErikFrits
Thank you for this video Erik. Not exactly a "purge" tool, but a cleaning one : I will love to see how could we "un-constrain" an element or a selection of elements (that has been constrained or locked on other elements)
Thanks for suggestion. Haven't looked at constraining elements yet, but I will add it to the list.
Thanks for the video! The function "GetProjectTransform" may return unexpected result if someone create a custom site in Revit with name "Project" (or another word you use to filter by Element.Name property value). Is there any other way to get this element?
What about the DocumentReloadingLatest event? I think i have correctly subscribed to it, but it never seems to trigger....
You might need to explore events triggers. The event you mentioned: This event is raised when Revit is just about to reload latest changes from a central model. I would recommend to start very simple and just make some print statement when it's triggered. If you can't get it to print, then either your event is not triggering, or you have an error in your event handler and therefore nothing happens. As I've mentioned errors happened during the events won't be shown to us, so we need to make sure our code is working good and we handle all the errors ourselves.
@@ErikFrits Thanks for the reply! I tried and tried and couldn’t get that particular event to ever fire. However, I was able to use WorksharedOperationProgressChanged event. It has a property called “ReloadLatestFinished”. The event triggers a bunch of times during reload latest, but you can track the status using that property.
Hi.please share revit api stubs 2025❤
First! 😂
🙌 First come - first served ;)
Leuk, maar naar het nederlands vertalen is voor codeertaal wel een ramp. of bedoel je alleen de # teksten? Nice, But translating to Dutch is horrible... or do you mean only the # texts? def SkipAllAboveTekst(): :D
Thank you for the great videos!
Glad you found them useful! Happy Coding!
Very nice tutorial. I do run into this error on my first try: ImportError: Cannot import name UnitTypeId. Is this class different in Revit 19, perhaps?
Yes, UnitTypeId was introduced in 21 or 22. Before that we had to use DisplayUnitType Enumeration for the units. www.revitapidocs.com/2019/7d3d3306-a4c2-c577-0aeb-cca42d6cfd2f.htm
Hi Erik, i was seeking beginner Revit API learnings, have just started with your e-book, very nice experience, thank you so much!!
Awesome! I hope it will save you a lot of time ;) Happy Coding!
Noice
JavaScript?
python? 😁
Hi Eric ! Thanks for the tutorial ! im facing a problem where my icon not shown in the revit. the button work perfectly fine but didnt show the icon. How to fix that?
Hmm that's strange. Probably there was a mistake somewhere. 1. Is it named 'icon.png' ? 2. Is the size less than 96x96 px? 3. Have you reloaded pyRevit ?
@@ErikFrits Found it ! i rename the file as 'icon' with no '.png' at the back. Cause the file are already in PNG format. Thank you for your help Erik
@@luqmanghani8047 Ah so you had file extensions hidden by default. Glad we found the solution ;)
Wonderful tool! I can't wait to improve my codes with linkify!
It's a great feature!
Thanks , i serch lots of option to pile naming. its most valuable and time saving
Happy to help
Is there a similar tool for floors? I have a large number of floors that want to adjust to a specific level and height... it takes too long to do it one by one and the select all instances also doesn't work sometimes... :(
I haven't done it for floors, but it's possible to do. I'm just not sure how many people might need it 🤔
you are amazing! so plain, directly to the subject without any show off, you teach like a father rather than a teacher hahaha and i love that
Thanks ! I need to add dad jokes 😂
Ef-Tools is fantastic.
After installing pyCharm, when I type 'import os' the 'import" is red instead of blue and I get an error "unused import statement 'import os'" did I miss a step?
I don't think it's an error if you see "unused import statement" pyCharm IDE monitors unused variables, imports and other things to notify us that it might be a good idea to clean it up. Does python autocomplete work if you keep writing further? (os.path.join() e.g.)
@@ErikFrits Yes the autocomplete seems to be working thanks.
For those that are getting import errors for their lib folder even after adding the path to the interpreter, you may have to manually configure the project structure in pyCharm. Go to File -> Settings -> Project: <name> -> Project Structure and click on the lib folder. Mark the lib folder as "Sources".
Eric, hi, I've been watching you for a long time! Could you give recommendations, or in the future record a video on how to connect external libraries, for example, numpy, pandas to scripts. The error constantly pops up that there are no such modules. Although the path is specified in the Windows variable, the necessary libraries are installed, and the script is also run with #! python 3, but this does not give any result, the latest version of python is installed. Thus, the hands are tied and a lot of things cannot be done.
Great Suggestion, Max! I'll look into that, it's a very requested topic about external packages. Meanwhile, you can try using sys.path.append to manually push the path to where your numpy is located. Maybe it will force it to find the right path.
This is super cool!!!!
Happy to help!
Hi Eric, Great Stuff. Is there any student discount you provide for your course ? Thanks. :)
Hi, yes I provide students discounts too. Write me to support@LearnRevitAPI.com , and we can talk about
CS50P is really good( but i thing one from MIT is also good, have not attended yet)...You have only mentioned Python...and don't you think C# or C++ are sometime more advantageous over python for complex and large Addons etc?I am also learning to CODE , not an expert but is mentioned by many experts.
I tried MIT when I started with python many years ago. It was good but it's a much longer course and it also covers more ground about computer science in general. C# and C++ definitely have a bunch of advantages over python: Execution speed, protected source code, better handling of .NET features.... But python is by far easier and quicker to begin with and it's also possible to push it really far to create advanced tools. My goal is to help AEC expert to begin coding, and python is much better choice since it takes less time to begin with. And people can always switch to other languages much easier. And Revit API logic will pretty much stay the same. C# and C++ requires you to dive much deeper before you can start make your first Add-Ins so therefore I focus primarily on python for beginners. The good thing about programming - is that all the languages are similar. The computation logic stays the same, we just need to express it with different words and additional symbols (syntax)
Thanks for all those resources,
Happy to Help!
Hi Erik! thank you for this sublime video. I encounter a problem generating a Filled Region schedule and also how to export a TextNote in CSV or txt format? I would be very grateful for anything that could help me resolve these issues. I use python and run the script with pyRevit.
Happy To Help! Did you get any errors or where did you get stuck with your problems? - What was the problem with generating schedule? - For exporting TextNotes in CSV you can use csv python module. You just need to get and structure your data and then export in a csv format. ChatGPT will be able to help you write the code if you never used csv package ;)
Really cool content. Thanks Erik
Happy to help!
Hi Erik, can you push a Tutorial of how to host our own tooltab online? i have made a company tool tab for pyrevit, but it takes forever to launch any script since its on our company server, and most of the time, it goes through our VPN. so basically i have our server hosting all of our dynamo packages, as well as our dynamo/ python scripts. if we can host everything on github, and install the updates if there is a new version, it would be awesome.
Hi, Thanks for suggestion, I've added it to the list ;) In my experience, I actually liked keeping pyRevit extension on the server so everyone points in the same folder, so I only needed to update it in 1 place, instead of updating it on each machine individually. But since you use VPN and pyRevit scripts take long time to execute, then it might justify it.
The LLM chatbot arena is a fine one. I also like your snippets page!
I also found Chatbot Arena a very interesting resource! So easy to test different models quickly without making lots of accounts
Usefel feature, as usual Erik.👏
Thanks!
Excellent! Can you please make a tutorial on how to place line based elements in a family editor
You mean placing nested line-based families inside of a family? Can you give a bit more context on the goal
@@ErikFrits Yes, exactly placing a line based family on the default level or reference plane in the family environment. I have alot of line based families which i want to place in the another family (Generic model containing all line based families). All these lines lines represent walls for repetitive floor plans in one project and across different revit files. in that way i can change it one time and reload it into all the projects if there are some changes in the floorplan. The problem is that the familyinstance.bycurve node works fine in the project environment but doesnot work in family editor environment. i posted it in the dynamo forum and someone suggested to use this method "NewFamilyInstance Method (Reference, Line, FamilySymbol)" but still its not working. I used chatgpt to convert the c# example to python and tried it but didnt worked for me. Thanks. I am a dynamo user and now i am starting learning Revit API and Python. Your videos are really helpful. Thanks for that.
Эрик, здравствуйте! Спасибо вам за ваши видео. Подскажите, когда будет следующий курс по Revit API python? Можно ли его будет оплатить из России?
Зравствуйте. Запуск курса планируеться очень скоро. Можете мне написать на support@LearnRevitAPI.com Так будет удобнее написать когда я узнаю больше об оплате с России.
hi EF, i want to buy your course, how could i do it now ?
Hi, The next course launch is planned very soon(in 2-3 weeks) and it will stay always open after that. Sorry for the late reply. P.S. If you want to get an immediate access, write me to support@LearnRevitAPI.com ;)
Excellent work, Erik. Keep it up.
Thank you a lot Daniel!
Erik , great video!!, Before CREATEWINDOW, so important tu put "FamilySymbol.Activate(window_type)" to active the family window , greettings from Peru!
The pycharm venv folder does not appear, I thought it came installed as part of pycharm, but I think it has to be activated externally, or am I wrong?
Hi, Do you mean venv folder after you created an interpreter? venv folder is created when you make your Virtual Environment (venv). It's a default name but in the tutorial I think I named it differently. Also I've heard that people had issues with pyCharm 2024 for making Revit API Coding environment. But once they downgraded to pyCharm 2023, they managed to make it work. Maybe this is part of your issue as well.
Erik felicitaciones por tu aporte! la parte III por favor sobre vigas,columnas,losas de concreto armado
Merci!
GRACIAS HERMANO!, POR COMPARTIR TU CONOCIMIENTO!
Happy to help ;)
Thanks for the video, and for the lessons. I'm having a little problem - when I try to assign a value to any parameter of an element, I get an error - Exception: Illegal attempt to modify document. Reason: Raising DocumentChanged event Maybe you can help?
if someone is wondering what the problem was, then I named the file doc-changed instead of doc-updater
Glad you solved the issue🙏 Naming of the hooks is important!
Hi Erik! Great video with some really useful examples! I've got a couple of ideas for DMUs that I'm excited about. First, I've managed to detect when a user tries to unpin important elements like links, grids, or levels using the ribbon button. However, elements can still be unpinned from the toggle button when selected. Have you tried addressing this issue in your projects? Secondly, I'm considering a feature that would alert users before they delete critical elements in the model. It would not only warn them but also log the user's name and the date if they proceed with the deletion. Maybe this could be tracked with a shared text file or something similar? Just brainstorming at this stage. Looking forward to your thoughts!.
Hi Gilberto, 1. Disallow Unpinning IUpdater is not the best option here in my opinion. Instead of that you can subscribe to the event of Unpinning elements, and then check if element can be unpinned based on your rules. Then if it shouldn't be unpinned you can prompt a message to the user and cancel the 'unpin' command. I've made a tutorial before that one where I blocked "Import CAD" button in Revit and put a password on it with a command hook. here is link: czcams.com/video/tfEQAv36EaM/video.html 2.Monitor Element Deletion I might also use another monitoring events here. Monitoring other events allows you to stop the execution of the command that caused the Event Trigger, and also it can be enough to write something to a reporting file. The only downside of using other events is that we can't make changes in Revit Projects. IUpdaters are useful when you know you want to add Extra changes to the model. Otherwise they might be an overkill as they are a bit trickier Hope it helps Happy Coding!
You save me hours of work, thanks 👌👌👌
Happy To Help, Oscar!