Node GetSurroundingElements


Im looking for some infos on the Steam node : GetSurroundingElements.

Im trying to input a room parameter to rooms that are included into an area. So i want to select the rooms that are Inside each area but I don’t really understand how the node is working. Does it select the room and area object by their reference point, boundaries or? I manage to have the scripte working but the result are wrong, it ‘catches’ also rooms that are not included even while setting a really small value for the tolerance. Is there anyone who can give me a hint ?



You could try reversing it and using it to parse through which ‘Area’ owns each room - then simply flip it after the fact.

The node effectively creates ‘bounding boxes’ and queries objects of a certain category to whether or not they reside within said bounding box.

You could also try an tolerence of 0 (for none), or a negative value.

It gets elements outside Area when that Area is not rectangular. I think this definition I made does exactly what you want. I use it to write the area name to a parameter in the rooms inside that area.

Definir unidade dos rooms04

At this point it only works for a level at a time. which is defined int the code block on the bottom left. I think it needs to be optimized but is working.


Gustavo Mello

Thanks for your answers.
I will give it a try


Hey Gustavo, I tried your definition on my project and I encountered some issues…I also tried on a smaller test project but i have the same result.
The script is working and seems to do the job but the information is passed on the wrong room…it is like some area “collecting” all the rooms… In the picture attached i just modify your définitions to copy the “Number” parameter of the areas into the “Department” parameter of the rooms. You can see the result! Do you have any idea why this is happening? Did encounted the same issue ?

Till, I could not see your definition because it’s too big for the resolution of the image. I’ve changed lacing options in some nodes, but I think you’ve used my definition and not built a new one (right?), so this should not be the problem. For me the definition works well. I had some difficulties in the beginning because my rooms are inside groups so i had to create a parameter with “values can vary by instance” checked where i put the area name. If you are using groups too (doesn’t look like you are) you will need a parameter set this way. Are you using Dynamo

Hey Gustavo,

I used your definition and just changed the parameters name of which data to take and which data to input in the rooms. The script reads correctly the information and input it properly as well, it just seems to be a problem with the collection of the element… its like one “area” overlap the other eventough it is not the case.

Im using Dynamo, it is quite hard for me to update since i need to ask the administrator system of my company etc…Do you think that could be the issue ? Would it make a difference if I rebuilt your definition from scratch ?

I don’t know about the version issue. Sometimes the nodes change the behavior between versions, but I don’t know if it’s the case now. I will build a small project similar to yours and see what happens.

Hi Till, made a test with a small project and it worked as expected.

The image below is the area plan color coded by area number:

This one by the shared parameter (assigned to rooms) I use in my process:

And this one by department (i wrote the area number to rooms department):

I’m using Clockwork 0.75.45 and Lunchbox 2015.8.17, which aren’t the latest versions. Which versions are you using?

Hey Gustavo,

Thanks a lot for your time.
Could you send me your test project rvt file and definition? I just want to see if i am getting the same results if am using exactly the same file and dynamo script. In that case it would mean that the issue would be in the versioning!

I am using Clockwork 1.0 and Lunchbox 2015.11.28 with Revit 2016 Build :16.0.1124.0 - 20160314_0715(x64)
Update4 for R2

Definir unidade dos rooms04.dyn (32.6 KB)
teste_area to rooms.rvt (1.1 MB)

This are the files i used in the test. I’m having some issues with Revit in the last days that I think are related to some Windows update. I don’t think is related to how the definition works but i had to close and reopen the definition after i modified some parameters to make the test. Dynamo doesn´t run 2 times int one session! Need to check this.

I’ll update Clockwork and Lunchbox to see if the definition still works.

I just tested it and i got the same result, the parameter are being copied but not in the correct rooms, again its like one area is overriding the others…

Let me know if you have the same result when update clockwork and lunchbox. I will try to completely rebuild the definition and see if there is a difference

Updated and still works. But I didn’t find clockwork 1.0, updated to 0.90.7. LunchBox 2016.5.3. Where did you find clockwork 1.0?

Had to change the node Curves.EndPoint to Curve.EndPoint, don’t know why since it’s a default node. I didn’t updated Revit to R2 too, maybe there is something in there. I’ll look for the update when i get some time and test it.

Could you send me your files?

Thanks for your time.

Here is my test file : Project1 area room test.rvt (1.2 MB)

My bad about clockwork im also using 0.9. I will update to the exact same version than you and see what is hapenning.