Attach site components to a linked toposurface

Goodmorning everyone! I need to place floor site components on a linked topography. In this case the components do not recognize the host and behave like normal level-based elements. Is there a way to automatically move elements on the toposurface? I’m trying with Dynamo but with poor results … thanks to anyone who will give me an answer! !
trees_site|690x400

This is how i would approach this:

  1. Get the origin point from each floor site component.
  2. Create a line with the Z-axis (and the origin) and extrude this line 1km up and down.
  3. Get the intersection point from this line and the top face of the surface.
  4. Now you have 2 points which are the same in X and Y but different in Z. Get the difference using a very simple Z1 - Z2 formula.
  5. Move (translate) each object in the Z-direction according to this value. positive or negative shouldnt matter it should always end up so that the distance is now 0m.
1 Like

Thanks, now I’ll try to create a script, I’ll keep you updated

1 Like

Hello Daan,

Thanks alot for your input.
I struggle with step 3.
3. Get the intersection point from this line and the top face of the surface.
Any tips on how to achieve that?

Hi @gerbenKAG9F,

To get the intersection point between, in this case a single surface and multiple lines, you need the node Geometry.Intersect (see Dynamo Dictionary). This will output a list of points where your lines intersect with your surface.
Now you can use these points to measure the distance from your starting points.