I wanted to give my mother a unique gift for her birthday and while looking at a 3D printed ear it occurred to me that she would love a topographical print of the lake where she parks her RV. 3D maps a fun conversation piece and they can give a better sense of depth than a 2D map with numbered lines.
Fortunately modern open-source software makes this a walk in the park.
Step 1: Turn a Contour Map Into Grayscale
Finding a lake map should be an easy step. If you're stateside the Department of Natural Resources has a site for your state. I think they use their own overlay over Google maps and I included the lake I'm mapping in the pictures. As you can see there are depth lines throughout the lake I've chosen.
It will be necessary to isolate each of these layers and turn them into gray depending on their depth. The deepest part of the lake should be black and the land should be white. You can remember this by thinking of how much sunlight is visible at the surface and the bottom of a lake.
My six year old computer didn't have enough RAM so I had to reduce the image resolution to 160px * 160px. This was easily enough resolution for a 6" print.
Call this image "lake_contour.png"
Did you use something else? Tell us in the comments.
Step 2: Use OpenSCAD to Make a 3D Model
OpenSCAD is more open-source software (that's what the OpenS stands for) and a lightweight modeling program. It's all we'll need to make a virtual 3D model from our image. In fact, we can make the model with only three lines of code and a couple key presses.
Create an OpenSCAD file in the same folder as lake_contour.png. Or just download 3d_lake.scad from this step and place it in the folder with the image. Open 3d_lake.scad with OpenSCAD and press F5. You may have to zoom out (View > View All) to see your 3D map.
Press F6 and OpenSCAD will be begin rendering the model. This may take a long time so be patient. When it is done the OpenSCAD console will say "Rendering finished." Then export the STL (File > Export > Export as STL...) somewhere you can find it with your printer software.
Did you use another open-source modeling program? If so tell us in the comments.
Step 3: Print With Your Regular 3D Printer Software
Open your printer software and import the STL you just created. Scale to make it as small as a keychain or as large as your printer can go. Or you can pay to use a 3D printing service like Shapeways and have a unique sent right to the recipient.
I use XYZware and you can see that I am due for a RAM upgrade.
If you print this map with a low infill it will float! Perfect for a day cruising the lake.
Step 4: About Me
Thank you for reading this Instructable. If you like it check out my site where I blog incessantly about my projects. There is a day-by-day write up of this project and lots of others including a book I'm simultaneously writing and recording as an audiobook. For free of course. It has super powers, family crises and flying ships.
I have lots of 3D printed projects and lots of projects which don't use a 3D printer.