Stacked layers
Slice any 3D model into layers that stack back into the shape.
A layered topographic map from a heightmap or a terrain model.

In short: A layered topographic map: a heightmap image or a 3D model of a landscape cut into stacked contour layers, with contour lines engraved between them and hidden pins that line the stack up for gluing.
Layered relief maps are a classic laser-cut gift: a hometown's hills, a favourite mountain, an island. Give the generator a heightmap image (lighter is higher) or a 3D model of a landscape, and it cuts it into stacked contour layers, one per sheet thickness, on a base in the shape of a rectangle, a circle or the coastline.
Contour lines are engraved between the layers. Add an SVG or PNG of place names, roads and rivers, and each marking is engraved on whichever layer is on top at that spot, so a road climbs the hills with the terrain. Hidden pins in blind holes keep the stack in line while it is glued.
You choose the map size, the height of the relief and the sea level. Start from the built-in island sample to see how it works. Your files are read in your browser and never uploaded.
You need: plywood (or card), glue, and short pieces of dowel for the pins.
All of these can be changed in the app, and the 3D preview updates as you type. The name under each setting
is its key in a share link, e.g. https://laserpuzzle.app/app/#/relief?source=…; a link only
needs the settings that differ from the defaults.
| Setting | Default | What it does |
|---|---|---|
Heightmap or 3D modelsource | your file | A greyscale PNG heightmap (light = high, transparent = off the map) or a 3D model of the terrain (a closed mesh, STL recommended). |
Dark is highinvert | off | For heightmaps that use dark for high ground. |
Up axisup_axis | z | 3D models: which axis of the file points up. 'auto' = the longest one. Options: auto, x, y, z. |
Upside downflip | off | 3D models: flip if the model comes out inverted. |
| Setting | Default | What it does |
|---|---|---|
Map sizesize | 150 mm | Length of the map's long side. From 30 to 1000 mm. |
Relief heightheight | 24 mm | From sea level to the highest point, rounded to whole sheets. 0 keeps a 3D model's own proportions. From 0 to 300 mm. |
Sea levelsea_level | 0% | Everything lower than this share of the height range is flat (sea, lakes, valley floor). From 0 to 90 %. |
Shapeshape | rectangle | The map's outline. 'outline' follows the coast: the land at sea level (or the image's opaque pixels). Options: rectangle, circle, outline. |
Base sheetsbase_layers | 1 | Solid sheets in the map's shape under the relief. From 1 to 4. |
| Setting | Default | What it does |
|---|---|---|
Smallest featuremin_feature | 2 mm | Narrower bits and smaller islands are left out of a layer (they break when cut). From 0.5 to 10 mm. |
Smoothingsmooth | 1 mm | Heightmaps: blur radius on the map, evens out noise and pixel steps. From 0 to 10 mm. |
Contour lines per layercontours | 1 | Engraved lines at heights between one layer and the next, like on a printed map. From 0 to 4. |
Engrave next layer outlineengrave_next | on | Score where the next layer goes onto each layer (hidden once it is glued). |
| Setting | Default | What it does |
|---|---|---|
Markingsoverlay | your file | Optional: an SVG or PNG the shape of the map with place names, roads, rivers... Engraved on whichever layer shows there. SVG: filled shapes are engraved filled, strokes as single lines (text must be converted to paths). PNG: dark on white or transparent. |
PNG markingsoverlay_style | outline | A PNG's marks engraved as outlines, or filled with close hatching (darker, slower). Options: outline, filled. |
| Setting | Default | What it does |
|---|---|---|
Alignment pinspins | 2 | Hidden pins in blind holes that line up the layers while you glue them. From 0 to 4. |
Pin diameterpin_diameter | 3 mm | Measure your dowel or skewer. The hole is this + clearance. From 1 to 10 mm. |
Plus the material and machine settings every generator has: material thickness, kerf, slot clearance, sheet width, sheet height, part spacing, engrave part labels, cut line colour, engrave line colour.
Slice any 3D model into layers that stack back into the shape.
ProType a child's name and get chunky letters that drop into their own pockets in a tray.
ProA finger-jointed box with a snug cavity cut to the shape of your object.