Thanks, glad glad you liked it! When working with linked files accessing data is not an issue. Your Linked Project and Main project are 2 different doc (Document) instances. So when you get values with FEC class for example, you just need to provide correct doc instance. (doc / doc_linked) However, making changes in Linked Revit Projects is not really possible due to Revit API limitation. You would need to open them separately
Hi Erik, Thanks for the Video you sound like a really good teacher and to be honest that is what im looking for in Revit. I would like to make reinforcing ALOT more automated if that is something you can help with it would be HUGE value !
Happy to help! I've never worked with reinforcements in Revit manually, so I'm not sure how to automate it. Let me know more steps on how would you want to automate this task?
@@ErikFrits So Reinforcement is directly related to the forces acting on the foundations, columns, slabs or Beams. If we could get a good range setup IE 1-50 51-100 and so on each range has a certain amount of reinforcement needed in the Structural Elements. So for exa,ple we make a 1000 x 1000 x 400mm thick foundation Base and it has a 100 - 149 Kilo Newtons acting on it then our script would automatically detail the required amount of rebar in the base for that particular range. Hope that helps explain it?
Hi Erik, great video. I am plumbing designer and I want to generate all plumbing calculations from revit, this is my challenge. Currently revit has a module for pressure network, but this uses a table of International Plumbing Code to convert the flow in the pipes, this table has some changes in the codes of every country and its necessary to adjust the flow. With pyrevit, can I change the way of revit to assign the flow in pipes? Other people said to me that I need to make a external application from C#, but I'm acquainted with this program language.
I keep hearing a lot from MEP discipline. I'm not so much in MEP so it's hard to answer, but in general if you can achieve it manually then most likely you can automate it with Revit API. C# and Python have access to the same Revit API classes, so if you can make it in one of the languages, you should be able to do it in the other too.
Hi Erik, could your help me in this issue, when I used node String.PadLeft in Dynamo 2.18 with Revit 2024, it does not work or i used Python script with OUT ='{:0>3}'.format(i), it does not work either. Thank you so much!😥
@@ErikFrits I am appreciated for your replied, the Node of String.PadLeft still works for string such as "a,b,c.." but string as number like "123.." it does not work and Python Script with OUT ='{:0>5}'.format(i) it does not work as well, i attached my image issues here, thank you so much drive.google.com/drive/folders/1qQaJzICG2LI4iczDBwFtYpBPoOGZAGLf?usp=sharing
@@ErikFrits I am appreciated your reply, the Node of String.PadLeft still work for string like "abc.." but it does not work for string of number "123..", i attached my image issue here, thanks you so much drive.google.com/drive/folders/1qQaJzICG2LI4iczDBwFtYpBPoOGZAGLf?usp=sharing
Hi Erik, great video thanks for the effort, I just started watching this course and am not too expert in Revit, I am trying to find a way to change properties of a pre designed element in the model and don't known if this will be doable by Revit API.
Can you give me more context? What kind of property to what kind of 'pre-designed' elements? Do you want to change some parameter value or actual property?
@ErikFrits Hey Eric thank you again for your videos, I was watching your videos, and some of the other resources and took advantage of and chatgpt in the last few days so regarding my previous question I managed to handle that issue. It seems like it was a stupid question me, however I got a new challenge, and I would like to ask you if there is any source that I can go to it to understand the structural of the data inside the software, for example, I was trying to replace a structural asset by a new one for structural material assigned to an element inside the software and take me sometimes to understanding that I have to create a new PropertySetElement new asset has to be assigned for a PropertySetElement not directly to the material neither to the old PropertySetElement. Do you have any suggestions?
Hi Erik, one of the biggest reasons I want to learn Revit API is because I have a problem when creating walls with different heights of each layer in one wall family. In my country, Indonesia, most buildings have different wall layer heights. For example, a brick wall stands on the 1st floor slab to touch the bottom of the 2nd floor slab, but the height of the wall finishing (such as mortar and paint) is as high as the ceiling (not as high as the brick layer). So by using pyRevit, can we set the height of different wall layers in one family? Because as far as I know, Revit API does not directly support manipulating the height of each wall layer in one wall family. Thank you very much Erik! I really hope you can help me, because I have been experiencing this problem for 2 years.
You can't achieve things in Revit API which are not possible in Revit UI. But the workflow that you described is very common. We've modeled each wall layer as a separate wall to have more control over how they connect and how high they can go. Very similar to what you've described. I also know that people make scripts that take existing wall with layers and break it into multiple walls to represent each layer individually. Then you can actually control the height of your layers as you need. This kind of workflow is possible with Revit API! I might include such tool in EF-Tools one day, but right now most of my focus is on Revit API tutorials. I hope you give it a try with code. Happy Coding!
Could you please help us to create muti-dimline from get faces of elements (For example: Wall and FamilyInstance (Structure Framing) ) by using python REVIT API. Thank you so much.
I using Get Geometry(options) to have all planarfaces of family instance, but I don't know how to get the muti-parallel faces of elements so as to create DimLine (muti reference- and more segments). Thank you.
I will make Automate Dimensions lesson one day, but right now I'm way over my head with my to-do list. Thanks for making the suggestion. It certainly pushes the idea up the list
➡Access Full Lesson with Resources and Code Snippets Here:
learnrevitapi.com/free-lessons/1-01-revit-api-introduction
Your effort marvellous. Keep going
Thanks!
Stay tuned for more content!
Very well and good understandable explanation mate!
Glad it helped!
Happy Coding!
Great presentation!
I work a lot with linked files. So my biggest Revit API challenge would be accessing data from the linked files.
Thanks, glad glad you liked it!
When working with linked files accessing data is not an issue. Your Linked Project and Main project are 2 different doc (Document) instances.
So when you get values with FEC class for example, you just need to provide correct doc instance. (doc / doc_linked)
However, making changes in Linked Revit Projects is not really possible due to Revit API limitation. You would need to open them separately
Obrigado pelo conteúdo!
Happy to help!
Thank u so much Erik
Happy to help!
Hi Erik, Thanks for the Video you sound like a really good teacher and to be honest that is what im looking for in Revit.
I would like to make reinforcing ALOT more automated if that is something you can help with it would be HUGE value !
Happy to help!
I've never worked with reinforcements in Revit manually, so I'm not sure how to automate it.
Let me know more steps on how would you want to automate this task?
@@ErikFrits So Reinforcement is directly related to the forces acting on the foundations, columns, slabs or Beams.
If we could get a good range setup IE 1-50 51-100 and so on each range has a certain amount of reinforcement needed in the Structural Elements.
So for exa,ple we make a 1000 x 1000 x 400mm thick foundation Base and it has a 100 - 149 Kilo Newtons acting on it then our script would automatically detail the required amount of rebar in the base for that particular range.
Hope that helps explain it?
Hi Erik, great video. I am plumbing designer and I want to generate all plumbing calculations from revit, this is my challenge. Currently revit has a module for pressure network, but this uses a table of International Plumbing Code to convert the flow in the pipes, this table has some changes in the codes of every country and its necessary to adjust the flow. With pyrevit, can I change the way of revit to assign the flow in pipes? Other people said to me that I need to make a external application from C#, but I'm acquainted with this program language.
I keep hearing a lot from MEP discipline.
I'm not so much in MEP so it's hard to answer, but in general if you can achieve it manually then most likely you can automate it with Revit API.
C# and Python have access to the same Revit API classes, so if you can make it in one of the languages, you should be able to do it in the other too.
Hi Erik, could your help me in this issue, when I used node String.PadLeft in Dynamo 2.18 with Revit 2024, it does not work or i used Python script with OUT ='{:0>3}'.format(i), it does not work either. Thank you so much!😥
I havne't used Dynamo for a while, so not sure what is the node you mentioned.
Do you get any errors? Check the format syntax inside the curly braces
@@ErikFrits I am appreciated for your replied, the Node of String.PadLeft still works for string such as "a,b,c.." but string as number like "123.." it does not work and Python Script with OUT ='{:0>5}'.format(i)
it does not work as well, i attached my image issues here, thank you so much
drive.google.com/drive/folders/1qQaJzICG2LI4iczDBwFtYpBPoOGZAGLf?usp=sharing
@@ErikFrits I am appreciated your reply, the Node of String.PadLeft still work for string like "abc.." but it does not work for string of number "123..", i attached my image issue here, thanks you so much
drive.google.com/drive/folders/1qQaJzICG2LI4iczDBwFtYpBPoOGZAGLf?usp=sharing
Hi Erik, great video thanks for the effort, I just started watching this course and am not too expert in Revit, I am trying to find a way to change properties of a pre designed element in the model and don't known if this will be doable by Revit API.
Can you give me more context?
What kind of property to what kind of 'pre-designed' elements?
Do you want to change some parameter value or actual property?
@ErikFrits Hey Eric thank you again for your videos, I was watching your videos, and some of the other resources and took advantage of and chatgpt in the last few days so regarding my previous question I managed to handle that issue. It seems like it was a stupid question me, however I got a new challenge, and I would like to ask you if there is any source that I can go to it to understand the structural of the data inside the software, for example, I was trying to replace a structural asset by a new one for structural material assigned to an element inside the software and take me sometimes to understanding that I have to create a new PropertySetElement new asset has to be assigned for a PropertySetElement not directly to the material neither to the old PropertySetElement. Do you have any suggestions?
Hi Erik, one of the biggest reasons I want to learn Revit API is because I have a problem when creating walls with different heights of each layer in one wall family. In my country, Indonesia, most buildings have different wall layer heights. For example, a brick wall stands on the 1st floor slab to touch the bottom of the 2nd floor slab, but the height of the wall finishing (such as mortar and paint) is as high as the ceiling (not as high as the brick layer). So by using pyRevit, can we set the height of different wall layers in one family? Because as far as I know, Revit API does not directly support manipulating the height of each wall layer in one wall family.
Thank you very much Erik! I really hope you can help me, because I have been experiencing this problem for 2 years.
You can't achieve things in Revit API which are not possible in Revit UI.
But the workflow that you described is very common. We've modeled each wall layer as a separate wall to have more control over how they connect and how high they can go. Very similar to what you've described.
I also know that people make scripts that take existing wall with layers and break it into multiple walls to represent each layer individually. Then you can actually control the height of your layers as you need. This kind of workflow is possible with Revit API!
I might include such tool in EF-Tools one day, but right now most of my focus is on Revit API tutorials.
I hope you give it a try with code.
Happy Coding!
E book link seems broken
Works for me.
You can also try this instead: learnrevitapi.com/ebooks/beginners-guide-to-revit-api
Could you please help us to create muti-dimline from get faces of elements (For example: Wall and FamilyInstance (Structure Framing) ) by using python REVIT API.
Thank you so much.
I using Get Geometry(options) to have all planarfaces of family instance, but I don't know how to get the muti-parallel faces of elements so as to create DimLine (muti reference- and more segments).
Thank you.
I will make Automate Dimensions lesson one day, but right now I'm way over my head with my to-do list. Thanks for making the suggestion. It certainly pushes the idea up the list