Selaa lähdekoodia

- few bugs solved regarding the newly created empty objects

Marius Stanciu 6 vuotta sitten
vanhempi
commit
2ca509ca04

+ 19 - 19
FlatCAMApp.py

@@ -50,7 +50,7 @@ from flatcamGUI.PlotCanvasLegacy import *
 from flatcamGUI.FlatCAMGUI import *
 
 from FlatCAMCommon import LoudDict, BookmarkManager, ToolsDB
-from FlatCAMPostProc import load_postprocessors
+from FlatCAMPostProc import load_preprocessors
 
 from flatcamEditors.FlatCAMGeoEditor import FlatCAMGeoEditor
 from flatcamEditors.FlatCAMExcEditor import FlatCAMExcEditor
@@ -318,13 +318,13 @@ class App(QtCore.QObject):
         if not os.path.exists(self.data_path):
             os.makedirs(self.data_path)
             App.log.debug('Created data folder: ' + self.data_path)
-            os.makedirs(os.path.join(self.data_path, 'postprocessors'))
-            App.log.debug('Created data postprocessors folder: ' + os.path.join(self.data_path, 'postprocessors'))
+            os.makedirs(os.path.join(self.data_path, 'preprocessors'))
+            App.log.debug('Created data preprocessors folder: ' + os.path.join(self.data_path, 'preprocessors'))
 
-        self.postprocessorpaths = os.path.join(self.data_path, 'postprocessors')
-        if not os.path.exists(self.postprocessorpaths):
-            os.makedirs(self.postprocessorpaths)
-            App.log.debug('Created postprocessors folder: ' + self.postprocessorpaths)
+        self.preprocessorpaths = os.path.join(self.data_path, 'preprocessors')
+        if not os.path.exists(self.preprocessorpaths):
+            os.makedirs(self.preprocessorpaths)
+            App.log.debug('Created preprocessors folder: ' + self.preprocessorpaths)
 
         # create tools_db.FlatConfig file if there is none
         try:
@@ -1501,33 +1501,33 @@ class App(QtCore.QObject):
         # ########################## LOAD POSTPROCESSORS ##############################
         # #############################################################################
 
-        # a dictionary that have as keys the name of the postprocessor files and the value is the class from
-        # the postprocessor file
-        self.postprocessors = load_postprocessors(self)
+        # a dictionary that have as keys the name of the preprocessor files and the value is the class from
+        # the preprocessor file
+        self.preprocessors = load_preprocessors(self)
 
-        # make sure that always the 'default' postprocessor is the first item in the dictionary
-        if 'default' in self.postprocessors.keys():
+        # make sure that always the 'default' preprocessor is the first item in the dictionary
+        if 'default' in self.preprocessors.keys():
             new_ppp_dict = dict()
 
-            # add the 'default' name first in the dict after removing from the postprocessor's dictionary
-            default_pp = self.postprocessors.pop('default')
+            # add the 'default' name first in the dict after removing from the preprocessor's dictionary
+            default_pp = self.preprocessors.pop('default')
             new_ppp_dict['default'] = default_pp
 
             # then add the rest of the keys
-            for name, val_class in self.postprocessors.items():
+            for name, val_class in self.preprocessors.items():
                 new_ppp_dict[name] = val_class
 
             # and now put back the ordered dict with 'default' key first
-            self.postprocessors = new_ppp_dict
+            self.preprocessors = new_ppp_dict
 
-        for name in list(self.postprocessors.keys()):
-            # 'Paste' postprocessors are to be used only in the Solder Paste Dispensing Tool
+        for name in list(self.preprocessors.keys()):
+            # 'Paste' preprocessors are to be used only in the Solder Paste Dispensing Tool
             if name.partition('_')[0] == 'Paste':
                 self.ui.tools_defaults_form.tools_solderpaste_group.pp_combo.addItem(name)
                 continue
 
             self.ui.geometry_defaults_form.geometry_opt_group.pp_geometry_name_cb.addItem(name)
-            # HPGL postprocessor is only for Geometry objects therefore it should not be in the Excellon Preferences
+            # HPGL preprocessor is only for Geometry objects therefore it should not be in the Excellon Preferences
             if name == 'hpgl':
                 continue
 

+ 5 - 5
FlatCAMCommon.py

@@ -528,7 +528,7 @@ class ToolsDB(QtWidgets.QWidget):
                 _("Spindle Speed"),
                 _("Dwell"),
                 _("Dwelltime"),
-                _("Postprocessor"),
+                _("Preprocessor"),
                 _("ExtraCut"),
                 _("Toolchange"),
                 _("Toolchange XY"),
@@ -610,7 +610,7 @@ class ToolsDB(QtWidgets.QWidget):
             _("Dwell Time.\n"
               "A delay used to allow the motor spindle reach it's set speed."))
         self.table_widget.horizontalHeaderItem(19).setToolTip(
-            _("Postprocessor.\n"
+            _("Preprocessor.\n"
               "A selection of files that will alter the generated G-code\n"
               "to fit for a number of use cases."))
         self.table_widget.horizontalHeaderItem(20).setToolTip(
@@ -623,7 +623,7 @@ class ToolsDB(QtWidgets.QWidget):
             _("Toolchange.\n"
               "It will create a toolchange event.\n"
               "The kind of toolchange is determined by\n"
-              "the postprocessor file."))
+              "the preprocessor file."))
         self.table_widget.horizontalHeaderItem(22).setToolTip(
             _("Toolchange XY.\n"
               "A set of coordinates in the format (x, y).\n"
@@ -904,7 +904,7 @@ class ToolsDB(QtWidgets.QWidget):
         widget.setCellWidget(row, 18, dwelltime_item)
 
         pp_item = FCComboBox()
-        for item in self.app.postprocessors:
+        for item in self.app.preprocessors:
             pp_item.addItem(item)
         pp_item.set_value(data['ppname_g'])
         widget.setCellWidget(row, 19, pp_item)
@@ -1263,7 +1263,7 @@ class ToolsDB(QtWidgets.QWidget):
                         default_data['dwell'] = self.table_widget.cellWidget(row, col).get_value()
                     elif column_header_text == 'Dwelltime':
                         default_data['dwelltime'] = self.table_widget.cellWidget(row, col).get_value()
-                    elif column_header_text == 'Postprocessor':
+                    elif column_header_text == 'Preprocessor':
                         default_data['ppname_g'] = self.table_widget.cellWidget(row, col).get_value()
                     elif column_header_text == 'ExtraCut':
                         default_data['extracut'] = self.table_widget.cellWidget(row, col).get_value()

+ 13 - 13
FlatCAMObj.py

@@ -2583,8 +2583,8 @@ class FlatCAMExcellon(FlatCAMObj, Excellon):
             "gcode_type": self.ui.excellon_gcode_type_radio
         })
 
-        for name in list(self.app.postprocessors.keys()):
-            # the HPGL postprocessor is only for Geometry not for Excellon job therefore don't add it
+        for name in list(self.app.preprocessors.keys()):
+            # the HPGL preprocessor is only for Geometry not for Excellon job therefore don't add it
             if name == 'hpgl':
                 continue
             self.ui.pp_excellon_name_cb.addItem(name)
@@ -2592,7 +2592,7 @@ class FlatCAMExcellon(FlatCAMObj, Excellon):
         # Fill form fields
         self.to_form()
 
-        # update the changes in UI depending on the selected postprocessor in Preferences
+        # update the changes in UI depending on the selected preprocessor in Preferences
         # after this moment all the changes in the Posprocessor combo will be handled by the activated signal of the
         # self.ui.pp_excellon_name_cb combobox
         self.on_pp_changed()
@@ -3659,8 +3659,8 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
         self.units = self.app.defaults['units'].upper()
         self.units_found = self.app.defaults['units']
 
