Pathfinder: 3D Printing Data with Trigonometry and Chance

Year: 2023 Authors: Timea Tihanyi

Core claim

Simple trigonometric coordinate remapping can turn sound data into variable clay textures in ceramic 3D printing.

Topics

data tactility, ceramic 3D printing, algorithmic texture, chance operations

Domains

elementary trigonometry, coordinate geometry, algorithmic computation, digital fabrication, ceramic art, speculative design, visual art

Methods

ambient audio recording, CSV decibel mapping, Python GCODE manipulation, Rhinoceros 3D workflow

Media

clay, porcelain, GCODE, CSV audio data

Paper text

The text below is the locally extracted OCR/Markdown version of the paper. Raw PDF files remain local and are not published here.

Bridges 2023 Conference Proceedings

Pathfinder: 3D Printing Data with Trigonometry and Chance

Timea Tihanyi

Slip Rabbit Studio/University of Washington, Seattle, WA, USA; timea.tihanyi@gmail.com

Abstract

This paper presents Pathfinder, a case study for making sound data tactile in clay, using ceramic 3D printing. Going outside the commonly used practice of generating a three-dimensional design in a CAD program, we have used an algorithm based on elementary trigonometry, which replaces each GCODE coordinate with a new one. The sound data determines an alternative path for the printer nozzle, resulting in an object with a highly textured surface. The project also demonstrates the wonderful role chance and glitch play in algorithmic processes.

A Brief Introduction to the Ceramic 3D Printing Process

Ceramic 3D printing has begun a decade ago with machine, workflow, and software experimentation by designers, engineers, and architects. Clay was originally used as a pliable, experimental medium [5], then became an art material with the involvement of potters in ceramic 3D printing. In the studio practice, 3D printing with clay is an extrusion process, similar to PLA printing [2], but its scale is much larger, and its results are more tactile. The printer extrudes diameter coils and lays them atop one another, building up the walls of the form layer by layer. In a typical 3D printing workflow, the object is designed in a CAD software, resulting in an STL or OBJ file. The geometry of the digital object is then translated by a second type of software, the slicer, into GCODE. In addition to simple instructions for machine operation [1], GCODE is a set of printing instructions that divide the object into a stack of layers and describe these layers as linear movement paths from vertex to vertex using XYZ coordinates.

The simplicity of this system invites experimentation at every step of the workflow. I am a visual artist with no formal background in mathematics. I collaborate with mathematicians and designers frequently, finding unique conceptual solutions for problems, which fall into areas of speculative design and mathematical thinking. Clay adds a level of unpredictability to the 3D printing process (Figure 1), since it keeps transforming not only during the actual printing but also after, in the drying, finishing, and firing process [3].

img-0.jpeg Figure 1: Examples of 3D printed porcelain using the Pathfinder code. The basic shape is the same, while the surfaces vary depending on the algorithm settings and on glitches of the code or printing.

Tihanyi

The Pathfinder Workflow

The process began with recording ambient audio with a phone app (Voice Recorder). The app allows saving and exporting the sound volume (dB) data as a comma-separated values (CSV) file. In an everyday environment, such as a home, office, restaurant or street, the intensity of the sound recorded usually ranges between 30-120dB. We divided this into four ranges, based on human capacity for hearing: <40\mathrm{dB} for soft almost inaudible sounds, 41-65dB for speaking voice, 66-85dB for loud noises, such as city traffic sounds, >85\mathrm{dB} for sounds causing hearing loss. In addition to the sound file, a basic three-dimensional shape was created in Rhinoceros 3D, a surface modeling CAD program. This shape was processed by a slicer software, resulting in a GCODE form file, which then was further manipulated by a custom Python program I call Pathfinder code.

The idea for the project was inspired by considering various ways by which data can alter form. In my previous work, ListeningCups [4], I had done so by taking advantage of the pause command in the GCODE [1], which resulted in a passive extrusion in place, showing up as a small bump on the surface of the printed form. In the Pathfinder project, my intention was to create bigger textures by displacing segments of the wall within each slice. Each layer of a GCODE in 3D printing consists of only polygons, linear paths between XYZ coordinates, which form the vertices of these polygons.

