How to perform the query of wall layers+attributes in a loop to write it in Excel?

Thank you in advance for every input!

Since information about wall layers is often not exported correctly during the IFC export of walls, I would like to read out the containing layers with their layer thicknesses for multi-layer wall types.

The problem is as follows:
I have put together a working workflow for 2 wall types. However, I would now like to automate the query a bit, because it does not make sense (and also is not possible) to create dynamonodes for each element-type, as there are 100+ wall types. First approach:



Are there any nodes in one of the libraries /packages, which are suitable to create “for each” loops or would I have to write this myself with a custom python node?

I would need something like this:

For all wall types get material layers + get material thicknesses and store them in separate lists which are linked to the list of wall types.

Unfortunately I can’t program Python. In Java it would probably boil down to 2 treemaps containing ArrayLists as values, maybe there are already ready-made nodes for such a thing? Approx. in this logic:

javaCodeExample

Afterwards, I would again use a loop to write all the data to Excel.
Column A - WALL_MATERIALS (keys)
Column B - WALL_MATERIALS (values)
Column C - WALL_THICKNESSES (values)

For row spacing, I would use the (ArrayList.length() - 1) of each key in WALL_MATERIALS to get the number of blank spaces under each key in the Excel. The end result should be a continuous list in this format:

Das dazu erstellte DynamoSkript:
DynamoQueryWalltypeLayer.dyn (91.8 KB)

Hi @d.feyerer
I don’t know what you mean with a for loop node? I have seen this question alot, but Dynamo takes care of this for you. If you have a List of values and you feed this to a node, Dynamo automatically does the nodes function For each item in the list?

Besides that, below you see my graph with the result for you question. I have the feeling this all can be done with a lot less node when you use the proper structures in lists.


WallTypesToExcel.dyn (53.4 KB)

Let me know if this works for you or if you have any questions

Thanks for your help, the script works perfectly and reproduces exactly the desired result!

I am now going through the script point by point, if any questions arise, I would post them again.