Path Workbench

Introduction
The Path workbench is used to produce machine instructions for CNC machines from a FreeCAD model. This can be used to produce real-world 3D objects on machines like mills, lathes, lasercutters or alike. Usually these instructions are some kind of GCode dialect.



The FreeCAD process to create these machine instructions is as follows:
 * You create a 3D model of your object, probably using one ore several of Part Design, Part or Draft workbench.
 * You create a Job in Path Workbench. You can think of it as a job you have to do at a real mill: You have some stock material, the mill has a certain set of tools and it follows certain commands controlling speed and movements (usually G-Code).
 * You select the tools you need to get the job done.
 * You create milling paths using e.g. Contour and Pocket operations. These Path objects use a slightly abstract G-Code represention which is independent from the machine.
 * Finally, since each type of machine often speaks a different G-Code dialect, you use a machine dependent post processor to create G-Code which. This translates the FreeCAD G-Code into the particular flavor recognized by your machine. There are several postprocessors included which you can use directly or use as a template for creating your own.

Links for the impatient
Depending on your interest in the Path workbench there are different topics for further reading:


 * If you are a new new user trying to get familiar with Path, you might be interested in a fast walk-through tutorial.
 * If you have a special machine which cannot use one of the available postprocessors you may want to write your own postprocessor
 * As an experienced user you may want to write a macro for the Path Workbench
 * Power user wanting to streamline process
 * New Developer wanting to understand core concepts.

Scripting
The Path workbench offers a broad python scripting API. With it, you can create and modify paths from python scripts, or extend the available functionality of the workbench.