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.