I tried this once.
I found it easier to just use the AABB of the object to determine the volume, after all, it didn't have to be THAT accurate and most rooms where square anyway.
What i did for things like L shaped rooms, was add a "volume_modifier" property that changed the volume. So an L shaped room would get a 0.75 modifier to compensate for a third of its AABB being empty.