Spiral Stair Family - Getting Family Parameter (when in Revit Family Editor)

Hi everyone, I am trying to get a family parameter for ‘HEIGHT’ into dynamo from the family editor, with a family type parameter.

I realize what I am saying sounds repetitive and ambiguous.

The tutorials I have viewed / read seem to show the workflow between the Revit project environment and not the family editor.

I am working in the family editor and I don’t know how to get the value of the ‘HEIGHT’ parameter that I put into a type parameter into Dynamo so I can drive the height of the array of points that is used for the family instances created by Dynamo.

Taking a step back, from the specific task of getting a parameter value, the basic structure of the Dynamo graph is to make a single column of point nodes, all with an x,y value of 0,0 and z values of sequential stair risers (with FamilyInstance.ByPoint) and then rotating them by feeding the result into rotation increments of 30 degrees (FamilyInstance.SetRotation).

When I was designing the family, I thought that I would be controlling parameters differently and I feel like I a just stumbling forward.

Home.dyn (87.4 KB) STAIR 3.rfa (500 KB)

Basically I want to get the height out of the family parameter by type, then divide by max riser height to get an integer for number of risers, divide height by integer for exact equal riser height… the goal is to be able to have family instance or type that knows how many risers based on overall height of stair and make them and rotate them into place.


So in Dynamo, I have been able to take the stair height from an instance of the center post (parameter ‘HEIGHT’ by instance in in family and locked to upper reference plane in main family.

This center post shortens from 10 ft to 5 ft when set in family type parameters (like I want).

Only now, the stair treads that are placed with the FamilyInstance.ByPoint node don’t rebuild in the Revit project environment that I am using as a sandbox to flex and test the families.

Once I open the family again by hitting ‘edit family’ in the Revit project environment to get back into the Revit family editor, the stair treads repopulate to the fewer number of treads to match the lower 5’ ft post height…

Does Dynamo have to be used in the Revit project environment to work properly?

If I do that, would you still need to have a separate Dynamo file to build the number of treads?


Here’s a quick update on my progress:
above is a look a Revit project sandbox with multiple family files placed.

It seems that to have geometry placed by instance where the number of items and their rotation varies (and this is driven by Dynamo), means different types of the same family will not automatically update.

So I had to make each stair that is a different height a separate family file, so this less than ideal.

I added a headroom check to make it easier to see if adequate headroom was maintained.

Each family is in the nested tread family, saves the trouble of making a helical handrail family, but means the ends of each segment show up, can’t seem to find a way to hide these and yet have a line on the edges of the handrail that for the edges that you want to see as a continuous curve…

(apologies for not editing the original post - maybe you can’t edit a post more than once? - was not looking to bump the post with a new reply, just update the original post)