Create Floors By Room using Room Information and Floor Type

Below is the definition I am working on. I can successfully create floors by room with giving a specific floor type, but I would like Dynamo to read the parameter information in the Floor Finish Room information, find the Floor Type that contains that language and create the floor. If I name the floor type the same name as the floor finish parameter in the room information, it will work, but I would like to say “if the floor type contains this text provided in the Finish Floor room information, then use this floor type.”

I am also having trouble with this definition in rooms where there are columns as room bounding objects (the poly of the room outline has additional polys inside). It will not place a floor in these instances.

Floor By Room_By Floor Finish.dyn (30.8 KB)

If your Finish Name and your Floor Name are the same, you can use List.AllIndiceOf to get the index number associated:

If your Finish Name and Floor Name don’t match, you can rename them.

If you can’t rename them, you need to use more advanced filtering techniques, with StringContains for example, but the definition will be more complex

For your second problem I would open a different topic, maybe someone can help

2 Likes

For the second problem, a possible solution would be to find the closed curves, make a surface, take the area, and use only the largest area’s curves as the curve input.

I can’t remember whose package contains the group by closed curves node but I am sure you could search for it here.

Here a better solution, useful when your Floor Name and Finish Name don’t match exactly.
For node String.Contains you have to use Cross Product Lacing.
I think this is what you were looking for:

2 Likes

@AndriaLynch Does it work? If yes, please mark the topic as solved :slight_smile:

1 Like