Introduction: Water Works: 3D Prints of the San Francisco Water System With Map

About: Scott Kildall is an new media artist and researcher. He works at Autodesk, Pier 9 and is an artist-in-residence with the SETI Institute

Water Works is a data-visualization and mapping of the San Francisco water infrastructure: the pipes, hydrants and treatment plants that comprise the circulatory network of the city.

For this project, I've created three 3D prints mounted on a wood-etched map based on infrastructure data. They are the San Francisco Cisterns, the Sewers of San Francisco and the Imaginary Drinking Hydrants.

It also has a web-mapping component at

This Instructable will cover the overview of the project, which has many components. I've covered the various parts of this ambitious project in other Instructables, which include:

* Web-mapping in Leaflet and Javascript in Mapping San Francisco Cisterns
* Tricky encounters with the data-mining and the press in Mapping Imaginary Drinking Hydrants
* Creating the mini-3D models that are part of each print in Making Imaginary Drinking Hydrants and 3D Modeling San Francicso Cisterns

* Going from code to 3D print in 3D Printing the San Francisco Sewers

This will Instructable will quickly summarize these earlier Instructables. It will also detail the specific fabrication of the map bases combined with the 3D print, integrating all of the steps in the complex Water Works project.

The Water Works project is part of a larger Creative Code Fellowship, supported by Gray Area, Stamen Design and Autodesk.

You can read more about this project on my website.

Step 1: Three Components of the San Francisco Water System

Here is some background information about San Francisco's water infrastructure that might be helpful.

San Francisco has three different sets of pipes for its water:

Potable Water System — this is the drinking water, comes from Hetch Hetchy. Some fire hydrants uses this.

Sewer System — the city has combines its stormwater and wastewater into the same set of pipes, whose flow is nearly entirely gravity-powered. All of this water goes to the waste water treatment plants, where it gets purified in various ways and then sent to the bay or the ocean. San Francisco is the only coastal city in California with a combined system.

Auxiliary Water Supply System (AWSS) — a water separate system just for emergency fire-fighting. SF is the only city in the US that has something like this. It's fed mostly from the Twin Peaks reservoir.

Step 2: Finding the Data

I worked with a different dataset for each of these three sculptures.

For San Francisco Cisterns and Imaginary Drinking Hydrants, I found datasets by scouring online and wrote my own conversion tools to convert them to a more usable format. The Mapping Cisterns Instructable details this process.

For the Sewer Works — the 3D print of the sewers, I worked with the city of San Francisco to use some of their city data.

Step 3: Web-mapping in Leaflet

The web maps are an important component of the project, since it provides an online map for people to use. Each of these has an interactive layer. The details of the web-mapping are also in the Mapping San Francisco Cisterns Instructable.

My favorite part was creating Life of Poo — an online journey of the wastewater from your toilet and its travels to the treatment plant.

Step 4: Mini 3D-models

For each of the large-scale 3D prints, I created tiny 3D models that are linked together by either support structures (cisterns and hydrants) or by pipe data (sewers).

Using Fusion 360 with the help of Taylor Stein, I designed models which represent a hydrant with a drinking faucet, an underground cistern and chamber underneath a manhole (more of a symbolic representation).

More details on this process are in the 3D Modeling Cisterns Instructable and the Making Imaginary Drinking Hydrants Instructable.

After designing these small 3D models, I had STLs which my custom 3D mapping software could use.

Step 5: From Code to 3D Print

Using custom software that I wrote in OpenFrameworks, I translated each of these 3 water systems into 3D space and then exported them as STL file.

This took a few weeks to build this system and involved a lot of tricky steps. The details about this portion of the project is detailed in the 3D Printing the San Francisco Sewers Instructable.

The results are some beautiful 3D prints, each of which is about 20" x 16" in size.

Now onto the fabrication portion of this Instructable!

Step 6: Etch in Cardboard

As part of the Creative Code Fellowship, I had the good fortune to work with Stamen Design. They provided me a high-resolution grayscale map of San Francisco without street names from their Toner map tiles.

I etched this onto cardboard as a test for the base of the 3D prints. I fit each print carefully above them and made sure the 3D print aligned to the map correctly before going to the next step.

I planned to place the Imaginary Drinking Hydrants and the San Francisco Cisterns over a map of San Francisco. The Sewer Works map is more detailed and I chose the Embarcadero area of San Francisco, which is also where the Pier 9 facilities at Autodesk are located.

Step 7: Selecting Your Wood

Wood is much nicer than cardboard for a finished work of art. From a formal perspective, wood references the construction materials of the Victorian and Edwardian buildings of San Francisco. Burning the wood — which is what we do when we laser-etch — suggests the risk of fire. And San Francisco, has a troubled history with fire, which was the very reason why the AWSS water system was created.

But what type of wood should I use? I wasn't sure, so I purchased about eight samples and tried some test etchings. The two clear winners were poplar and cherry. I chose the cherry wood because it had a reddish color that was more aesthetically pleasing than the greenish-yellow of the poplar.

Step 8: Dial in the Settings

As many digital fabricators know, there is a lot of prep work involved in any project of this scale.

