The Language of 3D Printing – GCODE and STL

Objects in digital 3D space are represented by a combination of one or more surfaces. A surface can be composed of one or more polygons and each polygon can have multiple faces. 

 

Head over to here to get a good overview on how the combination of vertices, edges faces and polygons can create a 3D object:

https://en.wikipedia.org/wiki/File:Mesh_overview.svg

If a 3D object for printing is downloaded or created from scratch, it usually is saved in STL format. While the acronym STL is debatable ( Stereolithography or Standard Tessellation Language) its function is ultimately to provide a format in which to represent a three dimensional object in software. STL isn’t the only format that is 3D objects can be represented in. Many different file formats exist to represent 3D objects in various 3D software applications (ie. .3ds, .blend, .dfx…). While other software applications like Blender can be used to create 3D objects, in order to prepare it to be converted into 3D print it will be exported as a STL file.

There are many types of software that can view and manipulate the STL 3D objects, like CAD or 3D printer slicers. Outside of the 3D printing space, a STL object can be represented by a wireframe. 

Sometimes when creating or downloading STLs to import into a slicer to print, errors in the object may be detected. This may mean the STL representing the object is incomplete and that there are missing edges or polygons in the 3D object. In order for the slicer to convert the 3D object into GCODE it needs to each polygon that to be closed and complete. For example, if you drew a square  with only 3 sides and were asked to divide it up in 4 equal parts, how would you be able to without the fourth constraint? This applies to the software that is tasked with identifying each surface and ensuring it is c

 

 In order to prepare a 3D model for printing, the 3D object needs to be converted into code that can be interpreted by a 3D printer. Printers that print a complete 3D object layer by layer are called FDM (Fused Deposition Modeling) printers. These the most common type of 3D printers. In order to print layer by layer, the printers need to understand how each layer is divided up. This conversion from a solid object into many layers is done with software known as a ’slicer’. Along with the sliced object, many other details required to print the object are specified like its dimensions, how fast to print it, the temperature at which to print and many other details. All this information is stored in a GCODE file. GCODE is the language that a variety of multi-axis manufacturing devices use to understand where to put the tool in a 3D space. Many manufacturing devices like CNC machines need to know where in the X, Y, Z space of its operating area it should position itself. 

For a visual representation of this process, check out the video below: