Path Workbench: Difference between revisions

From FreeCAD Documentation
(Marked this version for translation)
No edit summary
Line 3: Line 3:


<!--T:2-->
<!--T:2-->
The Path workbench is used to produce [https://en.wikipedia.org/wiki/G-code G-Code] instructions from a FreeCAD model. The G-Code language is used by [https://en.wikipedia.org/wiki/CNC_router CNC machines] and some [https://en.wikipedia.org/wiki/3D_printing 3D printers] to produce real-world 3D objects.
The Path workbench is used to produce machine instructions for [https://en.wikipedia.org/wiki/CNC_router 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 [https://en.wikipedia.org/wiki/G-code GCode] dialect.


<!--T:3-->
<!--T:3-->
The FreeCAD process to create these machine instructions is as follows:
The primary tool of the Path workbench is the Path object. A Path object describes the movement that a machine head must perform in order to cut through a block of material, in the case of CNC machines, or to add a layer of printing material, in the case of 3D printers. Path objects can contain not only movement information, but also other instructions for the machine, such as the rotation speed that the cutter must have, or the amount of material that must be used.
* You create a 3D model of your object, probably using one ore several of [[Part Design Workbench|Part Design], [[Part Workbench|Part]] or [[Draft Workbench|Draft]] workbench
* You create a [[Job]] in Path Workbench, the job uses a certain [[set of tools]].
* You create milling paths using e.g. [[Contour]] and [[Pocket]] operations. These Paths have a slightly abstract GCode 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 GCode 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.



== Move the following to a new page about Path objects ==


<!--T:4-->
<!--T:4-->
The basic object of the Path workbench is the Path object. A Path object describes the movement that a machine head must perform in order to cut through a block of material, in the case of CNC machines. Path objects can contain not only movement information, but also other instructions for the machine, such as the rotation speed that the cutter must have, or which tool must be used.
Path objects can be created in many ways, by giving them manually the points through which they must pass, or deriving them from a wire-shaped FreeCAD object, or, more interestingly, by deriving them automatically from an existing 3D object, or parts of it. This is a complex task, and the tools below are there to do this, or part of this, in different ways. It requires some use to know them all, and choose which one is more suited to the particular task you need. Sometimes, you might also prefer to build your paths step-by-step, using partial tools, instead of using the more complex tools.


<!--T:5-->
<!--T:5-->
Path objects can be created in many ways, by giving them manually the points through which they must pass, or deriving them from a wire-shaped FreeCAD object, or, more interestingly, by deriving them automatically from an existing 3D object, or parts of it. This is a complex task, and the tools below are there to do this, or part of this, in different ways. It requires some use to know them all, and choose which one is more suited to the particular task you need. Sometimes, you might also prefer to build your paths step-by-step, using partial tools, instead of using the more complex tools.
Path objects can also be combined into Compounds or Arrays, allowing you to use different tools to do different parts of the whole cutting operation, and join them into one final path.


<!--T:6-->
<!--T:6-->
Path objects can also be combined into Compounds or Arrays, allowing you to use different tools to do different parts of the whole cutting operation, and join them into one final path.
Project objects, finally, allow you to manage different cutting operations that have to be performed by a same machine, and add machine-specific information such as a table of cutting tools available on the machine, with their characteristics. Some Path tools will then be able to refer to that table to obtain information like the diameter of a certain cutting tool.


<!--T:7-->
<!--T:7-->
Project objects, finally, allow you to manage different cutting operations that have to be performed by a same machine, and add machine-specific information such as a table of cutting tools available on the machine, with their characteristics. Some Path tools will then be able to refer to that table to obtain information like the diameter of a certain cutting tool.
Finally, since each type of machine often speaks a different G-Code dialect, when exporting your final Paths to G-Code, you might want to use one of the included post-processing scripts, which translates the machine-agnostic FreeCAD G-Code into a particular flavor recognized by your machine.


<!--T:8-->
<!--T:8-->

Revision as of 20:04, 11 January 2018

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 Workbench|Part Design], Part or Draft workbench
  • You create a Job in Path Workbench, the job uses a certain set of tools.
  • You create milling paths using e.g. Contour and Pocket operations. These Paths have a slightly abstract GCode 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 GCode 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.


Move the following to a new page about Path objects

The basic object of the Path workbench is the Path object. A Path object describes the movement that a machine head must perform in order to cut through a block of material, in the case of CNC machines. Path objects can contain not only movement information, but also other instructions for the machine, such as the rotation speed that the cutter must have, or which tool must be used.

Path objects can be created in many ways, by giving them manually the points through which they must pass, or deriving them from a wire-shaped FreeCAD object, or, more interestingly, by deriving them automatically from an existing 3D object, or parts of it. This is a complex task, and the tools below are there to do this, or part of this, in different ways. It requires some use to know them all, and choose which one is more suited to the particular task you need. Sometimes, you might also prefer to build your paths step-by-step, using partial tools, instead of using the more complex tools.

Path objects can also be combined into Compounds or Arrays, allowing you to use different tools to do different parts of the whole cutting operation, and join them into one final path.

Project objects, finally, allow you to manage different cutting operations that have to be performed by a same machine, and add machine-specific information such as a table of cutting tools available on the machine, with their characteristics. Some Path tools will then be able to refer to that table to obtain information like the diameter of a certain cutting tool.

FreeCAD is also able to import G-Code files, for which a pre-processing script can also be used.

The Principles of the Process

Warning

The documentation presented here is for FreeCAD V 0.17.

The Path workbench is still in early stages of development. Some of the tools below might not work as expected.


The bracket for the various path elements is the Job. You can think of it as a job you have to do at a real mill: The mill has a certain set of control codes (usually GCode), you use a certain set of tools, you have some stock material, and you start to mill by using the different tools. You can use the same tool for different paths, e.g. milling different pockets.

GUI tools

Template:Path Tools

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.