CAM Post/it: Difference between revisions
(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- |
*Using a correct Job output G-code file extension. |
||
*Selecting the G- |
*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- |
*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- |
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# |
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 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) |
*'''OUTPUT_COMMENTS''' (True = Allow, False = Suppress): Used to insert Text Comments in the output G-code file. |
||
*OUTPUT_HEADER (True = Allow, False = Suppress) |
*'''OUTPUT_HEADER''' (True = Allow, False = Suppress): Used to insert Text Headers in the output G-code file. |
||
*OUTPUT_LINE_NUMBERS (True = Allow, False = Suppress) |
*'''OUTPUT_LINE_NUMBERS''' (True = Allow, False = Suppress): Used to insert Line Numbers in the output G-code file. |
||
*SHOW_EDITOR (True = Allow, False = Suppress) |
*'''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) |
*'''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) |
*'''LINENR''' (Line Number): Used to Set the Line Number index. |
||
*UNITS (G20 or G21) |
*'''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) |
*'''MACHINE_NAME''' (Name of Target CNC Mill): Used to Insert a machine name label in the final output file. |
||
*PRECISION |
*'''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 |
*'''PREAMBLE''': Code configuration inserted at beginning of the Job. |
||
*POSTAMBLE |
*'''POSTAMBLE''': Code configuration appended to the Job, providing for parking the machine, etc... |
||
*TOOL_CHANGE |
*'''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. |
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
- Selezionare la Lavorazione che si desidera esportare
- Premere il pulsante Post elaborazione
- 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 Edit → Preferences... → Path → Job Preferences tab → Defaults → 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:
- 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 File → Export menu for export to G-code, it will produce damaged G-code!
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub