CAM Post/it: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 14: Line 14:
</div>
</div>


<span id="Description"></span>
==Descrizione==
==Descrizione==


Line 20: Line 21:
</div>
</div>


<div class="mw-translate-fuzzy">
Ogni controller CNC parla un dialetto G-Code specifico, che richiede un postprocessore dialettale corretto per tradurre l'output finale dal dialetto G-Code di FreeCAD agnostico interno.
Ogni controller CNC parla un dialetto G-Code specifico, che richiede un postprocessore dialettale corretto per tradurre l'output finale dal dialetto G-Code di FreeCAD agnostico interno.
</div>


=== Typical functions of the Postprocessor include ===
=== Typical functions of the Postprocessor include ===


*Using a correct Job output G-Code file extension.
*Using a correct Job output G-code file extension.
*Selecting the G-Code commands. CNC controllers typically support a subset of available G-Code commands. The super-set of G-Code commands contains powerful and specialized commands that otherwise must be processed using multiple simpler commands. Postprocessors are written to select the best G-Code for an Operation, available on the target.
*Selecting the G-code commands. CNC controllers typically support a subset of available G-code commands. The super-set of G-code commands contains powerful and specialized commands that otherwise must be processed using multiple simpler commands. Postprocessors are written to select the best G-code for an Operation, available on the target.
*Formatting the G-Code syntax by reordering the Feed, X, Y, Z, A, and B inputs, and the precision.
*Formatting the G-code syntax by reordering the Feed, X, Y, Z, A, and B inputs, and the precision.
*Inserting a Pre-amble to set units, units format, Work plane, coordinate system, etc...
*Inserting a Pre-amble to set units, units format, Work plane, coordinate system, etc...
*Inserting a Post-amble to park the machine, stop it, process any arguments.
*Inserting a Post-amble to park the machine, stop it, process any arguments.
Line 39: Line 42:
'''Note:''' Several provided Postprocessors generate suitable code for many CNC controllers, or can be used as templates for modification
'''Note:''' Several provided Postprocessors generate suitable code for many CNC controllers, or can be used as templates for modification


Postprocessors contain configuration flags and are designed to be tuned by adding G-Codes and M-Codes to provided definitions for:
Postprocessors contain configuration flags and are designed to be tuned by adding G-codes and M-codes to provided definitions for:
*Machine initialization
*Machine initialization
*Job finalization
*Job finalization
Line 46: Line 49:
*Etc...
*Etc...


