Dynamo&Revit : Moving all elements referenced to a level, to a new level

Hey there. Just having a problem finalizing a script and wondering if anyone could add some insight.

I’m trying to move a bunch of equipment referenced to the wrong level to the correct level using dynamo.

I even tried to create a custom node however it still isn’t giving me a response. Perhaps I am using the wrong wording for my output?

I have attached my script and the custom node.

Any insight on a better output or assistance with knowledge or information would be greatly appreciated.

Just an update. still not sure if this is getting any further though - should I maybe turn the node into a code block and then script in python?

You need to use an Element.SetParameterValueByName node. See here for more detail.

1 Like

Hi Jacob. Thank you for your response so quickly - I’m getting my head around that post and your response to where it was going, so will alter my script accordingly and hope for the best tomorrow morning - if I’m completely stuck and hitting a limited knowledge brick wall I’ll be back.

Sounds good. Be sure to post images as I may be without a laptop but on my cell for awhile yet. (Stuck flying standby from Heathrow airport)

Having same problem but couldn’t figure out a solution according to this discussion.
Has there been any progress? Or another thread?
Thanks for the help

[quote=“Meloschez, post:6, topic:17954, full:true”]
Having same problem but couldn’t figure out a solution according to this discussion.
Has there been any progress? Or another thread?
Thanks for the help

The ref.level of an element is a Revit.Element.Level Type so you can easily set the new desired reference level by using something like:

which elements are you trying to move? tested on a few geometry like pipes - works.

Thanks @Ali_Daniel

I finally figured out by using BIMORPH package a very simple (and functionnal) way to batch-transfer every single element from one level to another (in my case 685 elements)


.

2 Likes

Just to add some clarity to this thread in case it resurfaces in future, the reason you cant use a single basic node to change levels of multiple elements is for a variety of reasons but the main ones are:

  1. Different types of elements reference levels in different ways and parameters. E.g. a wall uses a different parameter to a family at a point.
  2. Some elements may use workplanes or faces and depend on their host for their level
  3. Some elements may be grouped, so follow their group for levels
  4. Some may break if they depend on two levels such as walls. If the base goes up the top must also to ensure it remains floor to floor in nature

Nodes like the above go through a series of steps to identify what type of element it is and target the right parameter(s) to change levels.