Slicing software
Slicing software takes a 3-dimensional model and "slices" it into an array of two dimensional layers. These layers are communicated to a 3d printer in order to tell the print head where to travel as it extrudes each layer of the print.
Most slicing software starts with an .stl file and outputs the g-code file which contains the necessary instructions for the 3d printer.