Change Element Work Plane Parameter

Hi Everyone,
I was wondering if there is a way to change the “work plane” parameter of an element already placed in a model? I tried using the Element.SetParameterByName node but I get an error saying the parameter is read only. Any help would be appreciated.


I read many threads and it appears that the work plane parameter cannot be edited but I am not sure if this is still the case.

I can place a new hosted family and specify the level by using FamilyInstance.ByPointAndLevel node. I can also use the node to get the host level but I haven’t found anything to suggest that i can access “edit work plane” and specify the name of a new work plane (see image below for reference). Can someone please confirm if it is or isn’t possible to change the work plane of a family already placed in the model?


unfortunately i couldn’t found away for that, i think it is not possible in dynamo.
i have manage to do the concept by two ways:

  • replace with new element in the same original one location and it can be managed to put a workplan host
  • edit the family to have a height parameter, and then we can modify this parameter by dynamo to put the fixture on ceiling

That’s what I figured. Thanks for the reply

Hi @paliitali, you can edit the family by unchecking Work Plane Based parameter.

From there you can use the Level parameter as you would with any other parameter and change its value.

The only downside of using Level to Work Plane Based is that you won’t be able to host your family to a custom work plane that you create, as work planes can be at any angle you specify, levels can only be completely flat.

In the example I used an existing level named IT4 - LEVEL 38 and used this string value to override an element hosted on level IT4 - LEVEL 39 which in turn changed the parameter value and the hosted level of the element.

Notice that Element.SetParameterByName will require a parameter of a type Element which is a level rather than a string value.