First topographical carving

10m topographical data from USGS, imported into qgis where I added street vectors and then imported into vcarve to generate the paths.

Pretty pleased with it for a first attempt :slight_smile:


This looks great! What bits did you use?

1 Like

Thanks :slight_smile:

Roughed with 1/4 and 1/8 flat end mills and finished with a .5mm bullnose and a tiny stepover, no sanding, then finished with the laser streets.


That looks really cool.

1 Like

In fact this is 1m data, not 10m, amazing the detail you can see.

If you don’t mind the hassle, can you explain how you were able to capture this data from USGS and convert it into a usable 3d file? I was able to get a .tiff file, but then I hit a wall. Maybe .tiff is the wrong route, I am not sure.

Okay so you’ll take the tif and add it as a raster layer ctrl-shift-r
Install the DEMto3D plugin
If you only need a piece of the tif go to raster > extraction > clip raster by extent
Click the dots by Clipping Extent and select draw on canvas
Once done you now have a layer with just the bits you want on it
Export that layer as an STL Raster > DEMto3D
Select Full Extent for Print Extent (magnifying glass with arrows)
Model Size you recommended spacing, say 0.2
Width is how wide you want the STL to be
Vertical Exagerration makes the stretches it on the Z axis to bring out height features
Model height I typically use 50 to 100m below the lowest point shown, that gives you a base for your model
Export to STL and you can then import that into whatever you are going to use to create your toolpaths, Fusion360, VCarve etc

The streets are a bit trickier but let me know if you want me to go over that too.

Good luck!


This requires me to download QGIS, correct?

Yep, all done via qgis

You’re saying I can also get the tiff through QGIS? I got it somewhere else but it would be nice if I could do it in QGIS instead

I got the tifs from here - click launch app here and you can search for tifs for the area you zoom into


So if my lowest point is 0, then i use -50m?

Yes, is your lowest point actually sea level? Also at that point you can just experiment, depends on your stock and how you’d like things to look.

I was using 20mm stock and 127mm width for mine but need to take into account the max height difference (if it’s small you can exaggerate it in the export) and play until you get a decent base on your model that won’t bottom out your stock.

Got it! I think my problem was I was using a GeoTIFF. So my lowest point was always zero. Not sure if that was the issue or not, but anyway I used a .tiff and was able to produce a good STL.

Thanks for all your help Damian. I’ve been wanting to figure this out for a while now.

That looks great - glad you got it figured out :slight_smile: If you bump the vertical exaggeration you’ll get taller peaks if that’s what you want (and you can decrease the height below zero to get a thicker base).

1 Like

Bumping the peaks(stretching the image), the little known - but very obvious when you recognise it - trick for mountain and fjord-photographers in Norway!

I would do precisely the same if I was to print/mill an area. It just shows how flat and underwhelming most landscapes are from a distance :wink:

1 Like

This is SO helpful, thanks for explaining how to do this. I was able to figure it out pretty quickly now. I never knew how to convert the imagery to 3D and I’ve always wanted to do a topographical carve!

1 Like

Great! Would love to see what you come up with :slight_smile:

How do you get the laser paths for the streets? Do you use the laser add on in vcarve?

Yes - to get the streets…
First open the processing toolbox (ctrl-alt-t)
Extract Layer Extent, you’ll choose the clipped topograhical extent you created earlier
Using the QuickOSM plugin run a quick query for Highways/Streets, change the area to Layer Extent and select the layer extent created in the previous step
When you run the query some streets will extend beyond your extent so in processing toolbox select intersect and choose the streets layer as input and your extent from above as the overlay, this will create a new layer with the streets confined to your extent
Install the SimpleSVG plugin
Select the street intersection layer and then
Web > Save as SVG and you can import that to vcarve
Delete the big box that comes with the svg and group the rest
Align the svg layer center with the topo center and then scale the svg layer to the same width as the topo layer (in my case 127mm, 5") and you are all set to create the laser path (select project onto the model)

This is what it looks like in qgis when it’s all clipped