Awsome presentation, well done! Really holds attention, love the use of Morph in it, clean and simple! Well done for all of the work you've put into this, can't wait for the course to come out! Thanks ! ;D
Thank you, appreciate that! It was my first presentation since school, it was interesting to try presenting with PowerPoint. 👀 The course is already very close to be ready for the first lunch, 💟 but still needs a bit more love. Stay Tuned!
Thank you as always!! I was unable to get the pick objects multiple to work as written in the video. But below worked, Revit 2020. It's possible I had a typo, I could not quite see the end of the script, but I'm pretty sure thats right. from Autodesk.Revit.DB import * from Autodesk.Revit.UI import Selection doc = __revit__.ActiveUIDocument.Document uidoc = __revit__.ActiveUIDocument ref_picked_objects = uidoc.Selection.PickObjects(Selection.ObjectType.Element) picked_objects = [doc.GetElement(ref) for ref in ref_picked_objects]
Hi, Thanks for providing your code as well! In a nutshell it seems to be the same, just skipping a few variables. I tested the snippet from my video and it worked for me, so there was no typos. I wanted to make sure it's written right. Maybe you had a typo, since my face was covering part of the code.😅 Sorry for that, glad you got it resolved!
Привет, Эрик!, will there be a small video tutorial on how to create a user interface (a purple window with various filling options), like you have in EF_Tools in the "Graphics Overviews" tool?
One day in the future I will explain how to make custom WPF, I still need to learn the proper way of reusing it myself. At the moment my workflow is not very reusable, except for Copy-Paste the base code I need 🤣 Currently no time for that, so can't promise when I get to it.
Thank you as always Erik! I have an idea for a video if you're interested.. I was thinking someone should dive in to pyRevit forms and explain how they were made.. I think Ehsan started in his channel but stopped.. I think that will allow everyone to be able to create their own custom forma 😊👍🏼
Thanks, appreciate that! I had this idea for a long time but I am stuck doing my Course and a few other things. Once I clear up my schedule, I will certainly look into that. Meanwhile you can check this Newsletter about pyRevit inputs. preview.mailerlite.io/preview/52352/emails/80033985219003968 I show what kind of forms we can find in pyRevit and rpw to easily use them. I don't explain how to create custom forms from scratch, because that would need a lot of explanation.
I've never managed pyRevit installation on so many machines, however there is a guide in pyRevit Notion (pyRevit For Teams) Here is the link: pyrevitlabs.notion.site/pyRevit-For-Teams-ddc6c312d6f6488691eed2ec7704fd97 It will require you to get comfortable with pyRevit CLI to a certain extend, but when you work with so many machines, that is certainly worth it! I hope this helps!
I love your videos, they are really insightful, however, could you please recommend me on which one you think is more efficient to learn, Grasshopper or API Revit, please note that I am a BIM Coordinator and a Revit Expert and have a basic of Grasshopper of Rhino, could you please give me your opinion ?
Thanks! I think that depends where you spend more time. If you spend 90% of time in Revit, then Revit API sounds like a no brainer. If you spend majority in Rhino, grasshopper sounds good. There are workflows with RhinoInsideRevit where you could combine grasshopper together with Revit API, but that probably shouldn't be your main goal. Just think where you will get more value if you learn Grasshopper vs Revit APi.
Hello Erik, I have some Doubts Regarding Revit API, After Completing Dynamo Course, I am Looking to Upgrade my skill to Next level, But I am Confused Between Iron Python & PyRevit. Both are Same Having same Logic or Different? Please Clarify. After learning Dynamo We need to do Python Scripting with RevitAPI then we further move to C# to Create Addins, but in Between i Came to know About pyRevit. thanks,
IronPython and Python are pretty much the same thing. The main difference is that IronPython is written to be able to access .NET Libraries using clr module (like clr.AddReference('RevitAPI') It's necessary because Revit is written using .NET framework and we need IronPython to access and use Revit API modules. pyRevit is a plugin that has a python engine integrated to be able to run python script. It has many benefits: - Free + Open-Source - Plenty of Tools you can have a look at source code - Very quick Development - Lots of Built-In functionality - Easiest way to create a Revit Toolbar - Awesome Community of Revit Developers and lots more! Python vs C# decision is a personal preference. I am huge python fan, so I am not planning on migrating to C#. However, if you are planning to ship and sell your plugins, C# might be a better option since it can be compiled into an installable file. However, I would still recommend to use pyRevit for development as it will be much quicker to create draft scripts and test them in Revit. Hope that helps, Happy Coding!
@@ErikFrits I appreciate your response. And one more thing: according to your videos, participation in your PyRevit course requires knowledge of basic Python. Does this imply that enrollment is still possible even if one is not familiar with Dynamo?
@@ummarkhan561 Dynamo is not necessary. I use mainly pyRevit in my course and focus on Revit API with python. However, these skills are easily transferable to Dynamo since it has python node to execute the same code. I had a few students join without prior knowledge of python, but they were following CS50 course by Harvard to pick up python basics. (It's a free course on edx.org)
I am still working on a course, so far I had Early-Bird launch for first students in October with ~5hrs of video content + lots of written content. I will probably make the next launch around February. I need to prepare a lot of things for that ;) You can sing-up to my newsletter to hear more about it when the time comes!
Currently I have all my efforts in the course platform, it's very close to finishing. I might revisit the topic in the future on RUclips as well. Creating what elements do you struggle with the most?
Hmm, Can you share a bit more details? Do you get any error messages? Usually it works well, but sometimes people had issues due to IT security protocols. Is it possible that something is blocking access to the internet during installation?
@@joseluisquirozcasas7074 That's strange. Maybe a bug from a newer version of pyRevit. I've found that it was solved on this forum: discourse.pyrevitlabs.io/t/new-release-error-dynamically-compiling-pyrevit-runtime/2621 Jean-Marc has written 6 step plan to fix it, and someone had success. I would suggest you to try it out first, and if error persist I would uninstall pyRevit and install a bit older version of it, but don't go too far back 😉 I hope it will work. Here is his plan: 1. Uninstall 2. Remove %appdata%/pyrevit and %appdata%/pyrevit-master folder if any 3. Move Revit addins to temp location 4. install latest pyrevit 5. start Revit once - close it 6. bring revit addins to their original location But I would recomment to check the link ;)
I haven't used Omniverse. I heard that we can create material library to use in all softwares. What kind of workflow do you have in mind for Revit + Omniverse?
I was interested in using it with Reality Server, perhaps also Unity, and Unreal Engine via Omniverse. It seems quite useful as revit is often used in architecture and I think the combination of these elements would be super convenient@@ErikFrits
I just love how all explanation fails to get the type of parameters right, because even the concept is so messy. I couldn't find a way either to describe it ever in a way that makes sense, but still valid. It is more like a matrix, because both family and project parameters can be shared parameters and built-in parameters. So the closest I got is there are built in parameters, and user created parameters. User created parameters can be attached to elements (on a project level or on a family level, can be non-shared or shared, different behaviour forr each combination), or globally to the project itself: global parameters, which is kinda the same as a family parameter where the family itself is the project. Scary. Anyway, nice overview of the whole Revit API world, wish I had something similar when I started.
Thanks appreciate that. Yeah, I didn't have enough time to go deep on parameters, wanted to cover everything a little in the time slot I had. I could go full hour just on parameters 😅 Overall I think they are not as confusing once you get used to them.
👇Sign-Up to Revit API Newsletter:
temp.learnrevitapi.com/
Learn Revit API Course is coming soon. Stay Tuned!
Awsome presentation, well done!
Really holds attention, love the use of Morph in it, clean and simple!
Well done for all of the work you've put into this, can't wait for the course to come out!
Thanks ! ;D
Thank you, appreciate that!
It was my first presentation since school, it was interesting to try presenting with PowerPoint.
👀 The course is already very close to be ready for the first lunch,
💟 but still needs a bit more love.
Stay Tuned!
Your EF-Tools plugin saved me multiple times. Thank you :)
Hey, super glad you found use for my tools in your workflow!
What tools did help you the most?
Круто!!!
Great video on getting started with Python Revit API!
Thanks, Appreciate that!
Thank you as always!! I was unable to get the pick objects multiple to work as written in the video. But below worked, Revit 2020. It's possible I had a typo, I could not quite see the end of the script, but I'm pretty sure thats right.
from Autodesk.Revit.DB import *
from Autodesk.Revit.UI import Selection
doc = __revit__.ActiveUIDocument.Document
uidoc = __revit__.ActiveUIDocument
ref_picked_objects = uidoc.Selection.PickObjects(Selection.ObjectType.Element)
picked_objects = [doc.GetElement(ref) for ref in ref_picked_objects]
Hi,
Thanks for providing your code as well!
In a nutshell it seems to be the same, just skipping a few variables.
I tested the snippet from my video and it worked for me, so there was no typos. I wanted to make sure it's written right.
Maybe you had a typo, since my face was covering part of the code.😅
Sorry for that, glad you got it resolved!
Привет, Эрик!, will there be a small video tutorial on how to create a user interface (a purple window with various filling options), like you have in EF_Tools in the "Graphics Overviews" tool?
One day in the future I will explain how to make custom WPF, I still need to learn the proper way of reusing it myself. At the moment my workflow is not very reusable, except for Copy-Paste the base code I need 🤣
Currently no time for that, so can't promise when I get to it.
Thank you as always Erik! I have an idea for a video if you're interested.. I was thinking someone should dive in to pyRevit forms and explain how they were made.. I think Ehsan started in his channel but stopped.. I think that will allow everyone to be able to create their own custom forma 😊👍🏼
Thanks, appreciate that!
I had this idea for a long time but I am stuck doing my Course and a few other things. Once I clear up my schedule, I will certainly look into that.
Meanwhile you can check this Newsletter about pyRevit inputs.
preview.mailerlite.io/preview/52352/emails/80033985219003968
I show what kind of forms we can find in pyRevit and rpw to easily use them. I don't explain how to create custom forms from scratch, because that would need a lot of explanation.
Perfect.. thank you Erik!
how to share our application in 500 computers in organization?
I've never managed pyRevit installation on so many machines, however there is a guide in pyRevit Notion (pyRevit For Teams)
Here is the link:
pyrevitlabs.notion.site/pyRevit-For-Teams-ddc6c312d6f6488691eed2ec7704fd97
It will require you to get comfortable with pyRevit CLI to a certain extend, but when you work with so many machines, that is certainly worth it!
I hope this helps!
I love your videos, they are really insightful, however, could you please recommend me on which one you think is more efficient to learn, Grasshopper or API Revit, please note that I am a BIM Coordinator and a Revit Expert and have a basic of Grasshopper of Rhino, could you please give me your opinion ?
Thanks!
I think that depends where you spend more time.
If you spend 90% of time in Revit, then Revit API sounds like a no brainer. If you spend majority in Rhino, grasshopper sounds good.
There are workflows with RhinoInsideRevit where you could combine grasshopper together with Revit API, but that probably shouldn't be your main goal.
Just think where you will get more value if you learn Grasshopper vs Revit APi.
Hello Erik,
I have some Doubts Regarding Revit API, After Completing Dynamo Course, I am Looking to Upgrade my skill to Next level,
But I am Confused Between Iron Python & PyRevit.
Both are Same Having same Logic or Different? Please Clarify.
After learning Dynamo We need to do Python Scripting with RevitAPI then we further move to C# to Create Addins, but in Between i Came to know About pyRevit.
thanks,
IronPython and Python are pretty much the same thing. The main difference is that IronPython is written to be able to access .NET Libraries using clr module (like clr.AddReference('RevitAPI')
It's necessary because Revit is written using .NET framework and we need IronPython to access and use Revit API modules.
pyRevit is a plugin that has a python engine integrated to be able to run python script. It has many benefits:
- Free + Open-Source
- Plenty of Tools you can have a look at source code
- Very quick Development
- Lots of Built-In functionality
- Easiest way to create a Revit Toolbar
- Awesome Community of Revit Developers
and lots more!
Python vs C# decision is a personal preference. I am huge python fan, so I am not planning on migrating to C#. However, if you are planning to ship and sell your plugins, C# might be a better option since it can be compiled into an installable file.
However, I would still recommend to use pyRevit for development as it will be much quicker to create draft scripts and test them in Revit.
Hope that helps,
Happy Coding!
@@ErikFrits I appreciate your response.
And one more thing: according to your videos, participation in your PyRevit course requires knowledge of basic Python. Does this imply that enrollment is still possible even if one is not familiar with Dynamo?
@@ummarkhan561 Dynamo is not necessary.
I use mainly pyRevit in my course and focus on Revit API with python. However, these skills are easily transferable to Dynamo since it has python node to execute the same code.
I had a few students join without prior knowledge of python, but they were following CS50 course by Harvard to pick up python basics. (It's a free course on edx.org)
@@ErikFrits How to register this course? It is showing waiting list.
I am still working on a course, so far I had Early-Bird launch for first students in October with ~5hrs of video content + lots of written content.
I will probably make the next launch around February.
I need to prepare a lot of things for that ;)
You can sing-up to my newsletter to hear more about it when the time comes!
create elements part 3 and part 4 please!
Currently I have all my efforts in the course platform, it's very close to finishing. I might revisit the topic in the future on RUclips as well.
Creating what elements do you struggle with the most?
hi. pyrevit en revit 2023 no working
Hmm, Can you share a bit more details? Do you get any error messages?
Usually it works well, but sometimes people had issues due to IT security protocols. Is it possible that something is blocking access to the internet during installation?
Hello, this message when starting Revit:
ironPython Traceback: Traceback(most recent call last):
file "C:\Program Files\pyRevit-Master\bin\engines\pyRevitLoader.py", line 30, in
Exception: Error dynamically compiling pyRevit runtime
@@ErikFrits
@@joseluisquirozcasas7074 That's strange. Maybe a bug from a newer version of pyRevit.
I've found that it was solved on this forum:
discourse.pyrevitlabs.io/t/new-release-error-dynamically-compiling-pyrevit-runtime/2621
Jean-Marc has written 6 step plan to fix it, and someone had success.
I would suggest you to try it out first, and if error persist I would uninstall pyRevit and install a bit older version of it, but don't go too far back 😉
I hope it will work.
Here is his plan:
1. Uninstall
2. Remove %appdata%/pyrevit and %appdata%/pyrevit-master folder if any
3. Move Revit addins to temp location
4. install latest pyrevit
5. start Revit once - close it
6. bring revit addins to their original location
But I would recomment to check the link ;)
ok thanks
@@ErikFrits
How about Revit to Omniverse API?
I haven't used Omniverse. I heard that we can create material library to use in all softwares.
What kind of workflow do you have in mind for Revit + Omniverse?
I was interested in using it with Reality Server, perhaps also Unity, and Unreal Engine via Omniverse. It seems quite useful as revit is often used in architecture and I think the combination of these elements would be super convenient@@ErikFrits
I just love how all explanation fails to get the type of parameters right, because even the concept is so messy. I couldn't find a way either to describe it ever in a way that makes sense, but still valid. It is more like a matrix, because both family and project parameters can be shared parameters and built-in parameters. So the closest I got is there are built in parameters, and user created parameters. User created parameters can be attached to elements (on a project level or on a family level, can be non-shared or shared, different behaviour forr each combination), or globally to the project itself: global parameters, which is kinda the same as a family parameter where the family itself is the project. Scary.
Anyway, nice overview of the whole Revit API world, wish I had something similar when I started.
Thanks appreciate that.
Yeah, I didn't have enough time to go deep on parameters, wanted to cover everything a little in the time slot I had. I could go full hour just on parameters 😅
Overall I think they are not as confusing once you get used to them.