Creating System Families from an excel sheet CHALLENGE


Im looking for help/Info on an challenge im facing,

I need to create 50/60 system family wall types, and fill out the meta data in each for COBI , IFC and specification data. So what im thinking is that i create an excel sheet like in the image below, get the supplier to fill this with all the mete data and have dynamo bring it back into revit and create the different wall types and the parameters for all the meta data.

If I got that far it would be great, but to push it a step further , could i get dynamo to create the different layers within the wall types ?

Is it possible ?? any help is much appreciated.

Hey Jason,

I think I found the basic node you’ll need to create the various wall types, and to put information into them form excel. The first thing to do is to get the Clockwork package from the package manager. There is a node called ElementType.Duplicate which is the easiest way in my opinion to make new wall types. Combine that with the read excel nodes, and some clever list manipulation, and you should have no problem creating new wall types, and setting the parameters as you describe.

Changing the layers is a little harder. There are nodes in clockwork to get information about the CompoundStructureLayers, and a node to Set the material of a compound layer, however, this does not add or remove layers. It is possible to do through the API. I haven’t seen a node that does this, not to hard to make.

Good luck!

Hi Jason/Eric,

I was wondering if a script was ever created that could do the above? I also have an excel spreadsheet with a number of wall types and associated parameters which I need to bring into Revit. Something like what is described above would really help me speed up this process and minimize duplication of work and human error. Any help would be much appreciated.


You can use the Create Compound System FamilyType node in Genius Loci package to make this task easier.
You will need the Element.SetParameterByName node to populate your parameters.

1 Like

I have a full range of nodes for system families…

read more here

@erfajo @Alban_de_Chasteigner

Thank you for the quick response, from a first glance, this seem to be a step in the right direction for what I am trying to achieve.

Excuse my lack of knowledge as I am a novice at Dynamo, but with these nodes/packages, will I be able read from excel?

For the time being, what I have to work with is a spreadsheet showing Type Marks, Thickness, Stud Size, Acoustic Designation and Fire Designation (additional parameters to be added later if/when required).

I would like to be able to read from excel, create a list in dynamo for these wall types and their respective characteristics, and then pump these new wall types into dynamo (through duplicating a blank wall template).

Would either you have any direction on how to achieve this?

The nodes I have shown handles the creation and edition of system families… you need to add the spreadsheet thing. try to search for how to work with spreadsheets and then combine this…

You can get the shown graph in the blog post by fetching it from my GitHub Sample collection…

This is what I am currently working with

Type Mark Description Thickness Stud Size Acoustic Designation Fire Designation
XY-AB Slab to Slab 122 70 S 50 ‘C’ studs ** RwdB NFR
XY-BC Slab to Slab 122 70 S 50 ‘C’ studs ** RwdB NFR
XY-CD Slab to Slab 122 70AS50 AcouStuds ** RwdB NFR
YZ-AB Slab to Slab 122 70 S 50 ‘C’ studs ** RwdB 1/2-HR
YZ-BC Slab to Slab 122 70 S 50 ‘C’ studs ** RwdB 1/2-HR
YZ-CD Slab to Slab 122 70AS50 AcouStuds ** RwdB 1/2-HR

Thanks again @erfajo, Ill be sure to do this and post my results for and future Dynamo users!

most of what you have shown sounds as standard parameter values which can be set with the OOTB nodes. --> Type Mark, Description, Stud Size, Acoustic Designation, Fire Designation

only Thichness is a value where you need my node.

Hi @Alban_de_Chasteigner, could you kindly explain to me how “Create Compound System FamilyType” works? I performed some tests to set the parameters but I can only create a duplicate of the floor by changing its name. Thank you

Hi Michele,

Here is an example with a multilayers wall.
It will be the same with a floor.

1 Like

Thanks @Alban_de_Chasteigner for the quick reply, but unfortunately I can’t understand what’s wrong. There seems to be a problem that returns “null” in the node. Thank youCapture

1 Like

I recently found a small bug in the node and fixed it on the latest version of the Genius Loci package.
Can you update the package and try again ?

Hi @Alban_de_Chasteigner I’m trying to install the update but there are errors and revit closes. This way I can’t install the new package. Do you have the same problem?

1 Like


Sorry for the disagreement. It’s a bug with Dynamo 2.0 and Dynamo 2.02 that loads the .dll badly.
The bug is solved by the use of Dynamo 2.03. (

If you stay with Dynamo 2.02, the shut down of Revit doesn’t prevent the correct installation of the package.
After a reboot of Revit, the package should be installed correctly.

1 Like

Hi @Alban_de_Chasteigner,
no problems for the bug and thank you for your time.

I installed version 2.0.3 and managed to install Genius Loci package without problems but unfortunately for me I always get the result “Null” in “Create Compound System FamilyType”

Can you provide your dynamo graph and a sample revit file with the materials ?

Sure, thanks a lot for the support.
I attach everything below.

RVT2019_Base_NewFloorType by Dynamo.rvt (1.2 MB)

WIP01_NewFloorType by Dynamo.dyn (21.5 KB)

I cannot attach materials with extension “.adsklib” I attach an image

So the names of your layer functions are not corrects.
["Finitura 1 [4]","Sostrato [2]","Strato Termico/Camera d'aria [3]","Struttura [1]","Finitura 2 [5]"]

In english, it’s [Finish1","Substrate","Insulation","Structure","Finish2]
Use the Get CompoundStructureLayers node to know the correct spelling.

1 Like