The key idea of Pathfinder is that keeping the Z height the same within a layer, it is possible to consider each of the polygon vertices as rotational centers of a smaller planar circle. If we keep the radius of the small circles consistent, we can find 4 neighboring points on each of these, placed at every rotational angle, starting at away from the radius of the original point . The new points (ABCD) may be considered to form two other boundary polygons, one on the inside and one on the outside (Figure 2).

At each of the original points of the perimeter of the object there are four possible alternative locations the printer nozzle can detour to. The Python program we created calculates the positions of ABCD using elementary trigonometry. The user sets up which decibel range will be associated with each of the ABCD positions, then runs the code, which generates the revised coordinates. As the end result, the perimeter of the walls will move in and out, creating a textured surface. This process, while driven by an algorithm, is a form of chance operation [6], resulting in texture variations and a somewhat different shape every time the code is run.

img-1.jpeg Figure 2: A sketchbook drawing detail by the author conceptualizing the Pathfinder code.

Pathfinder: 3D Printing Data with Trigonometry and Chance

When creating the code, we took care that was always chosen relative to the actual printing nozzle size (< half of nozzle diameter), which ensured that consecutive layers could still rest on one another, even if only partially supported. Occasionally a slip happened, resulting in smaller or larger sections of the extrusion leaving the perimeter of the object (Figure 3).

img-2.jpeg Figure 3: Sections of the perimeter create smaller or larger “dropped” loops of clay. These are unpredictable glitches of code and clay, which make printing with the material somewhat unpredictable and filled with exciting potential.

Variations and Further Possibilities

Developing the Python code, we started with the basic cylinder shape for the object, which provided a constant and reduced some of the coding and structural challenges. This allowed us to experiment with the number of vertices within a layer and the spacing of the points to arrive at legible but also structurally sound iterations. Later versions of the code opened possibilities for applying Pathfinder to form files of organic and complex starting shapes. In additional versions, we specified horizontal bands of the object by layer number (Z height), which received texture, while other sections remained unaltered. Further steps will explore a combination of these strategies in order to develop more complexity in the design.

Summary and Conclusions

3D printing with clay provides tremendous opportunities for innovation through iteration. Even the most elementary mathematical ideas can be quite useful when exploring novel possibilities within the printing workflow. Clay adds unpredictability and physicality to the process. When spatial information is combined with other types of data it can result in unique tactile expressions of form and texture (Figure 4).

Tihanyi

img-3.jpeg Figure 4: Pathfinder code applied to the mid-section of this vessel. The slip in one section of the wall jeopardized the structural integrity of the entire form but also created an aesthetic focal point.

Acknowledgements

Daria Micovic, a former intern at my studio, Slip Rabbit, helped to write the Python program for this project.

References

[1] Marlin Firmware. GCODE commands. https://marlinfw.org/meta/gcode/ [2] H. Segerman. Visualizing Mathematics with 3D Printing. Baltimore: Johns Hopkins University Press, 2016. [3] T. Tihanyi. Making and Breaking Rules with Algorithmic Forms and Tactile Processes: a Technoceramist’s Adventures with Mathematical Thinking. Slip Rabbit Studio, Seattle, 2020. [4] T. Tihanyi and A. Desjardins. “ListeningCups: A Case of Data Tactility and Data Stories.” ACM Proceedings, Designing Interactive Systems (DIS), San Diego, United States. June 23-28, 2019. ACM Digital Library. https://dl.acm.org/doi/10.1145/3322276.3323694 [5] C. Warnier, D. Verbruggen, S. Ehmann, and R. Klanten. Printing Things: Visions and Essentials for 3D Printing. Berlin: Gestalten, 2014. [6] Walker Art Center. Chance Conversations: An Interview with Merce Cunningham and John Cage. April 6, 1981. https://walkerart.org/magazine/chance-conversations-an-interview-with-merce

0 items under this folder.