3D Printing – Part 1: How it Works, and What it Uses

By Steven Bennett, Technology Specialist

Hey everyone; Steve here. So you’ve more than likely heard or seen something about the newest maker movement: 3D Printing. But what is it, and why should you be interested in it beyond the occasional news article and Facebook post? What does it even do? Well, over the next few parts I’m hoping to give you all the info and know how on 3D Printers, so that not only will you be able to say “I know how it does that,” but will help you decide if you can use this technology in your classes. So let’s get started!

3D Printing: How it’s Made (or rather, How it Makes)

When I’m explaining how most 3D Printers work, I often compare them to “extremely precise, computerized hot glue guns,” and it’s actually not far from the truth. Most commonly seen 3D Printers are based on a technology called Fused Filament Fabrication (or FFF). In essence, the printer works by feeding plastic filament into a heated extruder (commonly referred to as a “hot end”) and moving along computer coded paths, dispensing molten plastic along the paths layer by layer, forming a physical copy of a 3D model. The software that it uses takes the 3D model (typically a .stl “stereolithography”, or .obj “object” file) and performs an action called slicing.

This is a 3D model of a small clamp in the shape of a shark loaded into Cura, a 3D Printer control program.
This is a 3D model loaded into Cura, a 3D Printer control program.
This is how Cura renders the 3D model once it has been sliced. The various colors representing different paths for the hot end to travel.
This is how Cura renders the 3D model once it has been sliced. The various colors representing different paths for the hot end to travel.

This process separates the 3D model into wafer-thin layers (the thickness is predetermined based on the printer’s settings), and then codes these layers as movements for the extruder to follow. Once a layer has been completed, the code dictates that the extruder moves to the next layer, which is how the printer works in three dimensions (X – width, Y – length, Z – height).

Image of G Code for 3D Printers. When this code is processed by a printer, it will generate a 1" diameter circle.
This is G Code, the language of 3D Printers. This code when read by a 3D Printer will generate a 1″ diameter circle.

Inside G Code, you’ll find various Letter/Number combinations, such as:

  • X, Y, Z coordinates (X-0.5 Y0 Z0.1) – These are location coordinates. They tell the printer to move the hot end to that position.
  • G coordinates (G17 G20 G90) – These are commonly used parameters by all 3D printers. They are used as configurations, and set details for the printer to use for each print.
  • M coordinates (M0 M17 M42) – These are command parameters. These codes can be entered into G Code to set permanent parameters for the printer such as print bed size, motor speed, or emergency stop.

Now I know that looks daunting. But this is all stuff that happens on the back end of the programs most 3D printers use. The front end of these programs is almost entirely graphical, allowing you to place your model on a virtual rendering of the print bed and change various parameters and details without having to know all of the code commands. Here you can access a PDF Cheat Sheet of the most commonly used commands if you’d like to have them. They can be handy to have because most programs have a place to enter in commands for just in case you need to modify something, like the hot end’s temperature level depending on the type of plastic filament you’re working with.

…Wait, there’s more than one kind of plastic?

There are two types of plastic filaments primarily associated with FFF style 3D Printers:

  • ABS – Acrylonitrile Butadiene Styrene: This plastic is the most common. Anytime you’ve held a Lego block in your hand, you’ve had a piece of ABS plastic. It is a thermoplastic polymer, meaning that it can go from a solid to a molten gel at a temperature range of 190-220 degrees Celsius, allowing it to be extruded or molded into a shape which it retains once it cools. It does not truly become a liquid, and is incredibly durable. (If you’ve ever stepped on a Lego block, you know what I’m talking about!) ABS is flammable at a high enough temperature, and can be recycled although it is not biodegradable. When working with it, it does produce an odor and should be worked with in an open space with at least moderate ventilation. It also requires a heated print bed to maintain working temperature and prevent warping.
  • PLA – Polylactic Acid: This plastic is the second most used bioplastic in the world. It is a biodegradable thermoplastic polyester based on starch (corn starch, or in most cases sugarcane). It hits its molten state moderately lower than ABS, in the 160-185 degrees Celsius range. It is commonly used for food containers and medical implants (pins and rods) as it gradually degrades into harmless lactic acid (which is naturally created and absorbed by the body). It is durable but becomes brittle over time if not cared for or stored properly, and emits a sweet smell when heated past its glass transition point. Honestly, it smells like kettle corn! It does not require a heated print bed, meaning it can be used by a greater number of 3D printers, especially those that are considered small form, but is still versatile enough to be used in larger projects. It is, as before mentioned, biodegradable and recyclable through a purification process, meaning that wasted or used PLA can be used to make new PLA with no loss of usability.

There are other types of filaments that are being developed to work with these printers (as they’re the most commonly owned by individuals), from rubberized plastics and nylon to even wood-based and carbon-fiber filaments. And other larger scale machines work with their materials in completely different ways!

In the next part we’ll go over the differences between Open Source printers and manufactured out-of-the-box machines, and the reasons that each could benefit you. See you then!