-        # populate postprocessor names in the combobox
-        for name in list(self.app.postprocessors.keys()):
+        # populate preprocessor names in the combobox
+        for name in list(self.app.preprocessors.keys()):
             self.ui.pp_geometry_name_cb.addItem(name)
 
         self.form_fields.update({
@@ -3690,7 +3690,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
         # Fill form fields only on object create
         self.to_form()
 
-        # update the changes in UI depending on the selected postprocessor in Preferences
+        # update the changes in UI depending on the selected preprocessor in Preferences
         # after this moment all the changes in the Posprocessor combo will be handled by the activated signal of the
         # self.ui.pp_geometry_name_cb combobox
         self.on_pp_changed()
@@ -4808,7 +4808,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
         :param tools_dict: a dictionary that holds the whole data needed to create the Gcode
         (including the solid_geometry)
 
-        :param tools_in_use: the tools that are used, needed by some postprocessors
+        :param tools_in_use: the tools that are used, needed by some preprocessors
         :type list of lists, each list in the list is made out of row elements of tools table from GUI
 
         :param segx: number of segments on the X axis, for auto-levelling
@@ -5184,7 +5184,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
         :param dia: Tool diameter
         :param outname: Name of the new object
         :param spindlespeed: Spindle speed (RPM)
-        :param pp Name of the postprocessor
+        :param pp Name of the preprocessor
         :return: None
         """
 
@@ -6382,7 +6382,7 @@ class FlatCAMCNCjob(FlatCAMObj, CNCjob):
         except AttributeError:
             pass
 
-        # detect if using Roland postprocessor
+        # detect if using Roland preprocessor
         try:
             for key in self.cnc_tools:
                 if self.cnc_tools[key]['data']['ppname_g'] == 'Roland_MDX_20':
@@ -6400,7 +6400,7 @@ class FlatCAMCNCjob(FlatCAMObj, CNCjob):
             except Exception as e:
                 pass
 
-        # do not add gcode_header when using the Roland postprocessor, add it for every other postprocessor
+        # do not add gcode_header when using the Roland preprocessor, add it for every other preprocessor
         if roland is False and hpgl is False:
             gcode = self.gcode_header()
 
@@ -6488,7 +6488,7 @@ class FlatCAMCNCjob(FlatCAMObj, CNCjob):
                 if self.ui.toolchange_cb.get_value():
                     self.ui.toolchange_cb.set_value(False)
                     self.app.inform.emit('[WARNING_NOTCL] %s' %
-                                         _("The used postprocessor file has to have in it's name: 'toolchange_custom'"))
+                                         _("The used preprocessor file has to have in it's name: 'toolchange_custom'"))
         except KeyError:
             try:
                 for key in self.cnc_tools:
@@ -6498,11 +6498,11 @@ class FlatCAMCNCjob(FlatCAMObj, CNCjob):
                         if self.ui.toolchange_cb.get_value():
                             self.ui.toolchange_cb.set_value(False)
                             self.app.inform.emit('[WARNING_NOTCL] %s' %
-                                                 _("The used postprocessor file has to have in it's name: "
+                                                 _("The used preprocessor file has to have in it's name: "
                                                    "'toolchange_custom'"))
             except KeyError:
                 self.app.inform.emit('[ERROR] %s' %
-                                     _("There is no postprocessor file."))
+                                     _("There is no preprocessor file."))
 
     def get_gcode(self, preamble='', postamble=''):
         # we need this to be able get_gcode separatelly for shell command export_gcode

+ 11 - 11
FlatCAMPostProc.py

@@ -11,20 +11,20 @@ import os
 from abc import ABCMeta, abstractmethod
 import math
 
-# module-root dictionary of postprocessors
+# module-root dictionary of preprocessors
 import FlatCAMApp
 
-postprocessors = {}
+preprocessors = {}
 
 
 class ABCPostProcRegister(ABCMeta):
-    # handles postprocessors registration on instantiation
+    # handles preprocessors registration on instantiation
     def __new__(cls, clsname, bases, attrs):
         newclass = super(ABCPostProcRegister, cls).__new__(cls, clsname, bases, attrs)
         if object not in bases:
-            if newclass.__name__ in postprocessors:
-                FlatCAMApp.App.log.warning('Postprocessor %s has been overriden' % newclass.__name__)
-            postprocessors[newclass.__name__] = newclass()  # here is your register function
+            if newclass.__name__ in preprocessors:
+                FlatCAMApp.App.log.warning('Preprocessor %s has been overriden' % newclass.__name__)
+            preprocessors[newclass.__name__] = newclass()  # here is your register function
         return newclass
 
 
@@ -144,14 +144,14 @@ class FlatCAMPostProc_Tools(object, metaclass=ABCPostProcRegister):
         pass
 
 
-def load_postprocessors(app):
-    postprocessors_path_search = [os.path.join(app.data_path, 'postprocessors', '*.py'),
-                                  os.path.join('postprocessors', '*.py')]
+def load_preprocessors(app):
+    preprocessors_path_search = [os.path.join(app.data_path, 'preprocessors', '*.py'),
+                                  os.path.join('preprocessors', '*.py')]
     import glob
-    for path_search in postprocessors_path_search:
+    for path_search in preprocessors_path_search:
         for file in glob.glob(path_search):
             try:
                 SourceFileLoader('FlatCAMPostProcessor', file).load_module()
             except Exception as e:
                 app.log.error(str(e))
-    return postprocessors
+    return preprocessors

+ 2 - 0
README.md

@@ -16,6 +16,8 @@ CAD program, and create G-Code for Isolation routing.
 - in Excellon UI fixed bug that did not allow editing of the Offset Z parameter from the Tool table
 - in Properties Tool added new information's for the tools in the CNCjob objects
 - few bugs solved regarding the newly created empty objects
+- changed everywhere the name "postprocessor" with "preprocessor"
+- updated the preprocessor files in the toolchange section in order to avoid a graphical representation of travel lines glitch
 
 5.12.2019 
 

+ 18 - 18
camlib.py

@@ -2187,10 +2187,10 @@ class CNCjob(Geometry):
         self.gcode_parsed = None
 
         self.pp_geometry_name = pp_geometry_name
-        self.pp_geometry = self.app.postprocessors[self.pp_geometry_name]
+        self.pp_geometry = self.app.preprocessors[self.pp_geometry_name]
 
         self.pp_excellon_name = pp_excellon_name
-        self.pp_excellon = self.app.postprocessors[self.pp_excellon_name]
+        self.pp_excellon = self.app.preprocessors[self.pp_excellon_name]
 
         self.pp_solderpaste_name = None
 
@@ -2275,7 +2275,7 @@ class CNCjob(Geometry):
             returnvalue = fun(attributes)
             return returnvalue
         except Exception:
-            self.app.log.error('Exception occurred within a postprocessor: ' + traceback.format_exc())
+            self.app.log.error('Exception occurred within a preprocessor: ' + traceback.format_exc())
             return ''
 
     def parse_custom_toolchange_code(self, data):
@@ -2394,7 +2394,7 @@ class CNCjob(Geometry):
         self.startz = startz
         self.z_end = endz
 
-        self.pp_excellon = self.app.postprocessors[self.pp_excellon_name]
+        self.pp_excellon = self.app.preprocessors[self.pp_excellon_name]
         p = self.pp_excellon
 
         log.debug("Creating CNC Job from Excellon...")
@@ -2449,7 +2449,7 @@ class CNCjob(Geometry):
 
         self.app.inform.emit(_("Creating a list of points to drill..."))
         # Points (Group by tool)
-        points = {}
+        points = dict()
         for drill in exobj.drills:
             if self.app.abort_flag:
                 # graceful abort requested by the user
@@ -2463,7 +2463,7 @@ class CNCjob(Geometry):
 
         # log.debug("Found %d drills." % len(points))
 
-        self.gcode = []
+        self.gcode = list()
 
         self.f_plunge = self.app.defaults["excellon_f_plunge"]
         self.f_retract = self.app.defaults["excellon_f_retract"]
@@ -2946,7 +2946,7 @@ class CNCjob(Geometry):
         # I use the value of self.feedrate_rapid for the feadrate in case of the measure_lift_distance and for
         # traveled_time because it is not always possible to determine the feedrate that the CNC machine uses
         # for G0 move (the fastest speed available to the CNC router). Although self.feedrate_rapids is used only with
-        # Marlin postprocessor and derivatives.
+        # Marlin preprocessor and derivatives.
         self.routing_time = (measured_down_distance + measured_up_to_zero_distance) / self.feedrate
         lift_time = measured_lift_distance / self.feedrate_rapid
         traveled_time = measured_distance / self.feedrate_rapid
@@ -3038,7 +3038,7 @@ class CNCjob(Geometry):
 
         self.z_toolchange = float(toolchangez) if toolchangez is not None else None
 
-        # it servers in the postprocessor file
+        # it servers in the preprocessor file
         self.tool = tool_no
 
         try:
@@ -3127,15 +3127,15 @@ class CNCjob(Geometry):
         if not append:
             self.gcode = ""
 
-        # tell postprocessor the number of tool (for toolchange)
+        # tell preprocessor the number of tool (for toolchange)
         self.tool = tool_no
 
-        # this is the tool diameter, it is used as such to accommodate the postprocessor who need the tool diameter
+        # this is the tool diameter, it is used as such to accommodate the preprocessor who need the tool diameter
         # given under the name 'toolC'
         self.postdata['toolC'] = self.tooldia
 
         # Initial G-Code
-        self.pp_geometry = self.app.postprocessors[self.pp_geometry_name]
+        self.pp_geometry = self.app.preprocessors[self.pp_geometry_name]
         p = self.pp_geometry
 
         self.gcode = self.doformat(p.start_code)
@@ -3471,15 +3471,15 @@ class CNCjob(Geometry):
         if not append:
             self.gcode = ""
 
-        # tell postprocessor the number of tool (for toolchange)
+        # tell preprocessor the number of tool (for toolchange)
         self.tool = tool_no
 
-        # this is the tool diameter, it is used as such to accommodate the postprocessor who need the tool diameter
+        # this is the tool diameter, it is used as such to accommodate the preprocessor who need the tool diameter
         # given under the name 'toolC'
         self.postdata['toolC'] = self.tooldia
 
         # Initial G-Code
-        self.pp_geometry = self.app.postprocessors[self.pp_geometry_name]
+        self.pp_geometry = self.app.preprocessors[self.pp_geometry_name]
         p = self.pp_geometry
 
         self.oldx = 0.0
@@ -3632,7 +3632,7 @@ class CNCjob(Geometry):
                                  _("There is no tool data in the SolderPaste geometry."))
 
 
-        # this is the tool diameter, it is used as such to accommodate the postprocessor who need the tool diameter
+        # this is the tool diameter, it is used as such to accommodate the preprocessor who need the tool diameter
         # given under the name 'toolC'
 
         self.postdata['z_start'] = kwargs['data']['tools_solderpaste_z_start']
@@ -3654,7 +3654,7 @@ class CNCjob(Geometry):
 
         self.pp_solderpaste_name = kwargs['data']['tools_solderpaste_pp'] if kwargs['data']['tools_solderpaste_pp'] \
             else self.app.defaults['tools_solderpaste_pp']
-        p = self.app.postprocessors[self.pp_solderpaste_name]
+        p = self.app.preprocessors[self.pp_solderpaste_name]
 
         # ## Flatten the geometry. Only linear elements (no polygons) remain.
         flat_geometry = self.flatten(kwargs['solid_geometry'], pathonly=True)
@@ -3960,12 +3960,12 @@ class CNCjob(Geometry):
         # lifted or lowered.
         if self.toolchange_xy_type == "excellon":
             if self.app.defaults["excellon_toolchangexy"] == '':
-                pos_xy = [0, 0]
+                pos_xy = (0, 0)
             else:
                 pos_xy = [float(eval(a)) for a in self.app.defaults["excellon_toolchangexy"].split(",")]
         else:
             if self.app.defaults["geometry_toolchangexy"] == '':
-                pos_xy = [0, 0]
+                pos_xy = (0, 0)
             else:
                 pos_xy = [float(eval(a)) for a in self.app.defaults["geometry_toolchangexy"].split(",")]
 

+ 8 - 8
flatcamGUI/ObjectUI.py

@@ -935,10 +935,10 @@ class ExcellonObjectUI(ObjectUI):
 
         self.ois_dwell = OptionalInputSection(self.dwell_cb, [self.dwelltime_entry])
 
-        # postprocessor selection
-        pp_excellon_label = QtWidgets.QLabel('%s:' % _("Postprocessor"))
+        # preprocessor selection
+        pp_excellon_label = QtWidgets.QLabel('%s:' % _("Preprocessor"))
         pp_excellon_label.setToolTip(
-            _("The postprocessor JSON file that dictates\n"
+            _("The preprocessor JSON file that dictates\n"
               "Gcode output.")
         )
         self.pp_excellon_name_cb = FCComboBox()
@@ -1508,7 +1508,7 @@ class GeometryObjectUI(ObjectUI):
         spdlabel.setToolTip(
             _(
                 "Speed of the spindle in RPM (optional).\n"
-                "If LASER postprocessor is used,\n"
+                "If LASER preprocessor is used,\n"
                 "this value is the power of laser."
             )
         )
@@ -1538,10 +1538,10 @@ class GeometryObjectUI(ObjectUI):
         self.grid3.addWidget(self.dwell_cb, 15, 0)
         self.grid3.addWidget(self.dwelltime_entry, 15, 1)
 
-        # postprocessor selection
+        # preprocessor selection
         pp_label = QtWidgets.QLabel('%s:' % _("PostProcessor"))
         pp_label.setToolTip(
-            _("The Postprocessor file that dictates\n"
+            _("The Preprocessor file that dictates\n"
               "the Machine Code (like GCode, RML, HPGL) output.")
         )
         self.pp_geometry_name_cb = FCComboBox()
@@ -1837,7 +1837,7 @@ class CNCObjectUI(ObjectUI):
                 "This will constitute a Custom Toolchange GCode,\n"
                 "or a Toolchange Macro.\n"
                 "The FlatCAM variables are surrounded by '%' symbol.\n\n"
-                "WARNING: it can be used only with a postprocessor file\n"
+                "WARNING: it can be used only with a preprocessor file\n"
                 "that has 'toolchange_custom' in it's name and this is built\n"
                 "having as template the 'Toolchange Custom' posprocessor file."
             )
@@ -1852,7 +1852,7 @@ class CNCObjectUI(ObjectUI):
                 "This will constitute a Custom Toolchange GCode, "
                 "or a Toolchange Macro. "
                 "The FlatCAM variables are surrounded by '%' symbol. \n"
-                "WARNING: it can be used only with a postprocessor file "
+                "WARNING: it can be used only with a preprocessor file "
                 "that has 'toolchange_custom' in it's name."
             )
         )

+ 10 - 10
flatcamGUI/PreferencesUI.py

@@ -2451,10 +2451,10 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
 
         self.ois_dwell_exc = OptionalInputSection(self.dwell_cb, [self.dwelltime_entry])
 
-        # postprocessor selection
-        pp_excellon_label = QtWidgets.QLabel('%s:' % _("Postprocessor"))
+        # preprocessor selection
+        pp_excellon_label = QtWidgets.QLabel('%s:' % _("Preprocessor"))
         pp_excellon_label.setToolTip(
-            _("The postprocessor JSON file that dictates\n"
+            _("The preprocessor JSON file that dictates\n"
               "Gcode output.")
         )
         grid2.addWidget(pp_excellon_label, 9, 0)
@@ -3332,7 +3332,7 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
         spdlabel.setToolTip(
             _(
                 "Speed of the spindle in RPM (optional).\n"
-                "If LASER postprocessor is used,\n"
+                "If LASER preprocessor is used,\n"
                 "this value is the power of laser."
             )
         )
@@ -3362,10 +3362,10 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
 
         self.ois_dwell = OptionalInputSection(self.dwell_cb, [self.dwelltime_entry])
 
-        # postprocessor selection
-        pp_label = QtWidgets.QLabel('%s:' % _("Postprocessor"))
+        # preprocessor selection
+        pp_label = QtWidgets.QLabel('%s:' % _("Preprocessor"))
         pp_label.setToolTip(
-            _("The Postprocessor file that dictates\n"
+            _("The Preprocessor file that dictates\n"
               "the Machine Code (like GCode, RML, HPGL) output.")
         )
         grid1.addWidget(pp_label, 12, 0)
@@ -3810,7 +3810,7 @@ class CNCJobAdvOptPrefGroupUI(OptionsGroupUI):
                 "This will constitute a Custom Toolchange GCode,\n"
                 "or a Toolchange Macro.\n"
                 "The FlatCAM variables are surrounded by '%' symbol.\n\n"
-                "WARNING: it can be used only with a postprocessor file\n"
+                "WARNING: it can be used only with a preprocessor file\n"
                 "that has 'toolchange_custom' in it's name and this is built\n"
                 "having as template the 'Toolchange Custom' posprocessor file."
             )
@@ -3833,7 +3833,7 @@ class CNCJobAdvOptPrefGroupUI(OptionsGroupUI):
                 "This will constitute a Custom Toolchange GCode, "
                 "or a Toolchange Macro. "
                 "The FlatCAM variables are surrounded by '%' symbol. \n"
-                "WARNING: it can be used only with a postprocessor file "
+                "WARNING: it can be used only with a preprocessor file "
                 "that has 'toolchange_custom' in it's name."
             )
         )
@@ -5547,7 +5547,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
         grid0.addWidget(self.dwellrev_label, 14, 0)
         grid0.addWidget(self.dwellrev_entry, 14, 1)
 
-        # Postprocessors
+        # Preprocessors
         pp_label = QtWidgets.QLabel('%s:' % _('PostProcessor'))
         pp_label.setToolTip(
             _("Files that control the GCode generation.")

+ 3 - 3
flatcamTools/ToolSolderPaste.py

@@ -330,7 +330,7 @@ class SolderPaste(FlatCAMTool):
         )
         self.gcode_form_layout.addRow(self.dwellrev_label, self.dwellrev_entry)
 
-        # Postprocessors
+        # Preprocessors
         pp_label = QtWidgets.QLabel('%s:' % _('PostProcessor'))
         pp_label.setToolTip(
             _("Files that control the GCode generation.")
@@ -623,8 +623,8 @@ class SolderPaste(FlatCAMTool):
         else:
             self.decimals = 2
 
-        for name in list(self.app.postprocessors.keys()):
-            # populate only with postprocessor files that start with 'Paste_'
+        for name in list(self.app.preprocessors.keys()):
+            # populate only with preprocessor files that start with 'Paste_'
             if name.partition('_')[0] != 'Paste':
                 continue
             self.pp_combo.addItem(name)

+ 8 - 8
locale/de/LC_MESSAGES/strings.po

@@ -1759,11 +1759,11 @@ msgid "Saved to"
 msgstr "Gespeichert in"
 
 #: FlatCAMObj.py:6332 FlatCAMObj.py:6342
-msgid "The used postprocessor file has to have in it's name: 'toolchange_custom'"
+msgid "The used preprocessor file has to have in it's name: 'toolchange_custom'"
 msgstr "Die verwendete Postprozessor-Datei muss im Namen enthalten sein: 'toolchange_custom'"
 
 #: FlatCAMObj.py:6346
-msgid "There is no postprocessor file."
+msgid "There is no preprocessor file."
 msgstr "Es gibt keine Postprozessor-Datei."
 
 #: FlatCAMObj.py:6623
@@ -6533,11 +6533,11 @@ msgstr "Anzahl der Zeiteinheiten, in denen die Spindel verweilen soll."
 
 #: flatcamGUI/ObjectUI.py:889 flatcamGUI/PreferencesUI.py:2253
 #: flatcamGUI/PreferencesUI.py:3140
-msgid "Postprocessor"
+msgid "Preprocessor"
 msgstr "Postprozessor"
 
 #: flatcamGUI/ObjectUI.py:891 flatcamGUI/PreferencesUI.py:2255
-msgid "The postprocessor JSON file that dictates\n"
+msgid "The preprocessor JSON file that dictates\n"
 "Gcode output."
 msgstr "Die Postprozessor-JSON-Datei, die diktiert\n"
 "Gcode-Ausgabe."
@@ -6880,7 +6880,7 @@ msgstr "Um zu entfernen möglich\n"
 
 #: flatcamGUI/ObjectUI.py:1457 flatcamGUI/PreferencesUI.py:3108
 msgid "Speed of the spindle in RPM (optional).\n"
-"If LASER postprocessor is used,\n"
+"If LASER preprocessor is used,\n"
 "this value is the power of laser."
 msgstr "Drehzahl der Spindel in U / min (optional).\n"
 "Wenn LASER-Postprozessor verwendet wird,\n"
@@ -6892,7 +6892,7 @@ msgid "PostProcessor"
 msgstr "Postprozessor"
 
 #: flatcamGUI/ObjectUI.py:1491 flatcamGUI/PreferencesUI.py:3142
-msgid "The Postprocessor file that dictates\n"
+msgid "The Preprocessor file that dictates\n"
 "the Machine Code (like GCode, RML, HPGL) output."
 msgstr "Die Postprozessor-Datei, die diktiert\n"
 "den Maschinencode (wie GCode, RML, HPGL)."
@@ -7067,7 +7067,7 @@ msgid "Type here any G-Code commands you would\n"
 "or a Toolchange Macro.\n"
 "The FlatCAM variables are surrounded by '%' symbol.\n"
 "\n"
-"WARNING: it can be used only with a postprocessor file\n"
+"WARNING: it can be used only with a preprocessor file\n"
 "that has 'toolchange_custom' in it's name and this is built\n"
 "having as template the 'Toolchange Custom' posprocessor file."
 msgstr "Geben Sie hier alle G-Code-Befehle ein\n"
@@ -15261,7 +15261,7 @@ msgstr "Kein Geometriename in args. Geben Sie einen Namen ein und versuchen Sie
 #~ msgstr "Mehrere Tiefe-Nutzung: Richtig oder Falsch."
 
 #~ msgid ""
-#~ "The postprocessor file that dictates\n"
+#~ "The preprocessor file that dictates\n"
 #~ "Machine Code output."
 #~ msgstr ""
 #~ "Die Postprozessor-Datei, die diktiert\n"

+ 23 - 23
locale/en/LC_MESSAGES/strings.po

@@ -1854,8 +1854,8 @@ msgstr "Dwelltime"
 
 #: FlatCAMCommon.py:531 flatcamGUI/ObjectUI.py:939
 #: flatcamGUI/PreferencesUI.py:2411 flatcamGUI/PreferencesUI.py:3318
-msgid "Postprocessor"
-msgstr "Postprocessor"
+msgid "Preprocessor"
+msgstr "Preprocessor"
 
 #: FlatCAMCommon.py:532
 msgid "ExtraCut"
@@ -2071,11 +2071,11 @@ msgstr ""
 
 #: FlatCAMCommon.py:613
 msgid ""
-"Postprocessor.\n"
+"Preprocessor.\n"
 "A selection of files that will alter the generated G-code\n"
 "to fit for a number of use cases."
 msgstr ""
-"Postprocessor.\n"
+"Preprocessor.\n"
 "A selection of files that will alter the generated G-code\n"
 "to fit for a number of use cases."
 
@@ -2098,12 +2098,12 @@ msgid ""
 "Toolchange.\n"
 "It will create a toolchange event.\n"
 "The kind of toolchange is determined by\n"
-"the postprocessor file."
+"the preprocessor file."
 msgstr ""
 "Toolchange.\n"
 "It will create a toolchange event.\n"
 "The kind of toolchange is determined by\n"
-"the postprocessor file."
+"the preprocessor file."
 
 #: FlatCAMCommon.py:628
 msgid ""
@@ -2691,13 +2691,13 @@ msgstr "Saved to"
 
 #: FlatCAMObj.py:6506 FlatCAMObj.py:6516
 msgid ""
-"The used postprocessor file has to have in it's name: 'toolchange_custom'"
+"The used preprocessor file has to have in it's name: 'toolchange_custom'"
 msgstr ""
-"The used postprocessor file has to have in it's name: 'toolchange_custom'"
+"The used preprocessor file has to have in it's name: 'toolchange_custom'"
 
 #: FlatCAMObj.py:6520
-msgid "There is no postprocessor file."
-msgstr "There is no postprocessor file."
+msgid "There is no preprocessor file."
+msgstr "There is no preprocessor file."
 
 #: FlatCAMObj.py:6764
 msgid "Script Editor"
@@ -7732,10 +7732,10 @@ msgstr "Number of time units for spindle to dwell."
 
 #: flatcamGUI/ObjectUI.py:941 flatcamGUI/PreferencesUI.py:2413
 msgid ""
-"The postprocessor JSON file that dictates\n"
+"The preprocessor JSON file that dictates\n"
 "Gcode output."
 msgstr ""
-"The postprocessor JSON file that dictates\n"
+"The preprocessor JSON file that dictates\n"
 "Gcode output."
 
 #: flatcamGUI/ObjectUI.py:950 flatcamGUI/ObjectUI.py:1554
@@ -8155,11 +8155,11 @@ msgstr ""
 #: flatcamGUI/ObjectUI.py:1510 flatcamGUI/PreferencesUI.py:3286
 msgid ""
 "Speed of the spindle in RPM (optional).\n"
-"If LASER postprocessor is used,\n"
+"If LASER preprocessor is used,\n"
 "this value is the power of laser."
 msgstr ""
 "Speed of the spindle in RPM (optional).\n"
-"If LASER postprocessor is used,\n"
+"If LASER preprocessor is used,\n"
 "this value is the power of laser."
 
 #: flatcamGUI/ObjectUI.py:1542 flatcamGUI/PreferencesUI.py:5455
@@ -8169,10 +8169,10 @@ msgstr "PostProcessor"
 
 #: flatcamGUI/ObjectUI.py:1544 flatcamGUI/PreferencesUI.py:3320
 msgid ""
-"The Postprocessor file that dictates\n"
+"The Preprocessor file that dictates\n"
 "the Machine Code (like GCode, RML, HPGL) output."
 msgstr ""
-"The Postprocessor file that dictates\n"
+"The Preprocessor file that dictates\n"
 "the Machine Code (like GCode, RML, HPGL) output."
 
 #: flatcamGUI/ObjectUI.py:1588
@@ -8387,7 +8387,7 @@ msgid ""
 "or a Toolchange Macro.\n"
 "The FlatCAM variables are surrounded by '%' symbol.\n"
 "\n"
-"WARNING: it can be used only with a postprocessor file\n"
+"WARNING: it can be used only with a preprocessor file\n"
 "that has 'toolchange_custom' in it's name and this is built\n"
 "having as template the 'Toolchange Custom' posprocessor file."
 msgstr ""
@@ -8397,7 +8397,7 @@ msgstr ""
 "or a Toolchange Macro.\n"
 "The FlatCAM variables are surrounded by '%' symbol.\n"
 "\n"
-"WARNING: it can be used only with a postprocessor file\n"
+"WARNING: it can be used only with a preprocessor file\n"
 "that has 'toolchange_custom' in it's name and this is built\n"
 "having as template the 'Toolchange Custom' posprocessor file."
 
@@ -8409,20 +8409,20 @@ msgstr ""
 #| "or a Toolchange Macro.\n"
 #| "The FlatCAM variables are surrounded by '%' symbol.\n"
 #| "\n"
-#| "WARNING: it can be used only with a postprocessor file\n"
+#| "WARNING: it can be used only with a preprocessor file\n"
 #| "that has 'toolchange_custom' in it's name and this is built\n"
 #| "having as template the 'Toolchange Custom' posprocessor file."
 msgid ""
 "Type here any G-Code commands you would like to be executed when Toolchange "
 "event is encountered. This will constitute a Custom Toolchange GCode, or a "
 "Toolchange Macro. The FlatCAM variables are surrounded by '%' symbol. \n"
-"WARNING: it can be used only with a postprocessor file that has "
+"WARNING: it can be used only with a preprocessor file that has "
 "'toolchange_custom' in it's name."
 msgstr ""
 "Type here any G-Code commands you would like to be executed when Toolchange "
 "event is encountered. This will constitute a Custom Toolchange GCode, or a "
 "Toolchange Macro. The FlatCAM variables are surrounded by '%' symbol. \n"
-"WARNING: it can be used only with a postprocessor file that has "
+"WARNING: it can be used only with a preprocessor file that has "
 "'toolchange_custom' in it's name."
 
 #: flatcamGUI/ObjectUI.py:1864 flatcamGUI/PreferencesUI.py:3794
@@ -18945,10 +18945,10 @@ msgstr "No Geometry name in args. Provide a name and try again."
 #~ msgstr "Multidepth usage: True or False."
 
 #~ msgid ""
-#~ "The postprocessor file that dictates\n"
+#~ "The preprocessor file that dictates\n"
 #~ "Machine Code output."
 #~ msgstr ""
-#~ "The postprocessor file that dictates\n"
+#~ "The preprocessor file that dictates\n"
 #~ "Machine Code output."
 
 #~ msgid "Display Annotation:"

+ 12 - 12
locale/es/LC_MESSAGES/strings.po

@@ -1917,7 +1917,7 @@ msgstr "Habitar"
 
 #: FlatCAMCommon.py:531 flatcamGUI/ObjectUI.py:939
 #: flatcamGUI/PreferencesUI.py:2411 flatcamGUI/PreferencesUI.py:3318
-msgid "Postprocessor"
+msgid "Preprocessor"
 msgstr "Postprocesador"
 
 #: FlatCAMCommon.py:532
@@ -2096,7 +2096,7 @@ msgstr ""
 
 #: FlatCAMCommon.py:613
 msgid ""
-"Postprocessor.\n"
+"Preprocessor.\n"
 "A selection of files that will alter the generated G-code\n"
 "to fit for a number of use cases."
 msgstr ""
@@ -2115,7 +2115,7 @@ msgid ""
 "Toolchange.\n"
 "It will create a toolchange event.\n"
 "The kind of toolchange is determined by\n"
-"the postprocessor file."
+"the preprocessor file."
 msgstr ""
 
 #: FlatCAMCommon.py:628
@@ -2737,12 +2737,12 @@ msgstr "Guardado en"
 
 #: FlatCAMObj.py:6506 FlatCAMObj.py:6516
 msgid ""
-"The used postprocessor file has to have in it's name: 'toolchange_custom'"
+"The used preprocessor file has to have in it's name: 'toolchange_custom'"
 msgstr ""
 "El archivo de postprocesador usado debe tener su nombre: 'toolchange_custom'"
 
 #: FlatCAMObj.py:6520
-msgid "There is no postprocessor file."
+msgid "There is no preprocessor file."
 msgstr "No hay archivo de postprocesador."
 
 #: FlatCAMObj.py:6764
@@ -7849,7 +7849,7 @@ msgstr "Número de unidades de tiempo para que el husillo permanezca."
 
 #: flatcamGUI/ObjectUI.py:941 flatcamGUI/PreferencesUI.py:2413
 msgid ""
-"The postprocessor JSON file that dictates\n"
+"The preprocessor JSON file that dictates\n"
 "Gcode output."
 msgstr ""
 "El archivo JSON del postprocesador que dicta\n"
@@ -8282,7 +8282,7 @@ msgstr ""
 #: flatcamGUI/ObjectUI.py:1510 flatcamGUI/PreferencesUI.py:3286
 msgid ""
 "Speed of the spindle in RPM (optional).\n"
-"If LASER postprocessor is used,\n"
+"If LASER preprocessor is used,\n"
 "this value is the power of laser."
 msgstr ""
 "Velocidad del husillo en RPM (opcional).\n"
@@ -8296,7 +8296,7 @@ msgstr "Postprocesador"
 
 #: flatcamGUI/ObjectUI.py:1544 flatcamGUI/PreferencesUI.py:3320
 msgid ""
-"The Postprocessor file that dictates\n"
+"The Preprocessor file that dictates\n"
 "the Machine Code (like GCode, RML, HPGL) output."
 msgstr ""
 "El archivo de postprocesador que dicta\n"
@@ -8518,7 +8518,7 @@ msgid ""
 "or a Toolchange Macro.\n"
 "The FlatCAM variables are surrounded by '%' symbol.\n"
 "\n"
-"WARNING: it can be used only with a postprocessor file\n"
+"WARNING: it can be used only with a preprocessor file\n"
 "that has 'toolchange_custom' in it's name and this is built\n"
 "having as template the 'Toolchange Custom' posprocessor file."
 msgstr ""
@@ -8541,14 +8541,14 @@ msgstr ""
 #| "or a Toolchange Macro.\n"
 #| "The FlatCAM variables are surrounded by '%' symbol.\n"
 #| "\n"
-#| "WARNING: it can be used only with a postprocessor file\n"
+#| "WARNING: it can be used only with a preprocessor file\n"
 #| "that has 'toolchange_custom' in it's name and this is built\n"
 #| "having as template the 'Toolchange Custom' posprocessor file."
 msgid ""
 "Type here any G-Code commands you would like to be executed when Toolchange "
 "event is encountered. This will constitute a Custom Toolchange GCode, or a "
 "Toolchange Macro. The FlatCAM variables are surrounded by '%' symbol. \n"
-"WARNING: it can be used only with a postprocessor file that has "
+"WARNING: it can be used only with a preprocessor file that has "
 "'toolchange_custom' in it's name."
 msgstr ""
 "Escriba aquí cualquier comando de código G que desee\n"
@@ -17652,7 +17652,7 @@ msgstr ""
 #~ msgstr "Uso de profundidad múltiple: Verdadero o Falso."
 
 #~ msgid ""
-#~ "The postprocessor file that dictates\n"
+#~ "The preprocessor file that dictates\n"
 #~ "Machine Code output."
 #~ msgstr ""
 #~ "El archivo de postprocesador que dicta.\n"

+ 7 - 7
locale/fr/LC_MESSAGES/strings.po

@@ -1966,13 +1966,13 @@ msgstr "Enregistré dans"
 
 #: FlatCAMObj.py:6332 FlatCAMObj.py:6342
 msgid ""
-"The used postprocessor file has to have in it's name: 'toolchange_custom'"
+"The used preprocessor file has to have in it's name: 'toolchange_custom'"
 msgstr ""
 "Le fichier de post-traitement utilisé doit avoir pour nom: "
 "'toolchange_custom'"
 
 #: FlatCAMObj.py:6346
-msgid "There is no postprocessor file."
+msgid "There is no preprocessor file."
 msgstr "Il n'y a pas de fichier de post-processeur."
 
 #: FlatCAMObj.py:6623
@@ -7102,12 +7102,12 @@ msgstr "Nombre d'unités de temps pendant lesquelles la broche s'arrête."
 
 #: flatcamGUI/ObjectUI.py:889 flatcamGUI/PreferencesUI.py:2253
 #: flatcamGUI/PreferencesUI.py:3140
-msgid "Postprocessor"
+msgid "Preprocessor"
 msgstr "Post-processeur"
 
 #: flatcamGUI/ObjectUI.py:891 flatcamGUI/PreferencesUI.py:2255
 msgid ""
-"The postprocessor JSON file that dictates\n"
+"The preprocessor JSON file that dictates\n"
 "Gcode output."
 msgstr ""
 "Le fichier JSON post-processeur qui dicte\n"
@@ -7532,7 +7532,7 @@ msgstr ""
 #: flatcamGUI/ObjectUI.py:1457 flatcamGUI/PreferencesUI.py:3108
 msgid ""
 "Speed of the spindle in RPM (optional).\n"
-"If LASER postprocessor is used,\n"
+"If LASER preprocessor is used,\n"
 "this value is the power of laser."
 msgstr ""
 "Vitesse de la broche en tours / minute (facultatif).\n"
@@ -7546,7 +7546,7 @@ msgstr "Post-processeur"
 
 #: flatcamGUI/ObjectUI.py:1491 flatcamGUI/PreferencesUI.py:3142
 msgid ""
-"The Postprocessor file that dictates\n"
+"The Preprocessor file that dictates\n"
 "the Machine Code (like GCode, RML, HPGL) output."
 msgstr ""
 "Le fichier post-processeur qui dicte\n"
@@ -7742,7 +7742,7 @@ msgid ""
 "or a Toolchange Macro.\n"
 "The FlatCAM variables are surrounded by '%' symbol.\n"
 "\n"
-"WARNING: it can be used only with a postprocessor file\n"
+"WARNING: it can be used only with a preprocessor file\n"
 "that has 'toolchange_custom' in it's name and this is built\n"
 "having as template the 'Toolchange Custom' posprocessor file."
 msgstr ""

+ 7 - 7
locale/pt_BR/LC_MESSAGES/strings.po

@@ -1960,12 +1960,12 @@ msgstr "Salvo em"
 
 #: FlatCAMObj.py:6332 FlatCAMObj.py:6342
 msgid ""
-"The used postprocessor file has to have in it's name: 'toolchange_custom'"
+"The used preprocessor file has to have in it's name: 'toolchange_custom'"
 msgstr ""
 "O arquivo de pós-processamento deve ter em seu nome: 'toolchange_custom'"
 
 #: FlatCAMObj.py:6346
-msgid "There is no postprocessor file."
+msgid "There is no preprocessor file."
 msgstr "Não há arquivo de pós-processamento."
 
 #: FlatCAMObj.py:6623
@@ -7038,12 +7038,12 @@ msgstr "Número de unidades de tempo para o fuso residir."
 
 #: flatcamGUI/ObjectUI.py:889 flatcamGUI/PreferencesUI.py:2253
 #: flatcamGUI/PreferencesUI.py:3140
-msgid "Postprocessor"
+msgid "Preprocessor"
 msgstr "Pós-processador"
 
 #: flatcamGUI/ObjectUI.py:891 flatcamGUI/PreferencesUI.py:2255
 msgid ""
-"The postprocessor JSON file that dictates\n"
+"The preprocessor JSON file that dictates\n"
 "Gcode output."
 msgstr ""
 "O arquivo de pós-processamento (JSON) que define\n"
@@ -7461,7 +7461,7 @@ msgstr ""
 #: flatcamGUI/ObjectUI.py:1457 flatcamGUI/PreferencesUI.py:3108
 msgid ""
 "Speed of the spindle in RPM (optional).\n"
-"If LASER postprocessor is used,\n"
+"If LASER preprocessor is used,\n"
 "this value is the power of laser."
 msgstr ""
 "Velocidade do spindle em RPM (opcional).\n"
@@ -7475,7 +7475,7 @@ msgstr "Pós-processador"
 
 #: flatcamGUI/ObjectUI.py:1491 flatcamGUI/PreferencesUI.py:3142
 msgid ""
-"The Postprocessor file that dictates\n"
+"The Preprocessor file that dictates\n"
 "the Machine Code (like GCode, RML, HPGL) output."
 msgstr ""
 "Arquivo de Pós-processamento que determina o código\n"
@@ -7669,7 +7669,7 @@ msgid ""
 "or a Toolchange Macro.\n"
 "The FlatCAM variables are surrounded by '%' symbol.\n"
 "\n"
-"WARNING: it can be used only with a postprocessor file\n"
+"WARNING: it can be used only with a preprocessor file\n"
 "that has 'toolchange_custom' in it's name and this is built\n"
 "having as template the 'Toolchange Custom' posprocessor file."
 msgstr ""

+ 12 - 12
locale/ro/LC_MESSAGES/strings.po

@@ -1817,7 +1817,7 @@ msgstr "Pauza"
 
 #: FlatCAMCommon.py:531 flatcamGUI/ObjectUI.py:915
 #: flatcamGUI/PreferencesUI.py:2294 flatcamGUI/PreferencesUI.py:3201
-msgid "Postprocessor"
+msgid "Preprocessor"
 msgstr "Postprocesor"
 
 #: FlatCAMCommon.py:532
@@ -1992,7 +1992,7 @@ msgstr "dwelltime = durata de asteptare ca motorul să ajunga la turatia setată
 
 #: FlatCAMCommon.py:613
 msgid ""
-"Postprocessor.\n"
+"Preprocessor.\n"
 "A selection of files that will alter the generated G-code\n"
 "to fit for a number of use cases."
 msgstr ""
@@ -2011,7 +2011,7 @@ msgid ""
 "Toolchange.\n"
 "It will create a toolchange event.\n"
 "The kind of toolchange is determined by\n"
-"the postprocessor file."
+"the preprocessor file."
 msgstr ""
 
 #: FlatCAMCommon.py:628
@@ -2544,12 +2544,12 @@ msgstr "Salvat in"
 
 #: FlatCAMObj.py:6388 FlatCAMObj.py:6398
 msgid ""
-"The used postprocessor file has to have in it's name: 'toolchange_custom'"
+"The used preprocessor file has to have in it's name: 'toolchange_custom'"
 msgstr ""
 "Postprocesorul folosit trebuie să aibă in numele sau: 'toolchange_custom'"
 
 #: FlatCAMObj.py:6402
-msgid "There is no postprocessor file."
+msgid "There is no preprocessor file."
 msgstr "Nu exista nici-un fişier postprocesor."
 
 #: FlatCAMObj.py:6679
@@ -7642,7 +7642,7 @@ msgstr "Timpul (ori secunde ori milisec) cat se stă in pauză."
 
 #: flatcamGUI/ObjectUI.py:917 flatcamGUI/PreferencesUI.py:2296
 msgid ""
-"The postprocessor JSON file that dictates\n"
+"The preprocessor JSON file that dictates\n"
 "Gcode output."
 msgstr ""
 "Fișierul JSON postprocesor care dictează\n"
@@ -8076,7 +8076,7 @@ msgstr ""
 #: flatcamGUI/ObjectUI.py:1486 flatcamGUI/PreferencesUI.py:3169
 msgid ""
 "Speed of the spindle in RPM (optional).\n"
-"If LASER postprocessor is used,\n"
+"If LASER preprocessor is used,\n"
 "this value is the power of laser."
 msgstr ""
 "Viteza motorului in RPM (optional).\n"
@@ -8090,7 +8090,7 @@ msgstr "Postprocesor"
 
 #: flatcamGUI/ObjectUI.py:1520 flatcamGUI/PreferencesUI.py:3203
 msgid ""
-"The Postprocessor file that dictates\n"
+"The Preprocessor file that dictates\n"
 "the Machine Code (like GCode, RML, HPGL) output."
 msgstr ""
 "Fişierul postprocesor care controlează generarea\n"
@@ -8312,7 +8312,7 @@ msgid ""
 "or a Toolchange Macro.\n"
 "The FlatCAM variables are surrounded by '%' symbol.\n"
 "\n"
-"WARNING: it can be used only with a postprocessor file\n"
+"WARNING: it can be used only with a preprocessor file\n"
 "that has 'toolchange_custom' in it's name and this is built\n"
 "having as template the 'Toolchange Custom' posprocessor file."
 msgstr ""
@@ -8335,14 +8335,14 @@ msgstr ""
 #| "or a Toolchange Macro.\n"
 #| "The FlatCAM variables are surrounded by '%' symbol.\n"
 #| "\n"
-#| "WARNING: it can be used only with a postprocessor file\n"
+#| "WARNING: it can be used only with a preprocessor file\n"
 #| "that has 'toolchange_custom' in it's name and this is built\n"
 #| "having as template the 'Toolchange Custom' posprocessor file."
 msgid ""
 "Type here any G-Code commands you would like to be executed when Toolchange "
 "event is encountered. This will constitute a Custom Toolchange GCode, or a "
 "Toolchange Macro. The FlatCAM variables are surrounded by '%' symbol. \n"
-"WARNING: it can be used only with a postprocessor file that has "
+"WARNING: it can be used only with a preprocessor file that has "
 "'toolchange_custom' in it's name."
 msgstr ""
 "Plasează aici acele comenzi G-Code care se dorește să fie executate\n"
@@ -18034,7 +18034,7 @@ msgstr ""
 #~ "pentru a ajunge la adâncimea de tăiere."
 
 #~ msgid ""
-#~ "The postprocessor file that dictates\n"
+#~ "The preprocessor file that dictates\n"
 #~ "Machine Code output."
 #~ msgstr ""
 #~ "Un fişier care prelucrează codul G-Code astfel încât să\n"

+ 8 - 8
locale/ru/LC_MESSAGES/strings.po

@@ -1914,11 +1914,11 @@ msgstr "Сохранено в"
 
 #: FlatCAMObj.py:6320 FlatCAMObj.py:6330
 msgid ""
-"The used postprocessor file has to have in it's name: 'toolchange_custom'"
+"The used preprocessor file has to have in it's name: 'toolchange_custom'"
 msgstr "Используемый файл постпроцессора должен иметь имя: 'toolchange_custom'"
 
 #: FlatCAMObj.py:6334
-msgid "There is no postprocessor file."
+msgid "There is no preprocessor file."
 msgstr "Это не файл постпроцессора."
 
 #: FlatCAMObj.py:6611
@@ -7026,12 +7026,12 @@ msgstr "Количество единиц времени для остановк
 
 #: flatcamGUI/ObjectUI.py:891 flatcamGUI/PreferencesUI.py:2256
 #: flatcamGUI/PreferencesUI.py:3143
-msgid "Postprocessor"
+msgid "Preprocessor"
 msgstr "Постпроцессор"
 
 #: flatcamGUI/ObjectUI.py:893 flatcamGUI/PreferencesUI.py:2258
 msgid ""
-"The postprocessor JSON file that dictates\n"
+"The preprocessor JSON file that dictates\n"
 "Gcode output."
 msgstr ""
 "JSON-файл постпроцессора, который влияет\n"
@@ -7455,7 +7455,7 @@ msgstr ""
 #: flatcamGUI/ObjectUI.py:1459 flatcamGUI/PreferencesUI.py:3111
 msgid ""
 "Speed of the spindle in RPM (optional).\n"
-"If LASER postprocessor is used,\n"
+"If LASER preprocessor is used,\n"
 "this value is the power of laser."
 msgstr ""
 "Скорость шпинделя в об/мин (опционально).\n"
@@ -7469,7 +7469,7 @@ msgstr "Постпроцессор"
 
 #: flatcamGUI/ObjectUI.py:1493 flatcamGUI/PreferencesUI.py:3145
 msgid ""
-"The Postprocessor file that dictates\n"
+"The Preprocessor file that dictates\n"
 "the Machine Code (like GCode, RML, HPGL) output."
 msgstr ""
 "Файл постпроцессора, который диктует\n"
@@ -7665,7 +7665,7 @@ msgid ""
 "or a Toolchange Macro.\n"
 "The FlatCAM variables are surrounded by '%' symbol.\n"
 "\n"
-"WARNING: it can be used only with a postprocessor file\n"
+"WARNING: it can be used only with a preprocessor file\n"
 "that has 'toolchange_custom' in it's name and this is built\n"
 "having as template the 'Toolchange Custom' posprocessor file."
 msgstr ""
@@ -16467,7 +16467,7 @@ msgstr "Нет имени геометрии в аргументах. Укажи
 #~ msgstr "Многократное использование: Истина или Ложь."
 
 #~ msgid ""
-#~ "The postprocessor file that dictates\n"
+#~ "The preprocessor file that dictates\n"
 #~ "Machine Code output."
 #~ msgstr ""
 #~ "Файл постпроцессора, который диктует\n"

+ 10 - 10
locale_template/strings.pot

@@ -1646,7 +1646,7 @@ msgstr ""
 
 #: FlatCAMCommon.py:531 flatcamGUI/ObjectUI.py:939 flatcamGUI/PreferencesUI.py:2411
 #: flatcamGUI/PreferencesUI.py:3318
-msgid "Postprocessor"
+msgid "Preprocessor"
 msgstr ""
 
 #: FlatCAMCommon.py:532
@@ -1803,7 +1803,7 @@ msgstr ""
 
 #: FlatCAMCommon.py:613
 msgid ""
-"Postprocessor.\n"
+"Preprocessor.\n"
 "A selection of files that will alter the generated G-code\n"
 "to fit for a number of use cases."
 msgstr ""
@@ -1822,7 +1822,7 @@ msgid ""
 "Toolchange.\n"
 "It will create a toolchange event.\n"
 "The kind of toolchange is determined by\n"
-"the postprocessor file."
+"the preprocessor file."
 msgstr ""
 
 #: FlatCAMCommon.py:628
@@ -2325,11 +2325,11 @@ msgid "Saved to"
 msgstr ""
 
 #: FlatCAMObj.py:6506 FlatCAMObj.py:6516
-msgid "The used postprocessor file has to have in it's name: 'toolchange_custom'"
+msgid "The used preprocessor file has to have in it's name: 'toolchange_custom'"
 msgstr ""
 
 #: FlatCAMObj.py:6520
-msgid "There is no postprocessor file."
+msgid "There is no preprocessor file."
 msgstr ""
 
 #: FlatCAMObj.py:6764
@@ -6764,7 +6764,7 @@ msgstr ""
 
 #: flatcamGUI/ObjectUI.py:941 flatcamGUI/PreferencesUI.py:2413
 msgid ""
-"The postprocessor JSON file that dictates\n"
+"The preprocessor JSON file that dictates\n"
 "Gcode output."
 msgstr ""
 
@@ -7069,7 +7069,7 @@ msgstr ""
 #: flatcamGUI/ObjectUI.py:1510 flatcamGUI/PreferencesUI.py:3286
 msgid ""
 "Speed of the spindle in RPM (optional).\n"
-"If LASER postprocessor is used,\n"
+"If LASER preprocessor is used,\n"
 "this value is the power of laser."
 msgstr ""
 
@@ -7080,7 +7080,7 @@ msgstr ""
 
 #: flatcamGUI/ObjectUI.py:1544 flatcamGUI/PreferencesUI.py:3320
 msgid ""
-"The Postprocessor file that dictates\n"
+"The Preprocessor file that dictates\n"
 "the Machine Code (like GCode, RML, HPGL) output."
 msgstr ""
 
@@ -7250,7 +7250,7 @@ msgid ""
 "or a Toolchange Macro.\n"
 "The FlatCAM variables are surrounded by '%' symbol.\n"
 "\n"
-"WARNING: it can be used only with a postprocessor file\n"
+"WARNING: it can be used only with a preprocessor file\n"
 "that has 'toolchange_custom' in it's name and this is built\n"
 "having as template the 'Toolchange Custom' posprocessor file."
 msgstr ""
@@ -7260,7 +7260,7 @@ msgid ""
 "Type here any G-Code commands you would like to be executed when Toolchange event is "
 "encountered. This will constitute a Custom Toolchange GCode, or a Toolchange Macro. The "
 "FlatCAM variables are surrounded by '%' symbol. \n"
-"WARNING: it can be used only with a postprocessor file that has 'toolchange_custom' in "
+"WARNING: it can be used only with a preprocessor file that has 'toolchange_custom' in "
 "it's name."
 msgstr ""
 

+ 1 - 1
make_freezed.py

@@ -57,7 +57,7 @@ if platform.architecture()[0] == '64bit':
     include_files.append((os.path.join(site_dir, "ortools"), "ortools"))
 
 include_files.append(("locale", "lib/locale"))
-include_files.append(("postprocessors", "lib/postprocessors"))
+include_files.append(("preprocessors", "lib/preprocessors"))
 include_files.append(("share", "lib/share"))
 include_files.append(("flatcamGUI/VisPyData", "lib/vispy"))
 include_files.append(("config", "lib/config"))

+ 2 - 2
postprocessors/Berta_CNC.py → preprocessors/Berta_CNC.py

@@ -57,9 +57,9 @@ class Berta_CNC(FlatCAMPostProc):
         gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
 
         if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
-            gcode += '(Postprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n' + '\n'
+            gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n' + '\n'
         else:
-            gcode += '(Postprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
+            gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
 
         gcode += '(X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + ')\n'
         gcode += '(Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + ')\n\n'

+ 2 - 2
postprocessors/ISEL_CNC.py → preprocessors/ISEL_CNC.py

@@ -54,9 +54,9 @@ class ISEL_CNC(FlatCAMPostProc):
         gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
 
         if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
-            gcode += '(Postprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n' + '\n'
+            gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n' + '\n'
         else:
-            gcode += '(Postprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
+            gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
 
         gcode += '(X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + ')\n'
         gcode += '(Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + ')\n\n'

+ 3 - 1
postprocessors/Paste_1.py → preprocessors/Paste_1.py

@@ -40,7 +40,7 @@ class Paste_1(FlatCAMPostProc_Tools):
                                                        p.decimals, coords_xy[1]) + units + ')\n'
 
         if 'Paste' in p.pp_solderpaste_name:
-            gcode += '(Postprocessor SolderPaste Dispensing Geometry: ' + str(p.pp_solderpaste_name) + ')\n' + '\n'
+            gcode += '(Preprocessor SolderPaste Dispensing Geometry: ' + str(p.pp_solderpaste_name) + ')\n' + '\n'
 
         gcode += '(X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + ')\n'
         gcode += '(Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + ')\n\n'
@@ -89,6 +89,7 @@ T{tool}
 M6    
 (MSG, Change to Tool with Nozzle Dia = {toolC})
 M0
+G00 Z{z_toolchange}
 """.format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
            y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
            z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
@@ -102,6 +103,7 @@ T{tool}
 M6    
 (MSG, Change to Tool with Nozzle Dia = {toolC})
 M0
+G00 Z{z_toolchange}
 """.format(z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
            tool=int(int(p.tool)),
            toolC=toolC_formatted)

+ 6 - 2
postprocessors/Repetier.py → preprocessors/Repetier.py

@@ -55,9 +55,9 @@ class Repetier(FlatCAMPostProc):
         gcode += ';Steps per circle: ' + str(p['steps_per_circle']) + '\n'
 
         if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
-            gcode += ';Postprocessor Excellon: ' + str(p['pp_excellon_name']) + '\n'
+            gcode += ';Preprocessor Excellon: ' + str(p['pp_excellon_name']) + '\n'
         else:
-            gcode += ';Postprocessor Geometry: ' + str(p['pp_geometry_name']) + '\n' + '\n'
+            gcode += ';Preprocessor Geometry: ' + str(p['pp_geometry_name']) + '\n' + '\n'
 
         gcode += ';X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + '\n'
         gcode += ';Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + '\n\n'
@@ -109,6 +109,7 @@ G0 Z{z_toolchange}
 G0 X{x_toolchange} Y{y_toolchange}                
 M84
 @pause Change to Tool Dia = {toolC}, Total drills for tool T{tool} = {t_drills}
+G0 Z{z_toolchange}
 """.format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
            y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
            z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
@@ -120,6 +121,7 @@ M84
 G0 Z{z_toolchange}
 M84
 @pause Change to Tool Dia = {toolC}, Total drills for tool T{tool} = {t_drills}
+G0 Z{z_toolchange}
 """.format(z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
            tool=int(p.tool),
            t_drills=no_drills,
@@ -137,6 +139,7 @@ G0 Z{z_toolchange}
 G0 X{x_toolchange} Y{y_toolchange}
 M84
 @pause Change to tool T{tool} with Tool Dia = {toolC}
+G0 Z{z_toolchange}
 """.format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
            y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
            z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
@@ -147,6 +150,7 @@ M84
 G0 Z{z_toolchange}
 M84
 @pause Change to tool T{tool} with Tool Dia = {toolC}
+G0 Z{z_toolchange}
 """.format(z_toolchange=self.coordinate_format%(p.coords_decimals, z_toolchange),
            tool=int(p.tool),
            toolC=toolC_formatted)

+ 1 - 1
postprocessors/Roland_MDX_20.py → preprocessors/Roland_MDX_20.py

@@ -9,7 +9,7 @@
 from FlatCAMPostProc import *
 
 
-# for Roland Postprocessors it is mandatory for the postprocessor name (python file and class name, both of them must be
+# for Roland Preprocessors it is mandatory for the preprocessor name (python file and class name, both of them must be
 # the same) to contain the following keyword, case-sensitive: 'Roland' without the quotes.
 class Roland_MDX_20(FlatCAMPostProc):
 

+ 2 - 2
postprocessors/Toolchange_Custom.py → preprocessors/Toolchange_Custom.py

@@ -54,9 +54,9 @@ class Toolchange_Custom(FlatCAMPostProc):
         gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
 
         if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
-            gcode += '(Postprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
+            gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
         else:
-            gcode += '(Postprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
+            gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
 
         gcode += '(X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + ')\n'
         gcode += '(Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + ')\n\n'

+ 2 - 2
postprocessors/Toolchange_Probe_MACH3.py → preprocessors/Toolchange_Probe_MACH3.py

@@ -56,9 +56,9 @@ class Toolchange_Probe_MACH3(FlatCAMPostProc):
         gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
 
         if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
-            gcode += '(Postprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
+            gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
         else:
-            gcode += '(Postprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
+            gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
 
         gcode += '(X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + ')\n'
         gcode += '(Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + ')\n\n'

+ 2 - 2
postprocessors/Toolchange_manual.py → preprocessors/Toolchange_manual.py

@@ -52,9 +52,9 @@ class Toolchange_manual(FlatCAMPostProc):
         gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
 
         if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
-            gcode += '(Postprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n' + '\n'
+            gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n' + '\n'
         else:
-            gcode += '(Postprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
+            gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
 
         gcode += '(X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + ')\n'
         gcode += '(Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + ')\n\n'

+ 0 - 0
postprocessors/__init__.py → preprocessors/__init__.py


+ 23 - 14
postprocessors/default.py → preprocessors/default.py

@@ -54,9 +54,9 @@ class default(FlatCAMPostProc):
         gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
 
         if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
-            gcode += '(Postprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n' + '\n'
+            gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n' + '\n'
         else:
-            gcode += '(Postprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
+            gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
 
         gcode += '(X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + ')\n'
         gcode += '(Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + ')\n\n'
@@ -112,6 +112,7 @@ G00 X{x_toolchange} Y{y_toolchange}
 M6
 (MSG, Change to Tool Dia = {toolC} ||| Total drills for tool T{tool} = {t_drills})
 M0
+G00 Z{z_toolchange}
 """.format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
              y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
              z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
@@ -125,10 +126,13 @@ G00 Z{z_toolchange}
 T{tool}
 M6
 (MSG, Change to Tool Dia = {toolC} ||| Total drills for tool T{tool} = {t_drills})
-M0""".format(z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
-             tool=int(p.tool),
-             t_drills=no_drills,
-             toolC=toolC_formatted)
+M0
+G00 Z{z_toolchange}
+""".format(z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
+           tool=int(p.tool),
+           t_drills=no_drills,
+           toolC=toolC_formatted)
+
             if f_plunge is True:
                 gcode += '\nG00 Z%.*f' % (p.coords_decimals, p.z_move)
             return gcode
@@ -142,11 +146,14 @@ G00 X{x_toolchange} Y{y_toolchange}
 T{tool}
 M6    
 (MSG, Change to Tool Dia = {toolC})
-M0""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
-             y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
-             z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
-             tool=int(p.tool),
-             toolC=toolC_formatted)
+M0
+G00 Z{z_toolchange}
+""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
+           y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
+           z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
+           tool=int(p.tool),
+           toolC=toolC_formatted)
+
             else:
                 gcode = """
 M5
@@ -154,9 +161,11 @@ G00 Z{z_toolchange}
 T{tool}
 M6    
 (MSG, Change to Tool Dia = {toolC})
-M0""".format(z_toolchange=self.coordinate_format%(p.coords_decimals, z_toolchange),
-             tool=int(p.tool),
-             toolC=toolC_formatted)
+M0
+G00 Z{z_toolchange}
+""".format(z_toolchange=self.coordinate_format%(p.coords_decimals, z_toolchange),
+           tool=int(p.tool),
+           toolC=toolC_formatted)
 
             if f_plunge is True:
                 gcode += '\nG00 Z%.*f' % (p.coords_decimals, p.z_move)

+ 28 - 20
postprocessors/grbl_11.py → preprocessors/grbl_11.py

@@ -52,9 +52,9 @@ class grbl_11(FlatCAMPostProc):
         gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
 
         if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
-            gcode += '(Postprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
+            gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
         else:
-            gcode += '(Postprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
+            gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
 
         gcode += '(X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + ')\n'
         gcode += '(Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + ')\n\n'
@@ -110,12 +110,14 @@ G00 X{x_toolchange} Y{y_toolchange}
 T{tool}
 M6
 (MSG, Change to Tool Dia = {toolC} ||| Total drills for tool T{tool} = {t_drills})
-M0""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
-             y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
-             z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
-             tool=int(p.tool),
-             t_drills=no_drills,
-             toolC=toolC_formatted)
+M0
+G00 Z{z_toolchange}
+""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
+           y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
+           z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
+           tool=int(p.tool),
+           t_drills=no_drills,
+           toolC=toolC_formatted)
             else:
                 gcode = """
 M5             
