Export a table of mech equipment with associated room number

Hi Everyone,

I tried to extract a table from the Revit model that shows in the first column the Room Number from the linked Architecture model and in the second column the associated Mech Equipment inside the room.

I could extract the data but the room number doesn’t show the associated mech equipment inside the room in front of each other in the Excel sheet.

This my Dynamo: https://1drv.ms/u/s!AvfflNVloG0bg78_vc33EWiqafejcA?e=YRflsX

I was wondering if you could help me to fix that.

(The Room number is supposed to be DT-05-17-3.)

Hi @Sina is it only that component there isnt right ???

Do you mean FAN COILS? They are the Revit Family.

Presumably all Mechanical Equipment would not show right? Because they dont have room associations built in like furniture etc…

This means you need to collect that information in a more clash type manor, where there a say… a bounding box of the room including the ceiling void and a point of the mechanical equipment to test of it is inside that room and then push that information to a parameter that you can then schedule?

Looks like people are helping, but the only two options I know are:

If room is in same model:

If it is not, get centre of element bounding box and intersect with room solid geometries. Find intersection and get room number

Both options assume the element centre is actually inside the roon geometry. If its above ceiling you may need to pull the points down to the associated level before checking for rooms. A more common solution is to use spaces which most MEP firms use in my experience.

I did this way to get the geometry of rooms but I faced this error.

Common for bad room boundaries. Filter them out by using solid.union and then pass the rooms and their geometries through a boolean mask each to omit the problem rooms.

Thank you @Gavin for your quick response.

I followed this procedure, but unfortunately, the wrong room number was embedded in a Mech equipment.

Would you please take a look?

If you look at the point youre checking vs the solid of the room it should be in using dynamo are they in the clashing location? I suspect probably not, check that.

Im going to have to make a sample model. Rule 0 these days really needs to be bring a model to the table if the script depends on one…

The dynamo script that was linked appears to have been modified since the screenshot, so I can’t quite tell what the function is with this original List.Map node. It doesn’t appear to filter the list down at all?

The BoolMask + GetParameter for the Number parameter is outputting 578 elements which matches the number of mechanical equipment…but is that actually the number of rooms as well? That doesn’t sound right if you also have thermostats being pulled as part of the equipment list.

Are ceilings in the project room-bounding? And do the mechanical equipment families have Room Calculation Point enabled/coordinated?

The number of rooms is more than the mech equipment. and in some rooms, we have more than one equipment while in some rooms aren’t any equipment.

So in the final table construction, the intent would be something like

Room 1 / Equipment A
Room 1 (again) / Equipment B
Room 2 / Equipment C
Room 3 / null (No Equipment)
Room 4 / Equipment D
…etc?

1 Like

Exactly.

Hi i normally just use room at point works fine for me for mep…then we have the option translate the point if a component is over ceiling and dont hit the room, it works on linked space/room as well…but first i would try clean up for unplaced/unbounded room and find out the models share origin…if not set the project right up or try transform the coordinate set…something here maybe :wink:

Architecture.rvt (452 KB)


Get element rooms from link.dyn (76.2 KB)
MEP.rvt (580 KB)

Built in revit 2022. Run in the sample model, it will need adjustments to handle fringe cases you may have in your model such as elements whose centroid is not where you want it to be vs the room (e.g. elements in two rooms).

Great Solution, thanks.

1 Like