I spent several hours playing with samples of cherry wood until I found the ideal raster settings: 600 ppi, 25% power, 95% speed for an Epilog 120W.

Step 9: First Cuts

I bought several lengths of cherry wood and cut the lengths to 24", which gives enough overage for the 20" length on the maps.

Step 10: Planing and Jointing

This took forever and I messed up the jointing and planing several times before figuring out how to do it properly. The machine was a little bit finicky, but mostly it was user error. I've never done any sort of intermediate or advanced woodworking, so the planer and jointer were new tools for me.

The lengths of cherry wood were about 6"-8" long, so I would need to glue together 3 lengths of wood for each map.

The base of each map could be different thicknesses as long as they looked visually similar. So I made three sets of three lengths, all the same thickness with these tools.

Step 11: Finish Cuts

Using a finishing blade, I cut each piece of wood lengthwise so that they were now all squared, planed and jointed.

Step 12: Biscuits

Using biscuits and the magic biscuit tool, I made grooves in the side of the cherry wood, marking the lengths of wood as A, B & C for easy alignment when I glued them together.

When done, I laid them out on the (relatively) level table in the woodshop.

Step 13: Glue

This was the "fire drill" where I had only a little bit of time to get this right. Using wood glue and clamps, I glued in the biscuits to one side of each piece of wood, then ran beads of glue and used clamps and levels to adhere them together.

I left them to dry overnight.

Step 14: Final Planing

Now that the pieces were glued together, I ran them through the planer for a few passes to get them perfectly planed. They looked perfect.

Step 15: Measure, Then Etch the Maps

After doing some final measurements, I did the final etchings of each map. They came out beautifully.

Step 16: Final Cuts

The first of many moments of truth — I did the final cuts on the newly laser-etched maps. Very carefully and very slowly. I didn't want to trim off any extra material.

Step 17: Light Sand

To protect the edges, I did a very light pass with a sandpaper-and-block on the edges and corners. 320 was my grit of choice.

Step 18: Make the Drill Template

The map etching was now complete. What I did next was to make a drill template for the San Francisco Cisterns and Imaginary Drinking Hydrants.

In the OpenFrameworks code, I outputted a text list of the x and y position of the supports for the cisterns and hydrants — these are specific hydrants and cisterns that have holes in the bottom of the model for moiunting.

There were about 8 on each of these. Using Illustrator, I created drill holes for the placement of the 3D print on the map.

I planned to have each 3D print be suspended in the air by about 1/2" from a thin stainless steel wire.

Step 19: Drill Holes in the Bottom of the 3D Print

The San Francisco Cisterns and the Imaginary Drinking Hydrants each have holes in the bottom of specific hydrants / cisterns in the 3D model itself. However, there was support material and inexact tolerances, so I drilled out 1/16" holes on the bottom of these two 3D prints.

Step 20: Cut Wire Pieces

In addition to the x and y location for the drill template, I also included the z height, adding 1/2" to each support so that, for example, the hydrants would attach to the base and look slightly suspended.

Using a pair of pliers, a fractional measurement chart, a sharpie and and a ruler, I cut various lengths of 1/16" stainless steel.

Step 21: Fit With Pins

I fit the bottom of the hydrants with the pins and made sure the pins aligned to the drill template. I made adjustments on the pin heights to make sure the fit was perfect.

Step 22: Clamp to Map

Now that I knew the drill template was correct, I clamped it to the etched maps for the San Francisco Cisterns. Then, I did the same with the map of the Imaginary Drinking Hydrants and its drill template.

The Sewer Works 3D print was handled in a different way.

Step 23: Transfer Punch

Using a transfer punch, I made divots for drill holes on the maps. Yet another moment of truth.

Step 24: Drill Holes in Map

This was a job for the drill press. I first did a sample in plywood and then on the real thing. Yet another moment of potential disaster if I made a slip-up.

Step 25: Drill Pieces for Sewer Works

The Sewer Works print was a different case. I drilled out holes for the pins on the bottom of the print by hand. I did a cruder job of figuring out how the pins fixed to the surface, making a drill template by less technically savvy means.

This was definitely another time where I was worried mess up somehow, like drilling through the top of the 3D print. Fortunately, it worked out fine.

Step 26: Light Coat of Varnish

I applied a light coat of glossy varnish to bring out the color of the wood and mostly to protect the wood. It was an extremely light coat.

Step 27: Press Pieces Into the Map

Using an unsharpened pencil, I pressed the 1/16" steel rods into the holes on the map. They seated themselves very firmly.

Step 28: Final Fitting

Using the pre-fit holes in the model, I went through the long process of fitting each 3D print onto its respective map. There was a lot of pressing, pulling and slight bending to get the print securely mounted.

No epoxy or glue was required — once I got the print on, it stayed on very securely. I even used a mirror to see the supports in certain cases.

Step 29: Final Look, Front View

I was super-pleased with how these came out.

This was an ambitious project, even for me and involved my entire toolkit of knowledge: intense code, 3D models, data parsing, research and wood-working.

I spent so much time making these pieces and was very happy with the results.

Step 30: Done!

And here is more of a 45-degree angle view.

I hope this was helpful!

Scott Kildall

Check out the Water Works site

If you're interested in other projects, you can find me here: @kildall or