@@ -123,10 +125,12 @@ G00 Z{z_toolchange}
 T{tool}
 M6
 (MSG, Change to Tool Dia = {toolC} ||| Total drills for tool T{tool} = {t_drills})
-M0""".format(z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
-             tool=int(p.tool),
-             t_drills=no_drills,
-             toolC=toolC_formatted)
+M0
+G00 Z{z_toolchange}
+""".format(z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
+           tool=int(p.tool),
+           t_drills=no_drills,
+           toolC=toolC_formatted)
 
             if f_plunge is True:
                 gcode += '\nG00 Z%.*f' % (p.coords_decimals, p.z_move)
@@ -141,11 +145,13 @@ G00 X{x_toolchange} Y{y_toolchange}
 T{tool}
 M6
 (MSG, Change to Tool Dia = {toolC})
-M0""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
-             y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
-             z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
-             tool=int(p.tool),
-             toolC=toolC_formatted)
+M0
+G00 Z{z_toolchange}
+""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
+           y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
+           z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
+           tool=int(p.tool),
+           toolC=toolC_formatted)
             else:
                 gcode = """
 M5             
@@ -153,9 +159,11 @@ G00 Z{z_toolchange}
 T{tool}
 M6
 (MSG, Change to Tool Dia = {toolC})
-M0""".format(z_toolchange=self.coordinate_format%(p.coords_decimals, z_toolchange),
-             tool=int(p.tool),
-             toolC=toolC_formatted)
+M0
+G00 Z{z_toolchange}
+""".format(z_toolchange=self.coordinate_format%(p.coords_decimals, z_toolchange),
+           tool=int(p.tool),
+           toolC=toolC_formatted)
 
             if f_plunge is True:
                 gcode += '\nG00 Z%.*f' % (p.coords_decimals, p.z_move)

+ 2 - 2
postprocessors/grbl_laser.py → preprocessors/grbl_laser.py

@@ -32,9 +32,9 @@ class grbl_laser(FlatCAMPostProc):
         gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
 
         if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
-            gcode += '(Postprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
+            gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
         else:
-            gcode += '(Postprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n'
+            gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n'
         gcode += ('G20' if p.units.upper() == 'IN' else 'G21') + "\n" + '\n'
 
         gcode += '(X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + ')\n'

+ 1 - 1
postprocessors/hpgl.py → preprocessors/hpgl.py

@@ -9,7 +9,7 @@
 from FlatCAMPostProc import *
 
 
-# for Roland Postprocessors it is mandatory for the postprocessor name (python file and class name, both of them must be
+# for Roland Preprocessors it is mandatory for the preprocessor name (python file and class name, both of them must be
 # the same) to contain the following keyword, case-sensitive: 'Roland' without the quotes.
 class hpgl(FlatCAMPostProc):
 

+ 2 - 2
postprocessors/line_xyz.py → preprocessors/line_xyz.py

@@ -52,9 +52,9 @@ class line_xyz(FlatCAMPostProc):
         gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
 
         if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
-            gcode += '(Postprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
+            gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
         else:
-            gcode += '(Postprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
+            gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
 
         gcode += '(X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + ')\n'
         gcode += '(Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + ')\n\n'

+ 28 - 20
postprocessors/marlin.py → preprocessors/marlin.py

@@ -55,9 +55,9 @@ class marlin(FlatCAMPostProc):
         gcode += ';Steps per circle: ' + str(p['steps_per_circle']) + '\n'
 
         if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
-            gcode += ';Postprocessor Excellon: ' + str(p['pp_excellon_name']) + '\n'
+            gcode += ';Preprocessor Excellon: ' + str(p['pp_excellon_name']) + '\n'
         else:
-            gcode += ';Postprocessor Geometry: ' + str(p['pp_geometry_name']) + '\n' + '\n'
+            gcode += ';Preprocessor Geometry: ' + str(p['pp_geometry_name']) + '\n' + '\n'
 
         gcode += ';X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + '\n'
         gcode += ';Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + '\n\n'
@@ -111,12 +111,14 @@ G0 X{x_toolchange} Y{y_toolchange}
 T{tool}
 M6
 ;MSG, Change to Tool Dia = {toolC}, Total drills for tool T{tool} = {t_drills}
-M0""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
-             y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
-             z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
-             tool=int(p.tool),
-             t_drills=no_drills,
-             toolC=toolC_formatted)
+M0
+G0 Z{z_toolchange}
+""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
+           y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
+           z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
+           tool=int(p.tool),
+           t_drills=no_drills,
+           toolC=toolC_formatted)
             else:
                 gcode = """
 M5
