Move surface to lowest point of topography


How would I get dynamo to move square/rectangle shape surface to move to lowest point of topography?
Currently my graph creates array of points but is not accurate because the points may not be over the lowest part of topo. To get better accuracy means to create more points which will slow script down.

Aim is to get current revit family level and change parameter so it moves to lowest part of topography.

Anyone have better idea?

Also is it possible to keep the “Empty List” values after flattening? This is so each z value matches up, and empty list wont calculate which is what I want, provided this method is still required.

If all you need is the lowest Z value, you can take the bounding box and then take the minimum point.

this is what I want to achieve:

  1. Create surface as you have
  2. Get bounding box from topo element
  3. Get min point with a BoundingBox.MinPoint node
  4. Get Z value using a Point.Z node
  5. Get a point from your surface, and pull the Z value.
  6. Subtract the the two Z values, get the absolute value, and multiply the result by -1.
  7. Use a Geometry.TranslateByDirectionDistance to move your original surface along the Z axis (Vector.ZAxis node) by the negative distance found in step 6.
1 Like

Thanks everyone.
But I have several surfaces so what I really want is min Z-point of topo at each of these areas.
Is there a way to create topo bounding box the same x,y size of surface so it can work out the local min point?

Does Surface.ProjectInputOnto work with a surface as the input? If it does, you could project the surface onto the topo, then take the new surface and find the bounding box/minimum z point.

1 Like

Couldn’t get it to work when i wire like this;

What version of Dynamo are you using, 1.3?

Also you are inputing a point for the surface input, you should be using surfaces for both inputs.

Can you please show the full graph with outputs displayed? It is hard to see what you are doing.

You’re feeding a point into the surface input. :slight_smile:

1 Like

Yes, thanks for picking that up. But feeding surface result with empty list.
Dynamo to be exact.


Likely you have the wrong order for the surface inputs. The topo should be the surface input, the surfaces you want to move should be the inputs to project. And can you reupload the pictures with the outputs displayed? Just seeing the nodes doesn’t show us what the process is.

Ive fixed the inputs (still empty list) and shown the outputs.