Floor by roomboundaries

we know how to create floor by room boundaries, but the problems are the columns and the door openings.
Is there a way to get the room boundaries according to the red colored region in the screenshot?
We get all elements of the rooms, create curves by intersecting the elements with a plane.
But how can we create a curve or boundary to get a finished floor like the red region?


I don’t believe this is possible because floors do not like being generated on a sketch with several loops. Think “donut”.

Even though you can do this in Revit, it seems very difficult to achieve programatically.

Thank you john,
if we ignore the columns, can we get a boundary whitch uses the door openings? ( see screenshot, the red colour is by hand to demonstrate what we need)

I have a long DYN that does this reasonably well.

You have to find the doors associated with the room ideally the leaf, create a line down the center of the leaf, generate jamb lines back to the room boundary, trim the room boundary line between the jamb lines, and join everything together.


Greg, thank´s but this will be beyond my skills :-((

You can also create the whole floor by the room outlines and cut out with void or something the column boundaries and the other parts that shouldn’t be include in the floor. Logic similar with cutting voids like here - https://dynamonodes.com/2016/08/02/create-floor-opening-for-vertical-pipes-from-a-linked-file-in-revit-2016-using-dynamo-0-9-2/

Petar, I will look at this, but the room boundaries from Revit are not the floor boundaries we need for finished floor, look at the doors.

Yeah, I see. Like the previous post here you should access each door related to the room an use the door geometry.

Here’s the DYN I was talking about. It’s big and customized for our families, and places Roofs instead of floors (they’re better than Floors for finishes), but just prior to that it’s the same.

Room Boundary for Floor.dyn (200.8 KB)

Greg, thank´s
I will have a look and give you a feedback


I have own code that do same…I used more python

Why do you think roof is better as floor?

@P_Fiala - I’m sure yours runs faster as a result of the extra Python! Would you mind sharing?

Roofs vs Floors for Finishes

Roofs change thickness upwards, floors downwards. When you place a floor the top of the floor is at the level and you must offset it up and track changes to that offset with changes to floor thickness. With roofs it’s set it and forget it as they have their bottom aligned to the level.

When picking walls of Floors the default option is to extend to core. Most finish floors start at the wall finish, not the core, so you have to uncheck this box every time you start a new floor. You end up leaving it checked more than not. Roofs have this box unchecked by default saving you time and creating a technically more accurate model.

Wall base can be applied to roofs as fascia. You can use a slab edge to apply wall base to floors as well but when you have a space with no finished floors that still require wall base your left looking for another solution. Fascia can be applied to model lines as well so for these areas you have an integrated solution. You have to lay down the model lines first but it keeps the wall base all in one tool referencing one profile/material.

Those are my reasons why I like roofs instead of floors for finished floors. I know some (many) balk at the idea of using categories for other than what they’re intended but I see no problem with it. Filters manage visibility just fine.

Sorry i dont share this big python code…
you can see here my solution : http://www.bimrvt.cz/blog-triky/generator-podlah-dynamo
Now preparing the youtube video.

I think its better one concrete floor as structural floor and then layer of room floor as floor category…with only one layer…with index of type…and then in excel have index of type with all other layer…as example index 01 - layer tiles, adhesive, cement and other…

also you can’t in floor plan add room to roofs …only floor.

your solution looks great, exact what we need. I don´t know if I will ever get there :-((
( Autodesk: this could be a great feature in Revit ! )


Where do you find the last comment? Autodesk: this could be a great feature in Revit !??

That last part isn’t correct. I place rooms over these roofs as floors all day long.

Greg McDowell Jr


the comment was from me,
for the Autodesk crew, if the look at this forum

Hey Greg,

Not sure if this thread is still active, but I’m trying some things out with placing floors under door openings based on the correct adjacent room and your Dyn seems to look promising. I think I might be able to trim it down a bit (if you haven’t already), but I’m missing a couple of packages to get your version to run in the first place.
You don’t happen to have a list of used packages for this script do you?


Hi @J.hugelier, could you please make a new post on this topic as this one is already two years old and yours is a different subject. It helps keep this forum more organized. Feel free to link to this post or mention a user in your new thread. If you have a specific question about a certain user’s post, you can directly message them by clicking on their name/icon and click Message.

to be fair… a few of them are mine and not on the package manager

From ParallaxTeam’s Package Doge:

  • Revit v.2016.7.2
  • Archi-lab_Grimshaw v.2018.2.1
  • Geometry v.2018.4.301
  • Clockwork v.2016.8.5
  • Springs v.0.0.4
  • BlackBox v.2016.8.5
  • JR v.0.1.1 – me
  • MGO v.0.1.1
  • Landform v.2016.10.13
  • Modelical v.1.3.12

Merge Collinear in Grouped Curves.dyf (34.2 KB)
Remove Overlapping Lines from Curve Network.dyf (10.9 KB)
Vector-MidPoint from Curve.dyf (6.1 KB)
Roof.ByOutlineTypeAndLevel.dyf (6.1 KB)