Spring Nodes - Springs Family Instance By Geometry - setting materials and subcategory

This question is with regards to Dimitar Venkov’s Spring Nodes. One node in particular. This node makes Dynamo usable in a workflow. Very grateful for its existence! Thank you!

I ran into a problem with Springs.FamilyInstance.ByGeometry.

I am unable to set the material or subcategory.

I am using a string for both. Maybe this is my mistake, but DV’s docs say strings are fine:

question about materials subcats

question about materials and subcategories.dyn (14.1 KB)
question about materials and subcategories.rvt (464 KB)

When I run the script, the subcategory is not formed under generic models (even though I added it through project styles as well), and the new objects do not acquire a material. Using Dynamo 1.5 Revit 2015 (sorry, old project hence old software at the office). The file and script are both reduced to their bare bones.

Thank you so much for taking a look.

Can you try making the material and subcategory in the job first, selecting them in Dynamo, and feed in the strings that way? I would advise on the nodes to do so but I haven’t used 2015 (we skipped it) so I can’t speak to that.

Also you may want to check which version of this node and Dynamo (1.5?) you are using to be sure they are compatible with your Revit version. Things have changed a lot here since 2015 was developed.

Check the excellent 60 second Revit blog for the Dynamo build.

For the package uninstall and go back to the version which doesn’t bring up the 'built for a newer version that you are using" warning.

Hi Kirill,

I’m glad you find the node useful. From my testing with Dynamo 1.21, the node should work fine with Revit 2015:

As mentioned in previous discussions, the family material should be defined in advance in the template file because there’s no efficient way of transferring materials between project and family files.

What I suspect is happening with the subcategory assignment, is that if the sub-category already exists in the template, the node will attempt to create a sub-category with the same name and fail silently. I’ll try to address this possibility this weekend.


Hello Dimitar,

Thank you for your prompt response.

@JacobSmall, Sorry, I made a tyop: I’m using 1.2.1, not 1.5

I ran the script again, and noticed that the subcategory is set for the object on the Properties, and I can see it in the VV (ModelCategories). Very sorry for the time wasted. I was looking for the subcategories under +Families -> Generic Models in the project browser, and the subcategories do not show up there (why?!). It was late in the evening and I am new to revit…
question about materials subcats2

I didn’t know one was unable to pass materials between projects and families, but it makes complete sense. Regarding the materials, how is it possible to load it into the .rft file, the template family file? I read here: http://becausewecan.org/Making_your_own_Revit_Family_Templates that it is possible, but when I try and change the .rft to an .rfa, it errors out saying that it is an invalid .rfa file. Maybe this was only possible in Revit 2014. I tried to run the script with an .rfa as a family template, but the API’s threw an error. Traceback: “input template file is invalid for the document type to be created!” ;(

Could you please let me know how to load a material in the .rft? Thank you so much and sorry about wasting your time! Maybe these posts will help someone later down the road though. For now I will set the material through the subcategory.

There is apparently an error in the tutorial, it should work the other way around: you need to change .rfa to .rft

Oh interesting… my revit doesn’t come with Generic Model under Families, only under Family Templates.

Thanks for catching that, I’ll give that a try.