Atomatic displacement

Hi, i’m trying to make a routine that should select all the pipes placed in the model, and move them some meters in the X-axis and in the Y-axis, several times, something like move in x 9800mts 100 times, but i don’t know how to solve this, any idea?

What have you tried?

From a Dynamo standpoint this is pretty easy.

  1. Get the location of the existing pipe.
  2. Build a range using design script ‘0…#100…9800;’
  3. Drop the first item in this list with the List.Drop node (after all you already have a pipe at that location so you don’t need a new one).
  4. Geometry.Translate node to move the geometry along the X and Y axis by the resulting distances.
  5. Create a new pipe at each location.

Steps 2-4 look like this:

i think i can work on that idea, but i need to move a group of pipes without duplicating them, i undestand that the code you propose wil make a hundred copies of each pipe. is that right. Sorry i’m just learning Dynamo.

So you need to move 100 pipes by a given distance? That would be closer to:

  1. Element.GetLocation
  2. Geometry.Translate
  3. Element.SetLocation

However if you have massive systems of pipes with connectors and such, things may not want to do that. You’ll have to try out something and show where you get stuck for us to help.

i draw a sewer pipe network, with chambers and pipes. I used to diferent routines. the chambers were set in coordinates with no problem, the pipes suffered the formation due i used the pipe.from.lines node from MEPover wich uses milimeters instead of meters (I used as imput a mixture between meters and milimetrs because the coordinates where like East=678063 North=677944 Wich needed a geometry scale Extra Large, if i convert these coordinates into milimeters i get out of scale), after that i tried to work in milimeters (working near E=0,N=0 and then move all the pipe system to the correct coordinates (Adding the same offset in all pipes) but Revit only allows me to move 9144 meters each time so i must repeat the moving sequence like 100 times in orden to get the right place. i’m trying all the suggestions but i can’t make it work.!AhYpIKYxZPq1ggMfwYH887jAP6H8?e=sKWWxe that are the files i 've been using, but i can’t match pipes and chambers.

I just manage to move the entire system, now i should make a routine that repeats this sequence X times.!AhYpIKYxZPq1ghLVT0gkuXxfafNM?e=lkmK00

I think you could do this way.
Get all the pipes, pipe accessory, fittings (Everything you want to move, In dynamo or revit anyway)

Create one assembly / group ( One that groups all the things, if dynamo you have create assembly node)

Just simply move the assembly/group in revit.

Im sure this will give the result. :slightly_smiling_face:

This is something I haven’t seen - you might want to try going the full distance in one run.