I am using Dynamo for almost 2 years and why i didnt found you man. I saw you on linkedIn and then followed you here on TH-cam and subscribed your Channel. This is your first vedio that i watched and i am so excited to find time and watch your other vedios. The way you explain in such detail and easily is really really appreciable man. Keep it up and make us impress more and more. You deserve 10 on 10 Aussie BIM guru
Great Video as always Gavin! We are using it for Windows, Doors, Ducts and Cable tray currently. Super valuable script and really handy as you can control everything in schedules as well after initially cutting the openings! Cheers!
Glad to hear the script has been put to good use! I expected windows would be handy, I noticed openings and shafts are pretty limited in terms of what they can have contained in their data. Enjoy!
Great vedio! We are initially providing the openings to the structural model and copy that opening to arch model, so can you please upload the vedio regarding wall openings from linked structural model to architectural model.
Hi Gavin. Nice script. it works with me but i put some modifying to work with a linked mep file and everything is fine only if i select a single wall but when i change the selection to select all walls in a level for example, it creates all the openings in one wall only. i hope you can help
Yes unfortunately to do many walls > many openings in each it would require a lot more work and list level management to achieve this. You'd need to begin working at levels from the moment that you check wall rotations and also split out your elements by wall, probably using intersections to filter them down.
A lot of list management, as well as a fair bit of waiting time! You'd need to collect all walls with structural opening elements from the architectural model, then collect their equivalent structural wall. From here it would be like my workflow, but working at sublists of openings per wall, to create sublists of new openings in the live walls.
Really Good And Useful Script. Wanted to know if you can achieve this, when the host element in the linked Model is a linked Model as well, or in a case where the linked element is orphaned or not associated? (the linked element used is a Generic model face based family) Thanks
Unfortunately you can typically only cut live openings from live elements to my understanding. You can face host elements however, but not sure how useful this would be given doors, windows, openings etc tend to be opening based.
Great script!!! I’m new in the Dynamo business and I’m trying to do something like this script, but with curtain walls. So, I can’t place de wall opening family on the curtain walls, cutting grid lines. Is there any way of make the voids editing the walls profiles?
Unfortunately post editing of wall sketches isn't easily possible. You can technically create new walls with a profile as part of this step using Python - check out my recent video on walls following topography for reference. Curtain walls are fiendishly complex in Dynamo, especially when it comes to introducing grids and swapping specific panels. I'd suggest taking it slow given you're new and working your way through simpler tasks to begin with. Give this article I wrote a read as well - some fundamental tips for learning Dynamo: www.bimguru.com.au/post/dynamo-mistakes-to-avoid
Hi Aussie BIM Guru I just want to inquire how about if we have 2 or 3 types of window size? I did copy your very helpful script and it works but in my case I need to extract the other size as well in one click as your script then.
This would involve further list management and levels to work with a many on many relationship. Most of my scripts focus on one on many with assumption people can adjust/expand the workflow to suit.
Another very useful workflow. Just out of curiosity have you ever considered doing a tutorial on purely Revit formulas? Ive noticed there's not a lot of thorough clear explanations on this topic more bits and bobs I've seen. Not a request just curiosity
Hi Gavin, Thanks for another inspiring tutorial! Is that possible to get one type of Floors by name (like Tiles) from Arch model, then put a cut void instead on concrete slab (for shower setdowns)? Thanks
Unfortunately it isn't possible to cut holes out of floors internally due to Revit API limitations. Assuming your floors are in the same model as the architectural floors you can join them and turn them off to void the floors though. If it's in a separate model the only way to cut floors internally is using floor/face based openings for now unfortunately, then creating a second floor within the opening. The springs package has nodes for creating openings by face.
@@AussieBIMGuru Now I'm using a parametric floor based openings family to cut the slab (because of different shape) , but It's a bit time consuming. I'll try the springs node. Thanks mate.
Unfortunately I'm not that familiar with Sofistik and rebar. I would look for presentations on Autodesk University such as this one; www.autodesk.com/autodesk-university/class/Dynamoite-Your-Rebar-Design-2016 For some reason most resources I can find are from around 2016 - seems like rebar was all the rage then!
Is there any possibily to recreate (place) the exact positions of windows and doors in a wall that is placed paralel to the wall where the instances are drawn already ?
Yes if you pick one wall and the other as inputs, take all hosted elements from one wall and their location, find closest point on the other wall surface from those points and place the same window type at that new point. Tldr: yes
Hi Gavin. Nice script. i have a question: What if in ARC linked model e.g. a Door has been changed in position or dimention? This will be reflected in STR model?
In this case I'd suggest adding the Id of the original generating element from the model. The script could be updated to also check if a matching Id exists first in the structural openings, then update those instead by moving them rather than making another one.
The workflow is quite different given you're relying on intersections, but it would generally be like this (except using linked elements): th-cam.com/video/o77lLfyQm30/w-d-xo.html Springnodes has a node which can select linked elements specifically which helps there.
I would check out this article and videos here; www.revitexperiments.com/post/2018/02/22/automatic-dimensions-from-columns-to-grids Usually dimensioning workflows require python scripting or dedicated custom nodes - quite tricky. Hope this helps!
Not quite sure what you mean by flash report- do you mean a schedule? This workflow relies on the location and size of opening so you would need at least the XYZ location and width/height
@@xiaomi9865 ah yes if you had clashes with walls you could place openings at the clash point to the wall by using its Id number. You would need to convert navis to dynamo coordinates, similarly to my dynamo navisworks clash video.
Possibly, but challenging. Youd need to take the closest point to the geometry of nearby walls and check which had shortest distance to retrieve the wall that was closest.
One Question regarding this script, i guess it will not take any associated level while creating opening so can you suggest me how to add that part in script...
Get the level of the door/window and then from that you can get the live level, either by name or by using a manual list of live/link level names for indexing.
Love the videos man!! I am pretty new to dynamo, and you have helped me so much to get into it! Quick question for you or anyone who can help, the set parameters by name node is being goofy for me. It'll work in revit file fine, but not another. My family gets placed, but with the default parameters, any fixes to this?
@AussieBIMGuru not sure what's causing it, but it's only in from one file that I've tested out that does this. Every other file seems to be fine so far, i checked and do have the get parameter node set to longest lacing. And all the parameters are collected im the lists before setting. Just wont set the correct width in that file🤷♂️
My best guess is the width might cause an error so it gets skipped or something is constraining it. Unless dynamo returns an error its likely something revit side.
@AussieBIMGuru Yeah, no errors, just one arch model i linked in won't work. But i agree, i think it's a revit issue with certain family types. I appreciate the replies! I am the only one in my company willing to jump into dynamo, and your videos have been so helpful! Thank you!
A really useful script, thank you! Is there a way to adapt this script to deal with elements in linked models that don't create openings all the way through the live model elements? For example, if we had structural beams or columns in the linked model that are partially (or wholly) embedded within architectural walls or floors in the live model it would be useful to have voids cut into the wall elements to accommodate the structure.
In this instance I would suggest splitting the walls as this is a better representation of the built condition. A similar-ish logic could be used however if you used geometry intersections and bounding box analysis'. Quite complex I would say versus modelling as intended.
so you haven't another solution for this problem. also i'm loking for a script how could i change the level reference of a slab, wall, column , windows, thanks a lot for your answerning , best regards
A level reference can typically be set using element.setparameterbyname. The solution for your archilab node is either using select model element or finding another custom package with revit link instances. I have one in Crumple.
Hello, I subscribed and always watch your videos, just one thing I wonder, how can I download or get your dynamo script in github? I think there is any button for download.
Hey I have been working on a script to redraw linked architectural walls. I can send you the script I have got it to redraw all the walls but it does it at one level I need to have them drawn in accordance to the level was trying to have it filter out by Z.
I believe the missing step is to; 1. Find the match between level names 2. Get the following parameters; - Base level name - Top level name - Base level offset - Top level offset 3. Match the level names from linked to native 4. Create walls at the same locations 5. Set the wall's parameters to those taken/matched from the linked model This should work I think, see how you go.
You'll need to apply the link transform as a new coordinate system. I have a node for that in Crumple, and then you can use the ootb translate from coordinate system to coordinate system node on the geometry.
Hi Gavin, I am currently working on a project and we need to do this in somewhat of a reverse. We are the electrical contractor so we want to place a void penetration family at each instance of the cable tray intersecting the walls from the linked structural/architectural model. Is this possible?
Yes and no. You can obtain linked elements in dynamo instead and still use a similar method (using Bimorph nodes), however cutting linked elements is not possible i think so a loose family is better to communicate with your engineer where they need to add penetrations in the structural model. Usually best practice anyway as penos can often comprimise reinforcement integrity of a wall if not reviewed by the structural engineer.
@@AussieBIMGuru Thank you for the quick reply! Yes that is the way we will be doing it we have a place holder family (its just a box that we can edit LxWxH) that we want to place at the intersections. Would you have a script to do it?
@@bobbyfarrell2906 no i just have this one unfortunately. It would work quite similarly except you'd place the family at the same point then set its rotation to the walls. There should be nodes out of the box for those 2 steps.
Dear Brother, I am looking for short path to cut wall by linked model, and did some dynamo work already, but I can not finish it and stop at pink block (refer to my screen capture which I send it to your E-mail), would you like to help me to solve it?
Unfortunately the final node in that script is Python so i cannot see how it works. I will need the script and your testing model to see why it might not be working.
Saw this on linkedIn a bit back- you are cracked my dude. Absolutely cracked.
Haha that's a new one! Glad you liked it.
I am using Dynamo for almost 2 years and why i didnt found you man. I saw you on linkedIn and then followed you here on TH-cam and subscribed your Channel. This is your first vedio that i watched and i am so excited to find time and watch your other vedios. The way you explain in such detail and easily is really really appreciable man. Keep it up and make us impress more and more. You deserve 10 on 10 Aussie BIM guru
Thanks for the kind words, glad to provide some more learning content! Lots of dynamo videos here, enjoy :)
Emailed you a question regarding this, great tutorial!
Replied, and thanks!
Great Video as always Gavin! We are using it for Windows, Doors, Ducts and Cable tray currently. Super valuable script and really handy as you can control everything in schedules as well after initially cutting the openings!
Cheers!
Glad to hear the script has been put to good use! I expected windows would be handy, I noticed openings and shafts are pretty limited in terms of what they can have contained in their data. Enjoy!
you are such an amazing instructor, I wish we work together one day
Best Luck
Thanks!
Great vedio! We are initially providing the openings to the structural model and copy that opening to arch model, so can you please upload the vedio regarding wall openings from linked structural model to architectural model.
In this case the workflow would be nearly identical but you would run this within the architecture model and collect structural openings instead.
I want to be as cool as Gavin!
Haha I'm not that cool :P
But thanks anyway!
Hi Gavin. Nice script. it works with me but i put some modifying to work with a linked mep file and everything is fine only if i select a single wall but when i change the selection to select all walls in a level for example, it creates all the openings in one wall only. i hope you can help
Yes unfortunately to do many walls > many openings in each it would require a lot more work and list level management to achieve this. You'd need to begin working at levels from the moment that you check wall rotations and also split out your elements by wall, probably using intersections to filter them down.
Great script and video. Very thorough explanation. How would we modify the script to do the whole arch model instead of individual wall instances?
A lot of list management, as well as a fair bit of waiting time!
You'd need to collect all walls with structural opening elements from the architectural model, then collect their equivalent structural wall. From here it would be like my workflow, but working at sublists of openings per wall, to create sublists of new openings in the live walls.
Really Good And Useful Script.
Wanted to know if you can achieve this, when the host element in the linked Model is a linked Model as well, or in a case where the linked element is orphaned or not associated?
(the linked element used is a Generic model face based family)
Thanks
Unfortunately you can typically only cut live openings from live elements to my understanding. You can face host elements however, but not sure how useful this would be given doors, windows, openings etc tend to be opening based.
In my case I did a script for extract link wall from the model. At that point, you can have two scripts: 1 extract wall, 2: place family.
Perfect! Thank you.
You're welcome!
Great script!!! I’m new in the Dynamo business and I’m trying to do something like this script, but with curtain walls. So, I can’t place de wall opening family on the curtain walls, cutting grid lines. Is there any way of make the voids editing the walls profiles?
Unfortunately post editing of wall sketches isn't easily possible. You can technically create new walls with a profile as part of this step using Python - check out my recent video on walls following topography for reference. Curtain walls are fiendishly complex in Dynamo, especially when it comes to introducing grids and swapping specific panels. I'd suggest taking it slow given you're new and working your way through simpler tasks to begin with. Give this article I wrote a read as well - some fundamental tips for learning Dynamo: www.bimguru.com.au/post/dynamo-mistakes-to-avoid
@@AussieBIMGuru OK, thanks! I will check the following topography video
great video! would you be able to do similar example for beam openings?
This is probably the closest video i have to that (i dont make new videos at the moment unfortunately):
th-cam.com/video/o77lLfyQm30/w-d-xo.html
Hi Aussie BIM Guru I just want to inquire how about if we have 2 or 3 types of window size? I did copy your very helpful script and it works but in my case I need to extract the other size as well in one click as your script then.
This would involve further list management and levels to work with a many on many relationship. Most of my scripts focus on one on many with assumption people can adjust/expand the workflow to suit.
Another very useful workflow.
Just out of curiosity have you ever considered doing a tutorial on purely Revit formulas?
Ive noticed there's not a lot of thorough clear explanations on this topic more bits and bobs I've seen. Not a request just curiosity
I have and I shall :)
Mid to late december, good request!
@@AussieBIMGuru Dynamite!
Hi Gavin, Thanks for another inspiring tutorial! Is that possible to get one type of Floors by name (like Tiles) from Arch model, then put a cut void instead on concrete slab (for shower setdowns)? Thanks
Unfortunately it isn't possible to cut holes out of floors internally due to Revit API limitations. Assuming your floors are in the same model as the architectural floors you can join them and turn them off to void the floors though.
If it's in a separate model the only way to cut floors internally is using floor/face based openings for now unfortunately, then creating a second floor within the opening. The springs package has nodes for creating openings by face.
@@AussieBIMGuru Now I'm using a parametric floor based openings family to cut the slab (because of different shape) , but It's a bit time consuming. I'll try the springs node. Thanks mate.
Hi Gavin. Nice script. i have a question: I want detail rebar 2D with Dynamo(like sofistik)
Unfortunately I'm not that familiar with Sofistik and rebar. I would look for presentations on Autodesk University such as this one;
www.autodesk.com/autodesk-university/class/Dynamoite-Your-Rebar-Design-2016
For some reason most resources I can find are from around 2016 - seems like rebar was all the rage then!
Is there any possibily to recreate (place) the exact positions of windows and doors in a wall that is placed paralel to the wall where the instances are drawn already ?
Yes if you pick one wall and the other as inputs, take all hosted elements from one wall and their location, find closest point on the other wall surface from those points and place the same window type at that new point.
Tldr: yes
is it work with the opening as a generic model, I have MEP opening (generic model)?
It could work with this also, but the parameter names and origin point for placement may vary.
awesome
Thanks!
Hi Gavin. Nice script. i have a question: What if in ARC linked model e.g. a Door has been changed in position or dimention? This will be reflected in STR model?
In this case I'd suggest adding the Id of the original generating element from the model. The script could be updated to also check if a matching Id exists first in the structural openings, then update those instead by moving them rather than making another one.
Hi BIM guru your videos are always awesome, is it possible to make the same dynamo program for mep opening in structure model?
The workflow is quite different given you're relying on intersections, but it would generally be like this (except using linked elements):
th-cam.com/video/o77lLfyQm30/w-d-xo.html
Springnodes has a node which can select linked elements specifically which helps there.
@@AussieBIMGuru thanks Gavin I'll try this.
can you please show me how to create automatic column dimension by dynamo
I would check out this article and videos here; www.revitexperiments.com/post/2018/02/22/automatic-dimensions-from-columns-to-grids
Usually dimensioning workflows require python scripting or dedicated custom nodes - quite tricky.
Hope this helps!
Hello BIM GURU
Can I use this similar way for extracting linked structural coloumns to floor finish?
Do you mean cutting holes in the floor under columns? Unfortunately Revit API doesn't support holes in floor sketches, only hosted floor openings.
Yes. I try something about column extract. I can share my script by mail next week. Thanks.
Could I get the opening family?
I faced some issues with mine
They are on my github under the Revit repository.
i was looking for it too
Super. Would like to check what if we want to create the opening according to revit flash report?
Not quite sure what you mean by flash report- do you mean a schedule? This workflow relies on the location and size of opening so you would need at least the XYZ location and width/height
Sorry, typo error, clash report
@@xiaomi9865 ah yes if you had clashes with walls you could place openings at the clash point to the wall by using its Id number. You would need to convert navis to dynamo coordinates, similarly to my dynamo navisworks clash video.
Is it possible to do this for multiple walls at once? How can I get walls that are just near each other and sort lists in that order?
Possibly, but challenging. Youd need to take the closest point to the geometry of nearby walls and check which had shortest distance to retrieve the wall that was closest.
One Question regarding this script, i guess it will not take any associated level while creating opening so can you suggest me how to add that part in script...
Get the level of the door/window and then from that you can get the live level, either by name or by using a manual list of live/link level names for indexing.
Love the videos man!! I am pretty new to dynamo, and you have helped me so much to get into it! Quick question for you or anyone who can help, the set parameters by name node is being goofy for me. It'll work in revit file fine, but not another. My family gets placed, but with the default parameters, any fixes to this?
Hrm strange, not familiar with this happening myself. Maybe cross check the lacing is longest and all elements are being updated?
@AussieBIMGuru not sure what's causing it, but it's only in from one file that I've tested out that does this. Every other file seems to be fine so far, i checked and do have the get parameter node set to longest lacing. And all the parameters are collected im the lists before setting. Just wont set the correct width in that file🤷♂️
My best guess is the width might cause an error so it gets skipped or something is constraining it. Unless dynamo returns an error its likely something revit side.
@AussieBIMGuru Yeah, no errors, just one arch model i linked in won't work. But i agree, i think it's a revit issue with certain family types. I appreciate the replies! I am the only one in my company willing to jump into dynamo, and your videos have been so helpful! Thank you!
A really useful script, thank you! Is there a way to adapt this script to deal with elements in linked models that don't create openings all the way through the live model elements? For example, if we had structural beams or columns in the linked model that are partially (or wholly) embedded within architectural walls or floors in the live model it would be useful to have voids cut into the wall elements to accommodate the structure.
In this instance I would suggest splitting the walls as this is a better representation of the built condition. A similar-ish logic could be used however if you used geometry intersections and bounding box analysis'. Quite complex I would say versus modelling as intended.
so you haven't another solution for this problem.
also i'm loking for a script how could i change the level reference of a slab, wall, column , windows,
thanks a lot for your answerning ,
best regards
A level reference can typically be set using element.setparameterbyname.
The solution for your archilab node is either using select model element or finding another custom package with revit link instances. I have one in Crumple.
Hello, I subscribed and always watch your videos, just one thing I wonder, how can I download or get your dynamo script in github? I think there is any button for download.
There's a few ways to do it, this video covers them fairly well;
th-cam.com/video/lWvwxQnBWqE/w-d-xo.html
@@AussieBIMGuru Thank you!
I am new to a dynamo. I want to ask, why select.getdocument in mine no output at all? so the dictionary is empty, what should I do? Thanks
Typically this would only be caused if you have no documents linked into the current document.
@@AussieBIMGuru do you have any references video or website for me to learn about it first?
@@vreslisawatisagala6660 yes I have a course for beginners here:
courses.bimguru.education/courses/course-dynamo-4revit
Hey I have been working on a script to redraw linked architectural walls. I can send you the script I have got it to redraw all the walls but it does it at one level I need to have them drawn in accordance to the level was trying to have it filter out by Z.
I believe the missing step is to;
1. Find the match between level names
2. Get the following parameters;
- Base level name
- Top level name
- Base level offset
- Top level offset
3. Match the level names from linked to native
4. Create walls at the same locations
5. Set the wall's parameters to those taken/matched from the linked model
This should work I think, see how you go.
how could i solve this problem ? thanks a lot, sincerely
What problem specifically?
I can't download the Spring Node node
How can i do?
It is in the package manager, and can also be manually downloaded from the package manager website as well.
@@AussieBIMGuru thx
In my case the points of the openings are in a different coordinatesystem. So the points are not located in the revit coordinatesystem
What can i do here?
You'll need to apply the link transform as a new coordinate system. I have a node for that in Crumple, and then you can use the ootb translate from coordinate system to coordinate system node on the geometry.
thanks , i can see the lines script but i want file *.dyn to run it in dynamo
Either copy it to a txt file as dyn or dowbload the code from the repo one level higher.
Hi sir where i can get the script please explain me
github.com/aussieBIMguru/Dynamo_Scripts
Hi Gavin, I am currently working on a project and we need to do this in somewhat of a reverse. We are the electrical contractor so we want to place a void penetration family at each instance of the cable tray intersecting the walls from the linked structural/architectural model. Is this possible?
Yes and no. You can obtain linked elements in dynamo instead and still use a similar method (using Bimorph nodes), however cutting linked elements is not possible i think so a loose family is better to communicate with your engineer where they need to add penetrations in the structural model. Usually best practice anyway as penos can often comprimise reinforcement integrity of a wall if not reviewed by the structural engineer.
@@AussieBIMGuru Thank you for the quick reply! Yes that is the way we will be doing it we have a place holder family (its just a box that we can edit LxWxH) that we want to place at the intersections. Would you have a script to do it?
@@bobbyfarrell2906 no i just have this one unfortunately. It would work quite similarly except you'd place the family at the same point then set its rotation to the walls. There should be nodes out of the box for those 2 steps.
Hello @Bobby Farrell
Did you find a solution for your Workflow? Could you explain me how you did the expansion of the existing File?
A really useful script, could i got it ? Could i get the lien for you GITHUB please :)
This script can be found on my github.
github.com/aussieBIMguru/Dynamo_Scripts/blob/master/ABG_201102_DynamoWallOpenings.dyn
Dear Brother, I am looking for short path to cut wall by linked model, and did some dynamo work already, but I can not finish it and stop at pink block (refer to my screen capture which I send it to your E-mail), would you like to help me to solve it?
Unfortunately the final node in that script is Python so i cannot see how it works. I will need the script and your testing model to see why it might not be working.
is your Dynamo file for wall opening free ?
Yes.
github.com/aussieBIMguru/Dynamo_Scripts/blob/master/ABG_201102_DynamoWallOpenings.dyn