Generating a closed terrace topography from a mesh

I’m trying to create a closed brep in the shape of a terraced topography from a mesh surface so I can 3D print it. Like this, Terraceterrain|582x500

My method:

In Grasshopper I find the edges of the mesh surface (using Mesh NakedEdge) , project them on a plane underneath the mesh and make sidewalls between the mesh edge and the projected curve - the expectation being that I will get closed curves or atleast curves I can use after I Contour, with Boundary Surface to make all the contours into surfaces that I then Extrude down the same distance as my contour distance. Then Boolean Union the resulting breps.

I’ve been using two different approaches in making the mesh surface:

  1. Convert a DEM file to Heightmap with QGIS and using the heightmap with the Heightfield command

  2. Convert a DEM file to ESRI grid (ascii) with QGIS and using dtm ascii to mesh component (using all ascii points as resolution)

When I reference the mesh from the first approach it works, when I use the second approach the Boundary Surface component only makes one surface. Using the second approach I also tried joining what contour curves I was able to and running Boundary Surface on just those, but once again it only creates one surface (input is flattened).

The questions I’m stuck with are:

A. I would expect contouring a surface with sidewalls would leave me with closed curves, or atleast curves that I could join into closed curves, or which would work with Boundary Surface - is there a better way to do this?

B. Why won’t the Boundary Surface component make more than one surface even when I have culled the input and I’m only sending it planar curves?

I’m new to grasshopper and rhino so I’m assuming I probably missed some of the nuance in how these components work “under the surface”, so any help on that is also much appreciated!

Screenshot of .gh file:

Attachments: (The different surfaces I’ve used are in the .3dm file)
3d topograhpy.3dm (1.4 MB) (116.7 KB) (19.2 KB)

Not sure why yours doesn’t work, anyway using solely mesh works well in this case… (385.0 KB)

1 Like