Create floor type by filtered room name

Thank you for your time, and I do apologise if I am missing something simple, but I don’t have green from get parameter value.

you need the Levels with the green Id here.
use the node Element.Types here and get the Levels using AllEelementsOfType, get the names from it by using Element.Name, then compare the list of level names with the Level names you got from the Rooms with the == node, this gives you the list of true’s and falses you need in the FilterByBooleanMask node for the mask input. the list input is the list of the levels with the green Id and out comes the levels with the green Id.
I could have done better here explaining :slight_smile: this but i have no Revit here

image

No, you’re doing well. It is just my inexperience of Dynamo. I am lost with the process you are explaining. I understand the use of Boolean Mask, but why is it needed for the level. The room is filtered, so why cant the level just be taken from the room? I know I am just not seeing something basic.

The image below shows the script working without the need to input a level name. It places the floor type in the filtered room across all levels (like I wanted).

Capture

However, when I click the floor type in the model, the lowest room number was assigned the floor type at level 1, but every other floor was assigned to a room at a different level with an offset value to make it look like it is at its corresponding level Why would this be happening?

Level%201%20Floor%20TypeLevel%202%20Floor%20Type

Place a watch node after the all elements of type (after the level node)
And show us what is in it

you are creating floors on all levels for every room

No. just the room I have filtered out. In this case, the classrooms. No floors have been added to the other rooms.

ok but still floors on every level for the Classrooms?

@Marcel_Rijsmus
yes

You have to select the right level for every floor

@Nico_Stegeman

On those levels you created a floor. Did you?

get the level from these rooms only
Uploading…

Agree with what @Marcel_Rijsmus said. Element.Level from the Clockwork package

2 Likes

@Nico_Stegeman

No floor is created at any level prior to running the script. After running the script I get floors placed in the filtered rooms across all levels. But, like I said, they are placed on different levels with an offset value placed to make them look like they are placed on their corresponding level.

Thanks Benjamin.

@BenDoty_LMN

That’s it. All working perfect. Element Level was not mentioned in previous replies.

Thanks to all for your help. I am sure I will be back for more help in the future.

1 Like

@BenDoty_LMN @K104

more ways to skin a cat there is

3 Likes

@Marcel_Rijsmus

Appreciate all the help Marcel.

@BenDoty_LMN used less nodes so he’s the champ here :slight_smile:

We are only educated to what we know. It is all learning!

Just a side note. When initially applying the first floor type to the selected filtered room, you need to save the project before changing the room name filter before running the script again. If not saved, then the new run will just delete changes made in the previous run.