Screenshot: OnShape CAD software; Plane design: Kurt Hamel

Screenshot of OnShape CAD software; Plane design by Kurt Hamel

With the rapid expansion of hobbyist-class digital fabrication equipment and the always-plummeting price points, new enthusiasts step into a world of acronyms, software packages, and terms to master. Here’s a cheat sheet to get you started.


Computer-aided design is software that allows the user to create models in 2D or 3D formats. While CAD was initially common only in architecture and manufacturing, enthusiast-oriented packages are now readily available at low (or no!) cost.


Computer-aided manufacturing software generates the toolpaths (using G-code) for CNC milling and cutting machines. It takes popular 2D file formats and allows the user to determine which parts of a design need to be milled or cut, how fast, at what depth, and any other details.

G-code (3DP / CNC)

The language used to instruct CAM systems to perform operations. In modern usage, this is almost exclusively generated by software, and not written by hand. The specific G-codes control motion, speed, rotation, depth, and other related switches and sensors used in the operation of a machine.

G-code Sender (3DP / CNC)

Once G-code is generated, this software package streams the actual commands to the machine (usually via USB) to be run. While individual G-code sender packages are still used in some of the open source toolchains, many of the commercial packages now combine a slicer and a G-code sender into a single package.

Mesh Editor (3DP / CNC)

Once a 3D model is converted to an STL format, the resulting layout of triangles is often referred to as a “mesh.” A mesh editor lets the user directly edit the points of the mesh: stretching, shrinking, smoothing, or otherwise manipulating the actual shell of the 3D model.

OpenSCAD (3DP)

A software package for programmatically generating 3D shapes, complex systems of pieces, and even parametric designs. As opposed to traditional CAD programs, there is no “drawing” in OpenSCAD — all designs are defined as text and then compiled to see the resulting shapes.

Slicer (3DP)

Additive manufacturing works in layers and a “slicer” is the software package used to cut a 3D model into flat layers that can be printed one at a time. The output of a slicer is G-code that controls the path, speed, and temperature of the printer. There are both closed and open source slicer software packages.


The most common file format for 3D printing, and one that’s become more popular for “2.5D” milling, where just one face of the design is carved out due to the limitations of a 3-axis machine. The STL file format represents a 3D object by describing the surface as a series of triangles. The file type is “unitless” — 1 unit could be 1mm or 1″ (or any other arbitrary measure) — so it’s important to know how the file was generated.