I’m trying to make a site plan that is deformed to the topography. I’ve attached some images to help explain.
So I was given the site buildings and surfaces shown here. They were all completely planarly aligned on the bottom. I originally got them as meshes from a SketchUp file, but because I need to be cutting pulling them I wrote a few grasshopper scripts to convert everything to NURBS and simplify some of the geometry.
However, the important part is this area here.
This is where we’re working to propose and the site has a decent gradient/slope of about ~10 feet across it’s north south length. Considering the building will be small, it’s important that we have a somewhat accurate topology map so we can account for cutting or filling. This is only preliminary so there won’t be any surveying, or any super accurate data collected by us at this time, and the original mesh I found seems to be detailed enough.
In addition is the flow of people through the campus, and because there is a slight slope, we want to have this in our model when we’re designing for certain views or approaches.
I don’t have a good justification for all the topography detail 100 feet away from the campus boundary, but we still want to preserve some detail and information as we might want it later.
The way I made site map I have now is as follows. I took the original mesh and did a drape over the top of it trying to max out the values at about 1500 U and 1500 V, but it scales down anyways to somewhere around 700 U 500 V.
I then situate my planar site information over the drape to align as closely with the topology as I can use a small grasshopper script that is able to move all the buildings down to the topology. There’s almost 2,000 buildings so there’s no chance I want to do this by hand. I originally was just trying to use the original mesh but grasshopper was working incredibly slowly with the script I had written which utilizes the Project Point component to get the vertical movement distance for each object. With the mesh it took a tremendous amount of time to compute for some reason but with the NURBS drape it could do it in a few seconds.
The next part was to get the site surfaces (roads, grass and landscaping, sidewalks, etc.) to matchup and follow the topology. I did this by taking the planar surfaces, open extruding them downwards into the topology, splitting the topologys, doing ShrinkTrimmedSrf to save file size, move the trimmed surface up the amount I want, say move roads up 1’ above the topology to elumate road height, or 1.5’ vertically for sidewalks. I finally take the surfaces gumball extrude them directly down below the topology and then Boolean Split to clean up the underside and make it them all flat together.
Now to be fair, it’s not mission critical that everything be a closed solid, the surfaces could just stay as surfaces, but I also want to be able to possibly adapt this for render, and having gaps on the sides where the sidewalk is 6" higher than the road isn’t ideal.
I’m aware that converting from mesh to NURBS in anyway will lose precision, but that’s okay, I’m not looking for inch or sub inch accuracy, just not huge swings that could turn a 10’ slope deviation into a 5’ slope. I could try to cut out the campus site from the original mesh and then do a QuadRemesh subd then ToNurbs and then try to match up a drape for the surrounding topography. Perhaps that would be best, but I’m still interested in other workflows. In a perfect world I could have this all done in grasshopper so that if surface boundaries are changed or added, I can just add them to the planar model and then the script will do the rest of imposing and conforming them to the site. I tried doing this but because of the computation complexity of all the operations put together, it ended up being a better option for me to chunk it and do it manually.
Thanks for the help.