Write room number to curtain wall

Hi guys
I am trying to write a room number to curtain walls and then to curtain panels. I filter all curtain wall and find intersection geometry. So far so good, but i got stuck on list filter. I need to extract index of solid’s in geometry intersect list, like this:
Wall on index 0 and 4 - room n. A1.01
Wall on index 1 - room n. A1.02 and so on.

thanks for help

1 Like

Hi @Mo_Ody,

Can you share your Revit File and the Dynamo Graph?
I believe it would be easy for me to pick it up from there.


Hi @AmolShah
of course here it is. I made quite a progress. By I think dynamo script need optimization.
CW room number test.rvt (412 KB) curtain panels - Room number_3.dyn (60.1 KB)

Clockwork/ archilab has a node which gets all the bounding elements of a room. This would be easier/quicker than checking for intersection. You can then use isCurtainWall (Springs package from memory) to filter our the results to return only the curtain walls. Rhythm will then give you the curtain panels

I have already tried elements in room but it’s use only families in room. I need curtain walls and curtain panels.
Also i tried Get surrounding elements by Steam Nodes but it use a bounding box method which causes problems.

I didn’t say elements in a room. ‘Room.Boundaries’ returns the bounding elements of a room.

Yes, but i need only curtain walls inside of room which don’t bounding the rooms. I made quite a progress. Here is a script.curtain panels - Room number_3.dyn (70.5 KB)

Can you share what is the name of the component??

  1. get the room boundary by clockwork room.boundry
  2. get the location curve of curtain panel, pull them on room’s level
    compare the distance between 1 & 2, (geometry.distanceto or Geometry.IndexByDistance from spring) if they are closed
    if distance is close, means the cutain panel is next to that room

How about using the FacingOrientation from the center node the panel and reversing it then using the Point is in room node?