31 Oct

Create List of Floor, Wall, Roof or Ceiling layers

This post is obsolete, I found out it will not work in many cases, including model-in-place cases, solving it with Dynamo was getting to messy, so I developed new solution with Revit API, please read this: https://www.engipedia.com/revit-add-in-create-list-of-floor-wall-roof-or-ceiling-layers/

In documentation creation phase of architectural Revit project, there is a need for creation a list of floor (wall, roof or ceiling) list of layers with their thicknesses.

revit-wall-layers-thickness

Sometimes, there is also need for  tagging floors or wall with tags consisting of list of layers and their thicknesses.

Unfortunately, this is not doable in Revit with it’s basic set of tools.

What we wanna do is use our layer structure, it’s material names and layer thicknesses and display it in tags and tables.

Of course, point of this article is to show you how can this be done with a little help of Dynamo.

There are few tricks exploited to make this work:

  1. Using shared parameters we are making parameters that can both appear in tags and schedules.
  2. Shared parameters are URL type because it is only parameter type that accepts new line character, that is, we can store multi-line value in it as one value.
  3. We are creating separate parameters for layer names and layer thicknesses because in that way it would be easier to have a neatly arranged tag.
  4. Both additional parameters are Type parameters, logically, there is one set of layers for each type of layered structure.

Below is Dynamo script screenshot which can be used to create you own script.

You can download the whole Dynamo layers script here (right click on the link and choose “Save Link As…”).

Also, you can download shared parameters file (right click on the link and choose “Save Link As…”) which is used to create Project parameters (Type parameters for Walls, Floors, Roofs and Ceilings) and to create Tag families (Edit: this is “Multiline Text” parameter type file, thanks to the Greg McDowell’s great comment).

If you are using Revit 2015 or older, you can download shared parameters file (right click on the link and choose “Save Link As…”) which is used to create Project parameters (Type parameters for Walls, Floors, Roofs and Ceilings) and to create Tag families (Edit: this is “URL” parameter type file).

Note that Clockwork and Springs packages are used.

To make it work, use shared parameters file to add Type “RI Layer Thickness” and “RI Material Layers” Project Parameters into Ceilings, Floors, Roofs and Walls categories. Then, run Dynamo (at least version 1.2) and load “Layers.dyn” script. Again, Clockwork and Springs packages need to be installed first (http://dynamobim.org/issues/extend-dynamo-with-packages/).

This post is obsolete, I found out it will not work in many cases, including model-in-place cases, solving it with Dynamo was getting to messy, so I developed new solution with Revit API, please read this: https://www.engipedia.com/revit-add-in-create-list-of-floor-wall-roof-or-ceiling-layers/

15 thoughts on “Create List of Floor, Wall, Roof or Ceiling layers

  1. In 2016 you can use a Multiline Text parameter type. Might be worth the change from the URL parameter type.

  2. Thank You for your effort, just in time when we need it in our office. Sadly, I got your script to working only 50%: layer thicknesses are returned properly, but none of material names are present in RI Materials, when I try to tag them. I use Revit 2017, Dynamo 1.2.1, Clockwork 1.02, spring nodes 110.2.0. I’m a newbie Dynamo user, but what alarms me is that in Dynamo preview, after running the script over my project, the none of the nodes stemming from “FamilyType.CompoundStructureLayers: materials” don’t list any material names.
    Any clue, pls?

  3. Hi,
    I just tried this script on the Revit Basic Sample Project File (Revit 2017) and in the Thickness parameter I get an extra row of “000000” between each value. This happens for all 4 categories.

    For the Floor category I also get this at the very end in the thickness parameter:
    null
    __hasParamAt=true
    false
    __unpackParams=true

    For the Ceiling category I also get this at the beginning of the thickness parameter:
    Function__functionPointers=function:__func_7138be89af7b4232b938e63a5fe78240
    __argumtNumber=2
    __params=35

    Any idea what might be causing this?
    (I’m running the project in Metric in case that might have something to do with it.)

  4. How do I use shared parameters file to add Type “RI Layer Thickness” and “RI Material Layers” Project Parameters into Ceilings, Floors, Roofs and Walls categories?

  5. I switched to Meterial Description and added “mm” to “RI Layer Thickness”.
    _________________________________
    l Description1 l 100mm l
    l Description2 l 200mm l
    _________________________________

    How to merge RI Material Layers with RI Layer Thickness?
    ___________________________
    l Description1 – 100mm l
    l Description2 – 200mm l
    ___________________________

    so from two parameters to one,
    long descrition to several rows,
    underline style

Leave a Reply

Your email address will not be published. Required fields are marked *