Springs FamilyInstance.ByGeometry Issue


Dear All,
I am quite new to Dynamo. I am testing a data transfer from rhino to Revit.
I used Mantis Shrimp to pass data from rhino grasshopper to Dynamo then use Springs.FamilyInstance.ByGeometry to add it in Revit.
However, it is quite wierd that when I join curves into Polycurves it can generate geometry in Revit, but if I directly using Arcs and Lines it doesn’t work…
I suspect it is data path issue?
I have tried to flattern the list, but it doesn’t generate geometry at all.
I have tried to chop the list as well, the resultant geometries are completely wrong and not on the right location…
The DS preview seems right but don’t know why springs node doesn’t work properly…
Am I using spring nodes correctly?
Appreciate if someone can point me to the right direction.

Ceiling Baffle_Vol 01.dyn (27.4 KB)
Ceiling Baffle.3dm (89.7 KB)

Thank you in advance.



Have a look at the error message. Your input is a list of 6 solids. Make sure that you have a unique name for each of those (i.e. Ceiling_Baffle_1, Ceiling_Baffle_2, Ceiling_Baffle_N,…)

One way to do that is with a code block:

Otherwise Revit will try to reload the new geometry into the old family over and over…


Thanks for your prompt reply Dimiter.
If each object must have a unique family name – does it mean that if there are 1000 of baffles, I will create 1000 of families in Revit? Or just creating 1000 instance of same family with different name?


You’d end up with 1000 families, each of which will have 1 type and 1 instance placed of that type at the coordinates defined in Dynamo.

If you’d prefer to have a single family for all of the geometry, you’ll first have to merge the geometry into a single entity inside of Dynamo. Here’s a more detailed example on how you could do that:

And if you want to just get a family type, without directly placing an instance, you can use the new built in “FamilyType.ByGeometry” node that is a conversion of the springs node.


I don’t want to create 1000 families when the geometries are so similar (guess it will increase the Revit file size as well with too many families?).
Putting 1000 baffles into one single family is not what I want either…I think it is quite problematic as a contractual BIM model…
I just wonder if there is a way to make each baffle are the same family but just different instance with the parameter “Arc length” / “Arc Radius” are different. Just like you copy a baffle then change its paramter. Can we do that in Dynamo? doesn’t matter achieve this by using spring node or other way. Can we add parameter like arc length and arc radius to a family using plug-in like spring node?

Or I am wrong at the very beginning to create a completely new family from scratch? Maybe I should just use an existing family in Revit if there is a arc baffle family with parameters of width + height + radius + arc length? what I need to do is just using dynamo to input the value of these parameters.



The current workflow is aimed more towards one-off families or something that would just be too involved or complex to model using Revit’s family environment.

It sounds like you should look into making a real parametric family using Revit’s built-in family constructs instead.

Since the baffles are arc based, regular beam families might work well too.


Thanks Dimitar, I will have a look at the revit beam family.