Create new wall types by assembling materials through Dynamo

Dear All,

I would like to address a topic which has been probably discussed in a series of posts before but which, as a novice of Dynamo and coming from Rhino/GH, I still find difficult to manage.

I would like to create a wall type by “assembling” different materials also created in Dynamo and then change the type of existing walls with the newly created one.
The process is needed for energy simulation purposes, as I would like to test some Zones with Honeybee/Ladybug for Grasshopper (I know of the LB/HB Dynamo Packages, but I would like to keep the simulation code in GH, as I additionally use other plug-ins there), find the right combinations of materials/values/glazing ratios etc. to be then transferred as simple data into Dynamo as inputs for the generation of new wall and window types.

So at the end Zones in Rhino -> Simulation in GH -> relevant values found -> Loading of values in Dynamo -> Creation of types -> Substitution of types

Now, I have just a general idea on how to do that, but I would like to ask if it would ever work.

I can manage uploading data to dynamo and using the “watch” component to read the values to be then fed into the python script I found here.

Now that I have all materials, how do I create the wall by assembling them in the correct order? I am trying to find references on the forum, but alas I could not really retrieve an explanatory example for the kind of process I’d like to define. Therefore, I assume there is a flaw in my line of thinking which probably derives from a bias due to my being more in touch with GH. In this case, I would like just to ask you some indications on how to proceed.

Many thanks indeed everybody!


This would be done through Revit API using either your own custom made Zero-touch node or Python script. The relevant classes for creating a compound structure would be CompoundStructure class and CompoundStructureLayer class. I believe it is fully possible to do in Dynamo given the right inputs and the correct script.

Hi @kennyb6,

Many thanks for the suggestions and the links to the different methods in the Revit API.
So to be sure, there are no nodes or packages yet which could already provide a solution for the problem above?
In different examples I found there is a way to duplicate a type and assign it materials. It would be easier for me, as I am not a programmer myself and my knowledge of python does not cover the use of revit classes or dynamo coding structure.

Thanks again!


Not that I know of but I am not too familiar with all of the packages available. As far as I can tell it is not in any of the major ones but maybe a smaller, more specific package might contain it, although I wouldn’t know how to find it in that case either.

I think @kennyb6 is correct in that no major package has exposed that yet. Which means that you’re going to have to do your own calls of the Revit API via python or a zero touch node. Clockwork has a few similar nodes which may allow you to work out some of what you need in terms of getting the classes and elements.

Hey @kennyb6 and @JacobSmall,

Many thanks for guiding me into the approach with the API.
I will have to find a good balance between using the existing Clockwork package and new pyhton script.

Thanks very much again!


Hy @_fma,
we are also looking to automate the creation and assignment of new wall types with specific material composition.
Were you able to make progress on this issue so far?

Thanks in advance,


Hey @martinrck,

Following the method stated here, is explained how to create new instances (types) of a previously defined wall system family.

As I am not a scripter, I used the code in a dynamo block in an example case and it worked fine enough. Since it was some months ago I could not find the reference to post, but I hope it will give you a good start.