This is a project that Xiaoji and I have been working on for quite some time.

HashTable implements a design process whereby algorithms, geometry and digital fabrication come together in service of material reuse. We see a great deal of waste in fabrication shops and in this we see an opportunity for sustainable practices played out at the local level through computational techniques. HashTable is a system that allows a user to scan scrap material into a program which will algorithmically search for ideal placement of parts. By doing this, we are fabricating with zero material cost and negative material waste.

To develop this method, we first needed to establish a geometrical system that allowed for flexibility in the material realm. Because scrap material is inconsistent, the shapes used must be capable of dealing with different scales of cuttable area. For this purpose, we chose a class of 2-D shapes called the Frettloeh Shapes (FS) which have the property that each can be divided into a collection of smaller FS’s. The advantage of this is that if the required piece is not available on the scrap material, we can search for smaller pieces in its stead.
With this geometry in place, we wrote an algorithm that will take as input a FS of a given size and type and a set of scanned scrap sheets that have sufficient remaining material. The algorithm then searches through the scrap sheets to find the shape and recursively subdivides when the shape cannot be located.

To implement the process, the user must photograph and vectorize the scrap material to get it into a format that is readable by the program. Then, through an interface implemented in Processing, the user may pick a size and shape for the table, chair or bench in question. At this point, the search algorithm takes over, looking for two copies of the original shape because of a layered fabrication process. Finally, the program will output the results to files that can be directly sent to the CNC cutting technology of choice (laser, router, water jet).
Upon cutting the scrap material, the final pieces are assembled with the addition of structural supports to complete the table. This is how, using nothing but the leavings from the fabrication shop floor, we can produce new, usable furniture that is customizable, nesting and multipurpose.
At this stage, the algorithm has been fully implemented and we have built a small scale mock-up from actual scrap material from local laser cutters. This process has revealed some flaws in the algorithmic design of the program as well as the tectonic design of the table elements. Using what we’ve discovered in this iteration, we hope to extend the program to process multiple tables at once and to implement a faster and more materially efficient search space.