Floor.GetRoom | Get the room a floor is located within

Hi :slight_smile:
I wish to get some data from my floors and write it to the rooms in which they are located. I thought this would be easy, but I run into way more problems than I thought. These are my approaches:

Version 1: Room Boundaries does not list any of the floors (in this project)

Version 2: EndPoints of random boundarycurve finds just some rooms, but not all.

Version 3: I wish to take the midpoint of the surface. This finds way more rooms, but the midpoint of some hallways isn’t correct. I always use the “Room.IsInsideRoom”-Node to check if the point is within the Room Boundaries.

Version 4: Using Surface.PointAtParameter which spits out Points which aren’t on the surface, as well :frowning:

Is there a way to get the corresponding Room to a floor with high precision and low calculation? I thought about creating random points on these surfaces and check if they are intersecting with the room surfaces and then check with these points.

I attached my quite chaotic testfile :wink:
Floor.GetRoom.dyn (74.1 KB)