Correct Workflow for individuell room heigths

Hello Guys

I couldn’t find any specific information about this topic in the manual, and the YouTube videos don’t seem to be updated for the latest Model Editor.

In the new editor, you define the height for each level when importing rooms. However, all rooms are assigned the same height. What is the correct workflow to import the individual room heights from Revit?

We had in the past a script which doesnt work at the moment (needs update), but im curious what the “official” way is.

Thanks and best regards David

Hi @davi,

Do you already have the height set as a parameter for each Revit room? The typical approach for cases like this one is to select the rooms and change the Floor-to-floor height value.

But I feel in your case, you are trying to automate this for many rooms based on a parameter in Revit. If that’s the case, we should be able to add an option similar to what we already provide for setting up the Zone names.

Is that what you are referring to?

Also, I will be happy to help you update the script. What is the issue that you see in the process?

Yes, yes, yes — that would be perfect. It would be great if we could select a Revit parameter for the room height.

Could the same option also be available for the floor elevation? Some rooms have a lowered floor level, and I assume this could be handled by adjusting the floor elevation parameter.

This was our old script. Apparently the funtion get doesnt work anymore:

from model_editor import Editor

editor = Editor()

model = editor.model

M_TO_FT = 3.28084

for room in model.room_2ds:

    h_m = room.user_data.get("BKL_Raumhoehe")

    if h_m is None:

        print("No BKL_Raumhoehe defined")

        continue

    h_ft = float(h_m) \* M_TO_FT

    # write into the model (existing attribute)

    room.floor_to_ceiling_height = h_ft
    print(f"{room.display_name}: {h_m} m -> {h_ft:.2f} ft (written to floor_to_ceiling_height)")

editor.update()

Hi @davi, thank you for confirming. We will add the option to the UI which will simplify the process and remove the need to use user data.

Meanwhile, since adding custom user data to rooms is not supported anymore, the easiest way to achieve this is to export those values to an Excel/CSV file and then update your script to read the CSV file and use it as the guide to set the values in the model.

You can read the files from a local folder after setting the local directory:

There is also a sample code that shows how to use it:

@davi, the feature for setting the values from a Revit parameter will be available in the next release.

Here is the full list of the inputs that you can set using a Revit parameter:

  • Name
  • Block
  • Zone
  • Floor-to-floor height
  • Floor elevation
  • Floor plenum depth
  • Ceiling plenum depth