Scheduling of windows and doors by MEP spaces

Hi guys,

Right now within a MEP revit model, I’m trying to schedule windows and doors sorted by the MEP spaces where these elements are located.

The approach that I followed was to convert the spaces in solid geometry and afterwards by using the node “Geometry.DoesIntersect” find the windows and doors that intersect each space. But of course I got a list with only false values because spaces just represents the internal volume of rooms and windows and doors are placed outside from them.

Do you have any recommendations for this approach?




Have a nice weekend,

Best regards,






I managed to make the intersection betweeen spaces and windows as you can see in my screenshot below.



However I’m facing other issue due to this workflow. Right now by finding the intersection between windows and spaces with this method, I’m creating cuboides associated to the windows families within the revit model and I would like to avoid that. How could I get rid of them and being able to find the intersection with the spaces at the same time?




Best regards,

Alejandro Mata

In the Rythem Package is a Element.Space node. That might help you.

Hi Bjorn,

Thanks for your help.

But unfortunately I can’t use it because windows will be always placed out of spaces and therefore I will get a list filled with only null values.

Best regards,

Alejandro Mata

Hi Alejandro,

Maybe that’s already what you’re doing but you can get the bounding box directly from the windows elements

Hello Alejandro, Maybe you could try the Tool.GetSurroundingElements from the steamnode package. Or try the script in the following printscreen.


The problem is that the Space geometry doesn’t intersect the Window geometry?

On the Space geometry, consider using Solid.ThinShell with a suitable external face thickness and then check for intersection with Window geometry.

Hi everyone,

Thanks a lot for all your suggestions and help. I really appreciate it.

Actually what I was looking for is exactly what Vincent proposed. It worked really well :slight_smile:

I didn’t know that you could make intersection of elements by using the “BoundixBox.Intersects” node and not by creating a new geometry and finding afterwards the intersection between elements. It can be seen that this workflow is much more efficient because you don’t overload the model with geometry that you don’t really need.

Best regards,

Alejandro Mata





I’m trying to do the same but in my case Spaces are from linked models can anyone help out to solve because I cannot get Element.Geometry for Spaces.