@@ -124,10 +126,12 @@ G0 Z{z_toolchange}
 T{tool}
 M6
 ;MSG, Change to Tool Dia = {toolC}, Total drills for tool T{tool} = {t_drills}
-M0""".format(z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
-             tool=int(p.tool),
-             t_drills=no_drills,
-             toolC=toolC_formatted)
+M0
+G0 Z{z_toolchange}
+""".format(z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
+           tool=int(p.tool),
+           t_drills=no_drills,
+           toolC=toolC_formatted)
 
             if f_plunge is True:
                 gcode += '\nG0 Z%.*f' % (p.coords_decimals, p.z_move)
@@ -142,11 +146,13 @@ G0 X{x_toolchange} Y{y_toolchange}
 T{tool}
 M6    
 ;MSG, Change to Tool Dia = {toolC}
-M0""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
-             y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
-             z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
-             tool=int(p.tool),
-             toolC=toolC_formatted)
+M0
+G0 Z{z_toolchange}
+""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
+           y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
+           z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
+           tool=int(p.tool),
+           toolC=toolC_formatted)
             else:
                 gcode = """
 M5
@@ -154,9 +160,11 @@ G0 Z{z_toolchange}
 T{tool}
 M6    
 ;MSG, Change to Tool Dia = {toolC}
-M0""".format(z_toolchange=self.coordinate_format%(p.coords_decimals, z_toolchange),
-             tool=int(p.tool),
-             toolC=toolC_formatted)
+M0
+G0 Z{z_toolchange}
+""".format(z_toolchange=self.coordinate_format%(p.coords_decimals, z_toolchange),
+           tool=int(p.tool),
+           toolC=toolC_formatted)
 
             if f_plunge is True:
                 gcode += '\nG0 Z%.*f' % (p.coords_decimals, p.z_move)

+ 1 - 1
tclCommands/TclCommandCncjob.py

@@ -75,7 +75,7 @@ class TclCommandCncjob(TclCommandSignaled):
             ('dwell', 'True or False; use (or not) the dwell'),
             ('dwelltime', 'Time to pause to allow the spindle to reach the full speed'),
             ('outname', 'Name of the resulting Geometry object.'),
-            ('pp', 'Name of the Geometry postprocessor. No quotes, case sensitive'),
+            ('pp', 'Name of the Geometry preprocessor. No quotes, case sensitive'),
             ('muted', 'It will not put errors in the Shell.')
         ]),
         'examples': ['cncjob geo_name -dia 0.5 -z_cut -1.7 -z_move 2 -feedrate 120 -pp default']

+ 1 - 1
tclCommands/TclCommandDrillcncjob.py

@@ -60,7 +60,7 @@ class TclCommandDrillcncjob(TclCommandSignaled):
             ('endz', 'Z distance at job end (example: 30.0).'),
             ('dwell', 'True or False; use (or not) the dwell'),
             ('dwelltime', 'Time to pause to allow the spindle to reach the full speed'),
-            ('pp', 'This is the Excellon postprocessor name: case_sensitive, no_quotes'),
+            ('pp', 'This is the Excellon preprocessor name: case_sensitive, no_quotes'),
             ('outname', 'Name of the resulting Geometry object.'),
             ('opt_type', 'Name of move optimization type. B by default for Basic OR-Tools, M for Metaheuristic OR-Tools'
                          'T from Travelling Salesman Algorithm. B and M works only for 64bit version of FlatCAM and '