Cut internal walls according to adjacent room parameters

Hello there,

I’m currently having an issue with a project that I’m working on, and since I’m quite a newbie on dynamo :

I have several rooms with programmatic goals (fire safety, air permeability, acoustic protection) and I would like to cut them and assign them to a specific wall type given the characteristics they have to meet.

For example :

Rooms 1 and 3 share one wall in common, and Room 2 is the corridor.

There is a continuous wall between room1+3/room 2.

Room 1 : Storage unit; Fire safety : 1 hour; Acoustics : 35 dB; Air permeability : 0.6 m3/h;

Room 2 : Main Corridor; Fire safety : 1.5 hours; Acoustics : None; Air permeability : none;

Room 3 : Office; Fire safety : 1h; Acoustics : 38 dB; Air permeability ; none;

Thanks for anyone who could help !

Welcome to the forum.

quite the challenge for a newbie :sweat_smile:, but should be doable.

That being said :backhand_index_pointing_down:.

There’s a few steps here:

  1. Map your requirements to each room. This is best done in a Revit schedule view of rooms, with a parameter showing each of the properties the boundaries need (i.e. Fire Safety, Acoustics, Air permeability, etc.).
  2. Getting the bounding walls for each room isn’t too hard - Room.Boundaries exists in a few common packages. Once you collect the walls for each room writing the “required” parameter values to the instances should be pretty straight forward with an Element.SetParameterValue node.
  3. From there you can check the required parameters against the type’s rating - use of the Element.GetParameterValueByName works, but I prefer setting up a schedule which has a filter for the Type parameter being less than the required parameter. Set that up once and you’re into normal Revit use.