Rooms Data To Ceilings

Hi all,

i need to import room names and numbers to 2 text parameters that i created for ceilings, but when it’s applied, the order is not correct and rooms and numbers dont match with the ceiling that is in that room. any idea how to fix it?

thanks

Hello Arsham - try the approach below!

A few notes:

  1. Run this in Manual mode - otherwise you will create an infinite loop which is never a fun thing to do :slight_smile:
  2. It depends on how you build your model, so I’ve built in an edge case that will raise the location point of a Room upwards to avoid any potential other floor used as a finish floor.
  3. All rooms that do not find a ceiling will populate the same parameter fields with None

ArshamMo_RoomDataToCeilings.dyn (55.2 KB)

Hi @solamour

thank you for your time, it still doesnt work, attached you can see all the errors

Hello Arsham - It looks like you are trying to pull Structural Members instead of Rooms. Can you look to the left hand side of the graph and see if the Category node is still saying Room?

:slight_smile: it’s room
can i use element.getlocation+?

Very strange! In theory the nodes preceding that should simply be getting every single Room from your Revit Project.

Is it possible for you to upload a .RVT file here so I can test on your file? (Or if sensitive, create a quick mock-up that shows the same errors?)

my revit file is on bim360 and around 1gb, and also office copyrights …

1 Like

@solamour
so i replaced getlocation with getlocation+ and it works but at the end i get this error for all of the setparameter nodesUntitled

It’s a little difficult to figure out without seeing the data coming through :slight_smile: Can you then pin the preview bubbles and post an image of what is happening here? We can try this way too! Just a little more back-and-forth.

Rooms only ever have an insertion point, so this isn’t the issue. Other elements, such as Structural Framing don’t have an insertion point, but rather a curve (line) that shows the start and end point as well as their z-value height. What GetLocation+ is doing is trying to get a point, and if it can’t, get’s the curve. But this will still fail for the overall workflow :slight_smile: The node executes correctly, but the issue seems to be that you’re pulling structural elements instead of Rooms.

Maybe there are unbound rooms or rooms which are unplaced?

An easier way may be to use the rooms bounding element’s - Room.Boundaries node in Clockwork will pull the bounding element’s in any room (including all ceilings so if you have a ceiling feature you’ll get both). Just be sure to enable 3D room calculations and set the upper limit for the rooms above your highest ceiling point.

2 Likes

Hi All, I was looking at achieving this for a large project and this solution worked, however the room data that was populated in ceilings after running script was mixed up i.e. not correct as per room. Any advice on this would be great, i though does the room extents/offset limit need to be raised though ceiling rather that clipped to the underside? Thanks