Postprocessors use [[Path_scripting#The_FreeCAD_Internal_GCode_Format|FreeCAD's internal G-Code dialect]] in conjunction with the Postprocessor configuration definitions, to generate Dialect-Correct G-Code for target machines. This allows the Path workbench to generate correct G-Code to target various CNC machine controllers by invoking different Postprocessors.
Postprocessors use [[Path_scripting#The_FreeCAD_Internal_G-code_Format|FreeCAD's internal G-code dialect]] in conjunction with the Postprocessor configuration definitions, to generate Dialect-Correct G-code for target machines. This allows the Path workbench to generate correct G-code to target various CNC machine controllers by invoking different Postprocessors.


CNC Machine Controller types include:
CNC Machine Controller types include:
Line 60: Line 63:
*Etc...
*Etc...


If only one CNC machine is used, or if all CNC machines share a common Postprocesor, the Path workbench would need to include only a single Postprocessor. If a single Postprocessor is inadequate to output G-Code for all target CNC controllers, then multiple Postprocessors must be installed.
If only one CNC machine is used, or if all CNC machines share a common Postprocesor, the Path workbench would need to include only a single Postprocessor. If a single Postprocessor is inadequate to output G-code for all target CNC controllers, then multiple Postprocessors must be installed.


<span id="Usage"></span>
==Utilizzo==
==Utilizzo==


Line 70: Line 74:
</div>
</div>


<span id="Options"></span>
== Opzioni ==
== Opzioni ==


Line 78: Line 83:


Typical Configuration True/False Flags include:
Typical Configuration True/False Flags include:
*OUTPUT_COMMENTS (True = Allow, False = Suppress), Used to insert Text Comments in the output G-Code file.
*'''OUTPUT_COMMENTS''' (True = Allow, False = Suppress): Used to insert Text Comments in the output G-code file.
*OUTPUT_HEADER (True = Allow, False = Suppress), Used to insert Text Headers in the output G-Code file.
*'''OUTPUT_HEADER''' (True = Allow, False = Suppress): Used to insert Text Headers in the output G-code file.
*OUTPUT_LINE_NUMBERS (True = Allow, False = Suppress), Used to insert Line Numbers in the output G-Code file.
*'''OUTPUT_LINE_NUMBERS''' (True = Allow, False = Suppress): Used to insert Line Numbers in the output G-code file.
*SHOW_EDITOR (True = Allow, False = Suppress), Used to show the output G-Code in a Pop-up window when invoking the Postprocessor.
*'''SHOW_EDITOR''' (True = Allow, False = Suppress): Used to show the output G-code in a Pop-up window when invoking the Postprocessor.
*MODAL (True = Allow, False = Suppress), Used to reduce the number of output G-Code lines by stripping Mode information when the Mode is not changing.
*'''MODAL''' (True = Allow, False = Suppress): Used to reduce the number of output G-code lines by stripping Mode information when the Mode is not changing.


Typical Configuration Variables include:
Typical Configuration Variables include:
*LINENR (Line Number), Used to Set the Line Number index.
*'''LINENR''' (Line Number): Used to Set the Line Number index.
*UNITS (G20 or G21), Used to explicitly communicate to the target CNC controller what Units to use to interpret the final output file.
*'''UNITS''' (G20 or G21): Used to explicitly communicate to the target CNC controller what Units to use to interpret the final output file.
*MACHINE_NAME (Name of Target CNC Mill), Used to Insert a machine name label in the final output file.
*'''MACHINE_NAME''' (Name of Target CNC Mill): Used to Insert a machine name label in the final output file.
*PRECISION, Used to Set the number of digits to include after the decimal place in final output file
*'''PRECISION''': Used to Set the number of digits to include after the decimal place in final output file


Typical Configuration Sections include:
Typical Configuration Sections include:
*PREAMBLE (Code configuration inserted at beginning of the Job)
*'''PREAMBLE''': Code configuration inserted at beginning of the Job.
*POSTAMBLE (Code configuration appended to the Job, providing for parking the machine, etc...)
*'''POSTAMBLE''': Code configuration appended to the Job, providing for parking the machine, etc...
*TOOL_CHANGE (Code inserted with each tool change in the Job)
*'''TOOL_CHANGE''': Code inserted with each tool change in the Job.


The {{KEY|Edit}} → {{KEY|Preferences...}} → {{KEY|Path}} → {{KEY|Job Preferences tab}} → {{KEY|Defaults}} → {{KEY|Path}} is used to set the default Postprocessor selected on Job creation. This allows Path workbench to be configured to only display desired Postprocessors, and to set a default.
The {{KEY|Edit}} → {{KEY|Preferences...}} → {{KEY|Path}} → {{KEY|Job Preferences tab}} → {{KEY|Defaults}} → {{KEY|Path}} is used to set the default Postprocessor selected on Job creation. This allows Path workbench to be configured to only display desired Postprocessors, and to set a default.


Included Postprocessors are saved in the '''FreeCAD/Mod/Path/Pathscripts/Post''' by default:
Included Postprocessors are saved in the '''FreeCAD/Mod/Path/Pathscripts/Post''' by default:

Revision as of 15:45, 6 May 2023

Post elaborazione

Posizione nel menu
Path → Post-elaborazione
Ambiente
Path
Avvio veloce
P,P
Introdotto nella versione
-
Vedere anche
Nessuno

Descrizione

Questo comanda esporta una Lavorazione selezionata in un file di codice-G

Ogni controller CNC parla un dialetto G-Code specifico, che richiede un postprocessore dialettale corretto per tradurre l'output finale dal dialetto G-Code di FreeCAD agnostico interno.

Typical functions of the Postprocessor include

  • Using a correct Job output G-code file extension.
  • Selecting the G-code commands. CNC controllers typically support a subset of available G-code commands. The super-set of G-code commands contains powerful and specialized commands that otherwise must be processed using multiple simpler commands. Postprocessors are written to select the best G-code for an Operation, available on the target.
  • Formatting the G-code syntax by reordering the Feed, X, Y, Z, A, and B inputs, and the precision.
  • Inserting a Pre-amble to set units, units format, Work plane, coordinate system, etc...
  • Inserting a Post-amble to park the machine, stop it, process any arguments.
  • Inserting Tool changes, or suppressing them between subsequent operations using the same tool.
  • Formatting the Feed and Speed rate information to revolutions per minute, or per second.
  • Formatting Function Call Naming and Calling.

Postprocessor Customization

If you want to write your own postprocessor, have a look at the Path Postprocessor Customization page.

Note: Several provided Postprocessors generate suitable code for many CNC controllers, or can be used as templates for modification

Postprocessors contain configuration flags and are designed to be tuned by adding G-codes and M-codes to provided definitions for:

  • Machine initialization
  • Job finalization
  • Tool-Changes
  • Cooling on /off
  • Etc...

Postprocessors use FreeCAD's internal G-code dialect in conjunction with the Postprocessor configuration definitions, to generate Dialect-Correct G-code for target machines. This allows the Path workbench to generate correct G-code to target various CNC machine controllers by invoking different Postprocessors.

CNC Machine Controller types include:

  • CNC mills
  • CNC lathes
  • 3D Printers
  • DragKnife Cutters
  • Laser Cutters
  • Engravers
  • Plasma Torch Cutters
  • Wire Benders
  • EDM Cutters
  • Etc...

If only one CNC machine is used, or if all CNC machines share a common Postprocesor, the Path workbench would need to include only a single Postprocessor. If a single Postprocessor is inadequate to output G-code for all target CNC controllers, then multiple Postprocessors must be installed.

Utilizzo

  1. Selezionare la Lavorazione che si desidera esportare
  2. Premere il pulsante Post elaborazione
  3. Confermare il nome e la directory del file di output

Opzioni

  • Se le proprietà del file di output e del post-processore non sono impostate nel Progetto, il contenuto del progetto viene invece mostrato in una finestra di dialogo per la verifica
  • È anche possibile esportare un progetto o qualsiasi altro percorso direttamente in Codice G utilizzando il menu File-> Esporta

The provided Postprocessors are written with comments indicating areas containing Flags, Configuration Variables, and Sections of G-Codes and M-Codes that are to be used by the Postprocessor to configure the output.

Typical Configuration True/False Flags include:

  • OUTPUT_COMMENTS (True = Allow, False = Suppress): Used to insert Text Comments in the output G-code file.
  • OUTPUT_HEADER (True = Allow, False = Suppress): Used to insert Text Headers in the output G-code file.
  • OUTPUT_LINE_NUMBERS (True = Allow, False = Suppress): Used to insert Line Numbers in the output G-code file.
  • SHOW_EDITOR (True = Allow, False = Suppress): Used to show the output G-code in a Pop-up window when invoking the Postprocessor.
  • MODAL (True = Allow, False = Suppress): Used to reduce the number of output G-code lines by stripping Mode information when the Mode is not changing.

Typical Configuration Variables include:

  • LINENR (Line Number): Used to Set the Line Number index.
  • UNITS (G20 or G21): Used to explicitly communicate to the target CNC controller what Units to use to interpret the final output file.
  • MACHINE_NAME (Name of Target CNC Mill): Used to Insert a machine name label in the final output file.
  • PRECISION: Used to Set the number of digits to include after the decimal place in final output file

Typical Configuration Sections include:

  • PREAMBLE: Code configuration inserted at beginning of the Job.
  • POSTAMBLE: Code configuration appended to the Job, providing for parking the machine, etc...
  • TOOL_CHANGE: Code inserted with each tool change in the Job.

The EditPreferences...PathJob Preferences tabDefaultsPath is used to set the default Postprocessor selected on Job creation. This allows Path workbench to be configured to only display desired Postprocessors, and to set a default.

Included Postprocessors are saved in the FreeCAD/Mod/Path/Pathscripts/Post by default:

  • centroid
  • comparams
  • dxf
  • dynapath
  • grbl, including support for bCNC header blocks using Job output argument --bcnc
  • jtech (laser)
  • linuxcnc
  • mach3_mach4
  • nccad
  • opensbp
  • phillips
  • rml
  • smoothie
  • uccnc

Limitations

  • Do not use the FileExport menu for export to G-code, it will produce damaged G-code!


Template:Path Tools navi/it