Blender 2.8 - Make terrain from contour lines

Hi there Blender Artists Community.

I’m using Blender 2.8 and have an imported file with land survey information. The land is quite large (18.5 acres/7.5 hectares). The survey information is in the form of contour lines. Each contour line has many vertices along it. There are about 7500 vertices for the entire survey.

I want to create terrain from the contour lines and smooth it out. I have tried everything I could Google and nothing seems to work; create faces, fill faces, grid fill. I’d like to try the Bsurfaces add-on but I don’t believe it works with 2.8 yet?

I tried the shrink-wrap modifier to wrap a plane onto the contours and it doesn’t wrap right to the bottom of the hills for some reason (file attached). Does anyone know how to fix the shrink-wrap modifier?

Is there another way for me to achieve this in Blender 2.8 given there are so many vertices to create faces between?

Many thanks.

Shrinkwrap Example.blend (1.1 MB)

In all programs that I have experiece with - Rhino, Revit, Autocad, and Blender, terrain based on contours is done with the same underlying algorithm - delaunay triangulation.

In Blender, the GIS addon has a delaunay triangulation, but be wary that it may take a while to compute since it’s python based instead of C/C++. I suggest doing a few contour lines to see the initial result.

The result will be a triangulated mesh, but you can then project a subdivided surface with the shrinkwrap modifier, if you need something a bit smoother.

1 Like

Thanks for your response. I tried searching for a GIS add-on in Blender but it wasn’t there. Does it work with Blender 2.8?

Never mind. I just realised you included a link. Thanks. I’ll try it out.

That did the job perfectly! Thanks very much for your help.

glad i can help :wink:

Scipy (python mudule) provide a fast alternative to pure python (Qgis delaunay based implementation).
I’m working with domlysz to implement archipack’s solution right in blenderGIS. Unlike max / rhino / other majors, this implementation provide advanced input data filtering to handle over sampled data in a cleaner way and result in a far better and faster triangulation. Around 2.5 sec for 1.5 billions input points.


Good to know. Thanks, and I look forward to it.

Hi, I am trying to achieve the same thing here but failing. I have GIS installed in Blender 2.8 and it works fine for various youtube tutorials. I say that to show that it works as expected. What I am trying to do is import a shp file (contours) and a tiff file (picture of the ground) to make a simple terrain based on the contours. I cannot work out what to do. When i select the contours (mesh) and press “Delauney” in the GIS menu, I get a grey “layer” with the corners turn up a little. Can you help.I cannot upload files yet, (I have the tif and shp files to hand) but perhaps I am missing something.

I suspect that I have not made the shp file in the right format ??

Ok, I worked out all the things I was doing wrong. I was not importing the shp with the correct CRS and I had to try a lot before I found the one which mapped to my shp file. Also I was not importing the ELEV data because I did not see it. the elev data was not sufficiently diverse for my needs, so when I got the Delauney button to work on the contour mesh, it was barely noticable. Then I found that I was also not importing the raster tiff correctly, selecting the contour mesh as the mesh, instead of the new TIN layer which was created. There are a few nuances, which are skipped over in the youtube videos I have watched. Got there in the end in 2.8

1 Like