Is it posible to place structural framing on a reference plane with dynamo?

how can i place a structural framing on a sloped reference plane?

i know the StructuralFraming.BeamByCurve is not made for this to happen
is there another node ?


Hi @Nico_Stegeman

Similar topic is discussed here.

Hi Kulkul

i have seen that one
but it is not working for me
the Beam is stil connected to a reference level and not to a Named (sloped) reference plane

add this moment i don’t completly understand what Vikram is doing in that code block in line 3 and 4
but i think vikram code block is creating the numbers for the Start and End Level offset.

But this is not the same as connecting a structural framing to a reference plane.
He is aligning the structural framing to a reference plane.

(if i work on that beam in revit it wil behave different then one that is connected to a named sloped reference plane)

Hi @Nico_Stegeman,

You can’t change the Host of an Element once it has been hosted. This means you can’t change the plane in which the Element was originally created although you can do this in the Revit UI - it is not available via the API as far as I’m aware, therefore not available to Dynamo.

An old API workaround for this is to create a new beam on the plane you wish to work on, update the elements location curve to the desired location via projection/intersection on that plane and delete the old one.

Why would you want to change the Hosting Reference Plane anyway? With Dynamo you can ensure the accuracy of the geometry by “pulling” that object onto another plane without having to be working on it. Does it need to be on that plane?


Hi Daniel

I want it to creat it on a sloped (named) reference plane.
(I can create a structural framing on a level but not on a reference plane)

correct me if i am wrong

if i understand you good it is possible to create a beam on (host) a (sloped) reference plane ?
(btw english is not my native language)


i want the (sloped and named) referenceplane to be the workplane of the structural framing

Hi @Nico_Stegeman,

This can’t be done as far as I’m aware. You can only set by level then change the endpoints to match the plane.