Export Data From a Multi-Layer Dynamo Wall

Hello commu :slight_smile:

I am turning to you today because I am facing a problem and I would like to be able to get out of it :confused:

So here in my case I would like to be able to put the number that is in the identification note directly in the material (see image 1). So to achieve this I first created 6 new “layer” parameters and then I made a dynamo that allows to extract each identification note in a different layer (see image 2&3) but the problem is that the layers are exported not by layer order but by material type so it distorts everything… This is classified by the green number present on the image of the node (image 4)
So can we:
-can we extract the layers in the right order? (Script?)
-Is there a solution with dynamo to group the different layers in a new parameter?

Or a new solution? ahah

Thanks in advance and have a nice day,

Julien.



Dynamo 3
Dynamo 4

Can’t read your graph screenshot.

Can you zoom in so the nodes are visible and use the export canvas as image function (upper right corner of the window) and/or post the graph itself?


Let me know if it’s good for you :slight_smile:
If not I’ll send you the script :=)

Home.dyn (67.6 KB)
@jacob.small maybe i will be more easy :slight_smile:

Looks like an issue with list lacing on the set parameter value by name nodes, as you are feeding a two dimensional list (@L2) of elements with a 3 dimensional list of values (@L3), all before we even get to the data management bit.

Generally it’s best to keep to one of those from both a simplicity but also a speed of processing standpoint.

I don’t have a Revit model with such parameters in it, but I’ll try and out something together on the lunch break later.

Before I do so, how would you deal with a wall with 7 layers? What about 20 layers?

Oh yes, I see what you’re saying but that’s all I could find to make it work in part… :frowning:
I feel that I can be limited because I would have to create as many parameters as layers…
But how is the layer classification done in Dynamo? By material number?
Ah thank you if you find something let me know. :slight_smile:
Thanks again :slight_smile:

Ok - I’ve pulled something together for you to look over.

The general workflow triggers several of on my ‘this is going to end badly’ flags, so proceed with caution. In particular:

  • Takes parametric data (the wall layers) and makes a non-parametric representation so future changes to the type won’t reflect in the instance until you run the graph again.
  • Pulls partial data (parameter value) from a container (material) and stores it elsewhere.
  • Attempts to track type data (wall assembly is stored in the wall type) on an instance (walls placed in the model)

That said, it’s a good learning exercise for: lacing, list levels, dictionaries, and filters.

So without further comment, here you are:

As far as this question goes… Dynamo doesn’t - the Revit does. Dynamo is a conduit to Revit, so the data is dealt with the same way that Revit does. So the question becomes how does Revit deal with layer classification, and the answer is the CompoundLayerStructure, which is a property of the system family type, which is a property of the wall instances you’re working with. This is similar to the Revit UI in that to get this data for a selected wall you first have to get the wall type from the wall, then the compound structure of the wall type.

Hello,

thanks for this script it works great :slight_smile:

Just a little problem is that I’m on the 2022 version of revit and in this version of Dynamo the IF node is different and doesn’t offer the possibility to choose the levels… Any idea for an alternative?

Thought you would be able to skip the lacing… try to use this in a code block.

test? valueIfTrue : valueIfFalse;

It doesn’t work I don’t know how to


fetch the right lists :frowning:

Can you post your graph? I’ll try a 2022 version once I get it.

For you :slight_smile:
Thanks again
Home 2022.dyn (50.8 KB)

Hello jacobs :slight_smile:
I can’t find a solution even with a colleague we turned our heads ahah

Hello,

I got back into it after a break and I found my mistakes but in the end I can’t understand why I only have 9 walls… Any ideas?
I’ll update the script for you
Home 2022.dyn (50.8 KB)

Today was quite busy and just got lunch an hour ago (5pm local time) so just now looking into this.

Can you post a screenshot with all previews expanded, or a sample Revit model which you’re running the graph on?

Hello jacobs :slight_smile:

Don’t worry I’ll keep you posted on my progress :slight_smile:
I put you a screen shot of the idea of the project and a selection of wall and parameters that I created for the occasion.
Was this what you wanted? :slight_smile:

Do you want the script or do you already have it?

Hello

I dove into it this morning and by doing "the longest lace on the last node it works better but what does not work is that on Dynamo I have the right order but in Revit not…


Check your list levels the > icons on the Element.SetParameterValueByName node (and perhaps elsewhere).

Niiiice your are a killer :smiley: Really thanks you.

Here I wanted to do the same thing for the roofs but it blocks me here while on 2023 it works…

You’ll have to open up the custom node, copy over the Python, and debug the issue there. It may be that you need two different graphs; one for 2023 and up and one for older releases.