Calculating paint area - room wise

Hello Friends,

  1. I wanted to calculate the paint area as per room wise, can you please help me
    Till now i am able to calculate paint area of the complete wall but not room wise,
    and i got onw node “Room.Finishes” from clockwork 2x but it will not give paint area if 2 different paint material applied on one wall separately,(as you can see in the revit file red paint and green paint) it will give combine area of the wall.

  2. can i convert “Autodesk.Revit.DB.PlanarFace” into surface ( in dynamo environment), if yes , can you please guide me, so I’ll try to find clash between surface and space, then may be i can find the paint area room wise separately.

Thanks in advance.

Sagar Jain

It seems like it’s giving you the individual areas. You just need to use GroupByKey to group the areas by paint type for each wall or room.

1 Like

@Nick_Boyts ,

Thanks for the reply,
Actually few wall are common and shared by two or more room, As you see in the model, center wall (single model wall) is shared by all 4 rooms, (1 side shared by one room and another wall shared by 3 rooms)
Currently it is reflecting whole area of that wall but i want the area which is coming in that room only.

This Node is calculating the area of the wall coming in that particular room and given the paint material name also but if multiple paint / material is applied on the wall then It will not give area as per material,?
Can you please help me in this?
@AmolShah @JacobSmall

What you are struggling with isn’t clear. Can you make test one room that is 10 units by 10 units and with all wall height set to 10 units (so the ‘area’ of each wall would be 10, the floor 100, and the ceiling 100) and share those results? Also post the model you do that test with and your dyn, if not here than on some other hosting service.

Isometric view from W-S

Isometric view from N-E

Plan View

So in this example Room 1 and room 2 floor area is 100 m2 and each wall having an area of 10m2 (10*1) because height of the wall is 1m.
I have applied two type of paint in the wall, paint red and paint blue as you can see in the isometric view (on 3 side of the wall of the room painted with one paint material and 4th side of the wall are split into half, bottom half (0.5m height) paint with blue and top half paint with red))

Expected outcome
Room 1 - (paint blue = 25m2 and paint red = 15 m2)
Room 2 - (paint blue = 25m2 and paint red = 15 m2)

Current status of my script:

My current outcome
for Room 1 and room 2 - (paint blue - 20m2, paint red - 10m2 and default wall - 10m2)

Using “Room.Finishes”
Problem in 4th wall - I am expecting 2 paint material on 4th wall and its area. But as you see in the script it is showing “Default wall” material on 4th wall (index no. 2) and showing area 10m2 ( but i am expecting (paint blue and paint red) in sub index no.2. and area as 5 sq.meter each.

and if i am using “Element.Materials+”

i am getting the area of the complete wall not as per room area and i not able to filter this area as per room wise.( wall thickness is 200mm)

I know it is possible through dynamo. but i am struggling a lot.
It would be kind if you can help me out to solve this problem .

Sagar Jain

Can you post files as requested?

Note that there isn’t an easy button for your task.

Project1.rvt (1.5 MB)

Room Paint calculation.dyn (113.5 KB)


In that case you’ll probably have to compare/intersect the room bounding face with the room bounding wall to get the actual area.

1 Like

Hello @Nick_Boyts

Yes, your logic is correct but I am not able to extract material/paint surface, I am only getting area (in numbers)

If somehow i got the material/paint surface then i will try find the overlap surface of the room with material/paint surface, then i can segregate the different material quantity as per room wise.

You have the Revit faces, you just need to convert to Dynamo surfaces.

1 Like

@Nick_Boyts ,

No, i dont have revit face for paint area. this revit face is for complete wall.
Is only applicable is only one paint is applied on complete wall,

but If I have applied two or more paint material on a single wall, then it will not give the revit face for individual paint on that particular wall.