Collect Elements in Rooms Across Linked Files, and Write Room Data Directly to Elements or List to Excel

Its a long-winded title, but its only one Dynamo node… Just added to the Bakery package, called Collect Elements in Rooms and Show Detailed List. Basically, it takes a list of Rooms and a list of Elements and then tells you which Rooms those Elements are in. It also works across linked files, so you can have a fixture model, link in the Architectural containing Rooms, and use those to do the comparison.

Once we have the Room that an element lives in (mostly thanks to Konrad’s work on Family.InRoom, which I have altered a little bit here), we can do lots of things. I used a Cycle and LaceShortest to get a 1:1 list of Room:Element. This makes it easier to do things with the resulting combined lists. Like, one of the outputs of the node is a detailed 6 index list, which can be directly exported to Excel. The list in Excel can then be filtered by Room. You can choose two parameters from Rooms, two from the Elements, and it also gives you the Element Ids of both:

I could have added headers to the list in Dynamo, but I didn’t do it for this first version (yet):

We can also take a parameter from a Room (like Room Name or Room Number) and then write it directly into a parameter in the Elements, like this:

This shows the Mark parameter populated with Room Name:

Or, we can take two parameters from linked Architectural rooms, and drive two Shared Parameters in every element in the current model. I ran the following node to set parameters for about 2500 elements in just a couple of minutes:

Or, we can use another Bakery node to do a wildcard search and collect elements from one Category across multiple links, and then check against these:

While this is a basic implementation at this stage (and no doubt there may be some hiccups), it demonstrates a powerful concept: to be able to take a mixture of linked Rooms and/or linked Elements and determine their relationship, then export that data or use it to instantly drive other parameters in Revit.

Goooo Dynamo!

5 1 vote
Article Rating
Subscribe
Notify of
guest

10 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Anonymous
Anonymous
8 years ago

It looks like "Collect Elements in Rooms and.." node has a custom node called "Element Ids" Do you know where I can fine that? Im pretty new to this.

Thanks

Luke Johnson
8 years ago
Reply to  Anonymous

That nodes is from archilab package, Archi-lab_Grimshaw.Element Properties

Jesse
Jesse
5 years ago
Reply to  Anonymous

It’s not in Archilab, it’s from Bakery

Jesse
Jesse
5 years ago
Reply to  Anonymous

Opps sorry, i read that wrong.

Yujian Liu
8 years ago

Hi,Luke.
My time has come to start with dynamo.
According to your ways to get why is an empty value?
Thnx for the help!

Luke Johnson
8 years ago
Reply to  Yujian Liu

Not sure, can you give some more information about what is going wrong?

Cyril CROUZIT
4 years ago

Hi everyone!

I’m trying to use”Collect Elements in Rooms and Show Detailed List” in order to get the name parameter from rooms from a linked model with no success.The entry seems to be ok, I only have a error message on “Element.SetParameterByName”; it says: “Avertissement:Element.SetParameterByName attend le ou les types d’argument (Element, string, var), mais a été appelé avec (Function, string[], Function).”

I’m using Revit french language pack, could it be the problem?

Do you know how can I fix it?

Mike
Mike
4 years ago

Hey, is anyone still using this, I’m having lots of trouble getting it running. Interested to know if people are using current versions of Bakery and ArchiLab, or if I need to rever to older versions?

R. Str
R. Str
1 year ago

Hi Luke,
I feel like im late to the party. This set of nodes is great and I have got it working for the components within my project. We are using it to set COBie parameters in our linked files. However I have one issue. I cannot get the room parameter information from the linked model to populate room parameters in the host model. Is this because the script uses the ‘From room’ and ‘to room’ functionality?

Id love to hear if you have any workarounds for this or have developed your package in the meantime to address this.

Thanks