How can I use a topo surface to set foundation depths

Hi all. A friend of mine has created a grasshopper script which allows him to instantly set the depth of pad foundations by attaching to an undulating surface. I will upload an image of this for your reference. I am suspecting that I will be able to replicate this for use in Revit using Dynamo in some form. I have made a reasonable start to this by getting my topography in, creating grid lines and points at intersections (which I could use to place elements or families), and extruding the gridlines to intersect with the surface using ‘grid.curve’. I am now at the stage where I want to be able to set the points also intersect with the surface in order to obtain a z value, and it is this stage of the process that I wish to ask for any advice or suggestions. I have a couple of ideas in my head, like using an adaptive family to snap to the surface, though I’m thinking this may require more than one script and could make the process a bit convoluted. (I also placed some vertical lines at grid intersections, thinking I could use them intersect the surface). My end goal is to be able to feed the z values into a foundation family depth parameter and make the process smooth and un-convoluted as possible. As always guy’s, your suggestions and advice is really appreciated.

it looks like you need to determine the distance from the level to the topo and use that to drive a parameter in a family – how are you modeling your foundations?

yes that would be one way. i suppose i either want the distance as you say i.e the depth of a pad family, or the z value in the project i.e. the survey point. Any ideas how might get the distance from a level to the topo?

i was thinking i would use the points at the grid intersections to place pad foundations, probably with a constant top level

extend lines down to the topo, find the intersection between lines and topo, find the distance between points

I was thinking the same thing but couldnt get it working. Ill persevere with that and get back to you. Thanks

if i can find it i’ll dig up something i did awhile back that is similar

:grinning: :+1: got to clock off now

Hi Greg,

Thank you for your idea. I create script as your guide. It runs ok.
Firstly, we set base level for foundation and select the grids for intersection points to place.
Secondly, we select Topography and use Topography to Mesh to get surface.
Thirdly, we pull intersection points to plan from base level and lowest level. after that, we create line curves from these points.
Finally, We get intersection points from line curve and surface of Topography. So we have the line curves from points on base level and point on surface of Topography. The height of Foundation will be length of these line curve and Base point of Foundation will be points on base level.
Before running the script, we should create the structural foundation family including height, length and width with instance parameter.

I hope this information to help you.

Guy’s, thankyou ever so much for this! I am going to have a real good crack at this, though im sure you can understand in this modern life finding the time is always an issue. So i will be getting back to you im sure, but when, not so lol. Just one question for now, are these lines we are placing in dynamo actually model lines in revit or do they only exist while running dynamo?

Guys thanks gain for this i managed to get it working over the weekend. It looks slightly different but fundamentely is the same There may well be more i want to do with this but for now i can mark as sloved :+1: :+1: