Hello to you all. This issue is disturbing me for a while. Is there or node or a way to connect rebars and its host element?
For example, if you have reinforced wall, that your node or script can give you all rebars in that wall.
Of course my goal would be to have that information for every structural element in project.
Please show some of your effort. Thanks.
One of the main goals of the Dynamo community is to help others. One way to do that is by answering your questions. But to get the right answer, you’ll first have to ask your question in the right way. Although people are generally very helpful, there are things you can do to improve your chances of getting good and quick answers. Below you will find some suggestions on how to achieve that. Do not think of these suggestions as rules and especially do not take them as a guarantee of getting an an…
You can start with this:
Select the elements.
Collect the Structural Rebars.
Iterate trough the selected elements and get the Id.
Iterate trough the Structural Rebars and get the Host Id:
Compare the matching ids and get the corresponding element.
Thanks a lot.
As I am a noob in Dynamo i was not aware that Get Host ID element exists.
As soon as i make something i will upload.
Thank a lot again!!
@BIM_Croatia, take a look at BIM4Struc.Rebar package by @Dieter_Vermeulen ( https://revitbeyondbim.wordpress.com/) . This package has a special node for quering the host element (Rebar.GetHost), and other pretty handy nodes for reinforcement.
Hello, finally I’ve managed to find some time for Dynamo. My idea is to calculate amount of rebar per element (kg/m3).
What is my Problem is that I do not know how to sort list by Group key so that indices match ones in list of unique items.
Or better to say, how to discover which rebars are in which element.
Do you guys have any ideas?
@BIM_Croatia Why not get the parmameter “Estimated Reinforcement Volume” with Element.GetParameterValueByName and multiply it with the density of steel? Maybe use the node from the MEPover package to ensure you get the correct units. You could set that up in a schedule in Revit without using Dynamo as well.
OK. I can do that and simplify upper part of my script.
I’ve (read Dynamo) actually managed to connect elements and host through list. But at the Moment i have another Problem.
How to get host from Structural Fabric Reinforcement Category, or even Better Structural Fabric Area???
I’ve managed to do it by creating, and then intersecting geometry.
Still not finished, but closer to the Goal.
Hello again, here is a python script for you:
#Einar Raknes 2017
# Import List ( ICollection(ElementId) = List[ElementId]() )
from System.Collections.Generic import List
# Import Revit API
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import *
from Autodesk.Revit.UI import *
# Import ToDSType(bool) extension method
# Import DocumentManager and TransactionManager
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
element = UnwrapElement(IN)
OUT = doc.GetElement(element.HostId)
@Einar_Raknes I also wanted to calculate rebar kg/m3 per element. I was wondering if the “Estimated Reinforcement Volume” is accurate when rebar extends beyond the limits of the host? (as the value is given per rebar host)
November 28, 2022, 12:16pm
Hi, did you make it work? I also need to calculate amount of rebar per element.
We use Sofistik to reinforcing so i can use some parameters from that.