From 5446570409895a18e1bd7a46205cbcc780906245 Mon Sep 17 00:00:00 2001 From: Marius Date: Thu, 22 Oct 2020 15:09:12 +0300 Subject: [PATCH] - modified behind the scene the UI for Tool Subtract - modified some strings and updated the translation strings - in NCC Tool added a check for the validity of the used tools; its only informative - in NCC Tool done some refactoring --- CHANGELOG.md | 4 + appDatabase.py | 56 +- appGUI/ObjectUI.py | 9 +- appGUI/preferences/PreferencesUIManager.py | 31 +- .../preferences/tools/ToolsNCCPrefGroupUI.py | 10 + .../tools/ToolsPaintPrefGroupUI.py | 4 +- appParsers/ParseHPGL2.py | 18 +- appTools/ToolDblSided.py | 5 +- appTools/ToolNCC.py | 193 ++- appTools/ToolSub.py | 40 +- app_Main.py | 8 +- defaults.py | 33 +- locale/de/LC_MESSAGES/strings.mo | Bin 372562 -> 372267 bytes locale/de/LC_MESSAGES/strings.po | 1520 ++++++++-------- locale/en/LC_MESSAGES/strings.mo | Bin 373090 -> 373890 bytes locale/en/LC_MESSAGES/strings.po | 1538 +++++++++-------- locale/es/LC_MESSAGES/strings.mo | Bin 374844 -> 374536 bytes locale/es/LC_MESSAGES/strings.po | 1520 ++++++++-------- locale/fr/LC_MESSAGES/strings.mo | Bin 376036 -> 375730 bytes locale/fr/LC_MESSAGES/strings.po | 1520 ++++++++-------- locale/hu/LC_MESSAGES/strings.mo | Bin 680 -> 680 bytes locale/hu/LC_MESSAGES/strings.po | 1510 ++++++++-------- locale/it/LC_MESSAGES/strings.mo | Bin 389872 -> 389590 bytes locale/it/LC_MESSAGES/strings.po | 1526 ++++++++-------- locale/pt_BR/LC_MESSAGES/strings.mo | Bin 362574 -> 362280 bytes locale/pt_BR/LC_MESSAGES/strings.po | 1520 ++++++++-------- locale/ro/LC_MESSAGES/strings.mo | Bin 370956 -> 370605 bytes locale/ro/LC_MESSAGES/strings.po | 1520 ++++++++-------- locale/ru/LC_MESSAGES/strings.mo | Bin 478079 -> 477705 bytes locale/ru/LC_MESSAGES/strings.po | 1518 ++++++++-------- locale/tr/LC_MESSAGES/strings.mo | Bin 398763 -> 398492 bytes locale/tr/LC_MESSAGES/strings.po | 1528 ++++++++-------- locale_template/strings.pot | 1514 ++++++++-------- tclCommands/TclCommandCopperClear.py | 32 +- 34 files changed, 8877 insertions(+), 8300 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 098bed99..d355e93e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,10 @@ CHANGELOG for FlatCAM beta 22.10.2020 - added a message to show if voronoi_diagram method can be used (require Shapely >= 1.8) +- modified behind the scene the UI for Tool Subtract +- modified some strings and updated the translation strings +- in NCC Tool added a check for the validity of the used tools; its only informative +- in NCC Tool done some refactoring 21.10.2020 diff --git a/appDatabase.py b/appDatabase.py index 6e333c71..ee77d9a7 100644 --- a/appDatabase.py +++ b/appDatabase.py @@ -2388,13 +2388,13 @@ class ToolsDB2(QtWidgets.QWidget): "extracut_length": self.ui.ecut_length_entry, # NCC - "tools_nccoperation": self.ui.op_radio, - "tools_nccmilling_type": self.ui.milling_type_radio, - "tools_nccoverlap": self.ui.ncc_overlap_entry, - "tools_nccmargin": self.ui.ncc_margin_entry, - "tools_nccmethod": self.ui.ncc_method_combo, - "tools_nccconnect": self.ui.ncc_connect_cb, - "tools_ncccontour": self.ui.ncc_contour_cb, + "tools_ncc_operation": self.ui.op_radio, + "tools_ncc_milling_type": self.ui.milling_type_radio, + "tools_ncc_overlap": self.ui.ncc_overlap_entry, + "tools_ncc_margin": self.ui.ncc_margin_entry, + "tools_ncc_method": self.ui.ncc_method_combo, + "tools_ncc_connect": self.ui.ncc_connect_cb, + "tools_ncc_contour": self.ui.ncc_contour_cb, "tools_ncc_offset_choice": self.ui.ncc_choice_offset_cb, "tools_ncc_offset_value": self.ui.ncc_offset_spinner, @@ -2472,15 +2472,15 @@ class ToolsDB2(QtWidgets.QWidget): "gdb_ecut_length": "extracut_length", # NCC - "gdb_n_operation": "tools_nccoperation", - "gdb_n_overlap": "tools_nccoverlap", - "gdb_n_margin": "tools_nccmargin", - "gdb_n_method": "tools_nccmethod", - "gdb_n_connect": "tools_nccconnect", - "gdb_n_contour": "tools_ncccontour", + "gdb_n_operation": "tools_ncc_operation", + "gdb_n_overlap": "tools_ncc_overlap", + "gdb_n_margin": "tools_ncc_margin", + "gdb_n_method": "tools_ncc_method", + "gdb_n_connect": "tools_ncc_connect", + "gdb_n_contour": "tools_ncc_contour", "gdb_n_offset": "tools_ncc_offset_choice", "gdb_n_offset_value": "tools_ncc_offset_value", - "gdb_n_milling_type": "tools_nccmilling_type", + "gdb_n_milling_type": "tools_ncc_milling_type", # Paint 'gdb_p_overlap': "tools_paintoverlap", @@ -2818,13 +2818,13 @@ class ToolsDB2(QtWidgets.QWidget): "endz": float(self.app.defaults["geometry_endz"]), # NCC - "tools_nccoperation": self.app.defaults["tools_nccoperation"], - "tools_nccmilling_type": self.app.defaults["tools_nccmilling_type"], - "tools_nccoverlap": float(self.app.defaults["tools_nccoverlap"]), - "tools_nccmargin": float(self.app.defaults["tools_nccmargin"]), - "tools_nccmethod": self.app.defaults["tools_nccmethod"], - "tools_nccconnect": self.app.defaults["tools_nccconnect"], - "tools_ncccontour": self.app.defaults["tools_ncccontour"], + "tools_ncc_operation": self.app.defaults["tools_ncc_operation"], + "tools_ncc_milling_type": self.app.defaults["tools_ncc_milling_type"], + "tools_ncc_overlap": float(self.app.defaults["tools_ncc_overlap"]), + "tools_ncc_margin": float(self.app.defaults["tools_ncc_margin"]), + "tools_ncc_method": self.app.defaults["tools_ncc_method"], + "tools_ncc_connect": self.app.defaults["tools_ncc_connect"], + "tools_ncc_contour": self.app.defaults["tools_ncc_contour"], "tools_ncc_offset_choice": self.app.defaults["tools_ncc_offset_choice"], "tools_ncc_offset_value": float(self.app.defaults["tools_ncc_offset_value"]), @@ -3349,23 +3349,23 @@ class ToolsDB2(QtWidgets.QWidget): # NCC Tool elif wdg_name == "gdb_n_operation": - self.db_tool_dict[tool_id]['data']['tools_nccoperation'] = val + self.db_tool_dict[tool_id]['data']['tools_ncc_operation'] = val elif wdg_name == "gdb_n_overlap": - self.db_tool_dict[tool_id]['data']['tools_nccoverlap'] = val + self.db_tool_dict[tool_id]['data']['tools_ncc_overlap'] = val elif wdg_name == "gdb_n_margin": - self.db_tool_dict[tool_id]['data']['tools_nccmargin'] = val + self.db_tool_dict[tool_id]['data']['tools_ncc_margin'] = val elif wdg_name == "gdb_n_method": - self.db_tool_dict[tool_id]['data']['tools_nccmethod'] = val + self.db_tool_dict[tool_id]['data']['tools_ncc_method'] = val elif wdg_name == "gdb_n_connect": - self.db_tool_dict[tool_id]['data']['tools_nccconnect'] = val + self.db_tool_dict[tool_id]['data']['tools_ncc_connect'] = val elif wdg_name == "gdb_n_contour": - self.db_tool_dict[tool_id]['data']['tools_ncccontour'] = val + self.db_tool_dict[tool_id]['data']['tools_ncc_contour'] = val elif wdg_name == "gdb_n_offset": self.db_tool_dict[tool_id]['data']['tools_ncc_offset_choice'] = val elif wdg_name == "gdb_n_offset_value": self.db_tool_dict[tool_id]['data']['tools_ncc_offset_value'] = val elif wdg_name == "gdb_n_milling_type": - self.db_tool_dict[tool_id]['data']['tools_nccmilling_type'] = val + self.db_tool_dict[tool_id]['data']['tools_ncc_milling_type'] = val # Paint Tool elif wdg_name == "gdb_p_overlap": diff --git a/appGUI/ObjectUI.py b/appGUI/ObjectUI.py index f4ca5d07..87722e8a 100644 --- a/appGUI/ObjectUI.py +++ b/appGUI/ObjectUI.py @@ -1783,13 +1783,10 @@ class GeometryObjectUI(ObjectUI): self.paint_tool_button = QtWidgets.QPushButton(_('Paint Tool')) self.paint_tool_button.setIcon(QtGui.QIcon(self.app.resource_location + '/paint20_1.png')) self.paint_tool_button.setToolTip( - _( - "Creates tool paths to cover the\n" - "whole area of a polygon (remove\n" - "all copper). You will be asked\n" - "to click on the desired polygon." - ) + _("Creates tool paths to cover the\n" + "whole area of a polygon.") ) + # self.paint_tool_button.setStyleSheet(""" # QPushButton # { diff --git a/appGUI/preferences/PreferencesUIManager.py b/appGUI/preferences/PreferencesUIManager.py index d41c1277..7be81252 100644 --- a/appGUI/preferences/PreferencesUIManager.py +++ b/appGUI/preferences/PreferencesUIManager.py @@ -389,25 +389,26 @@ class PreferencesUIManager: "tools_drill_area_overz": self.ui.tools_defaults_form.tools_drill_group.over_z_entry, # NCC Tool - "tools_ncctools": self.ui.tools_defaults_form.tools_ncc_group.ncc_tool_dia_entry, - "tools_nccorder": self.ui.tools_defaults_form.tools_ncc_group.ncc_order_radio, - "tools_nccoverlap": self.ui.tools_defaults_form.tools_ncc_group.ncc_overlap_entry, - "tools_nccmargin": self.ui.tools_defaults_form.tools_ncc_group.ncc_margin_entry, - "tools_nccmethod": self.ui.tools_defaults_form.tools_ncc_group.ncc_method_combo, - "tools_nccconnect": self.ui.tools_defaults_form.tools_ncc_group.ncc_connect_cb, - "tools_ncccontour": self.ui.tools_defaults_form.tools_ncc_group.ncc_contour_cb, - "tools_nccrest": self.ui.tools_defaults_form.tools_ncc_group.ncc_rest_cb, + "tools_ncc_tools": self.ui.tools_defaults_form.tools_ncc_group.ncc_tool_dia_entry, + "tools_ncc_order": self.ui.tools_defaults_form.tools_ncc_group.ncc_order_radio, + "tools_ncc_overlap": self.ui.tools_defaults_form.tools_ncc_group.ncc_overlap_entry, + "tools_ncc_margin": self.ui.tools_defaults_form.tools_ncc_group.ncc_margin_entry, + "tools_ncc_method": self.ui.tools_defaults_form.tools_ncc_group.ncc_method_combo, + "tools_ncc_connect": self.ui.tools_defaults_form.tools_ncc_group.ncc_connect_cb, + "tools_ncc_contour": self.ui.tools_defaults_form.tools_ncc_group.ncc_contour_cb, + "tools_ncc_rest": self.ui.tools_defaults_form.tools_ncc_group.ncc_rest_cb, "tools_ncc_offset_choice": self.ui.tools_defaults_form.tools_ncc_group.ncc_choice_offset_cb, "tools_ncc_offset_value": self.ui.tools_defaults_form.tools_ncc_group.ncc_offset_spinner, - "tools_nccref": self.ui.tools_defaults_form.tools_ncc_group.select_combo, + "tools_ncc_ref": self.ui.tools_defaults_form.tools_ncc_group.select_combo, "tools_ncc_area_shape": self.ui.tools_defaults_form.tools_ncc_group.area_shape_radio, - "tools_nccmilling_type": self.ui.tools_defaults_form.tools_ncc_group.milling_type_radio, - "tools_ncctool_type": self.ui.tools_defaults_form.tools_ncc_group.tool_type_radio, - "tools_ncccutz": self.ui.tools_defaults_form.tools_ncc_group.cutz_entry, - "tools_ncctipdia": self.ui.tools_defaults_form.tools_ncc_group.tipdia_entry, - "tools_ncctipangle": self.ui.tools_defaults_form.tools_ncc_group.tipangle_entry, - "tools_nccnewdia": self.ui.tools_defaults_form.tools_ncc_group.newdia_entry, + "tools_ncc_milling_type": self.ui.tools_defaults_form.tools_ncc_group.milling_type_radio, + "tools_ncc_tool_type": self.ui.tools_defaults_form.tools_ncc_group.tool_type_radio, + "tools_ncc_cutz": self.ui.tools_defaults_form.tools_ncc_group.cutz_entry, + "tools_ncc_tipdia": self.ui.tools_defaults_form.tools_ncc_group.tipdia_entry, + "tools_ncc_tipangle": self.ui.tools_defaults_form.tools_ncc_group.tipangle_entry, + "tools_ncc_newdia": self.ui.tools_defaults_form.tools_ncc_group.newdia_entry, "tools_ncc_plotting": self.ui.tools_defaults_form.tools_ncc_group.plotting_radio, + "tools_ncc_check_valid": self.ui.tools_defaults_form.tools_ncc_group.valid_cb, # CutOut Tool "tools_cutout_tooldia": self.ui.tools_defaults_form.tools_cutout_group.cutout_tooldia_entry, diff --git a/appGUI/preferences/tools/ToolsNCCPrefGroupUI.py b/appGUI/preferences/tools/ToolsNCCPrefGroupUI.py index b0a10ab5..56645b82 100644 --- a/appGUI/preferences/tools/ToolsNCCPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsNCCPrefGroupUI.py @@ -346,4 +346,14 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI): grid0.addWidget(plotting_label, 21, 0) grid0.addWidget(self.plotting_radio, 21, 1) + # Check Tool validity + self.valid_cb = FCCheckBox(label=_('Check validity')) + self.valid_cb.setToolTip( + _("If checked then the tools diameters are verified\n" + "if they will provide a complete isolation.") + ) + self.valid_cb.setObjectName("n_check") + + grid0.addWidget(self.valid_cb, 23, 0, 1, 2) + self.layout.addStretch() diff --git a/appGUI/preferences/tools/ToolsPaintPrefGroupUI.py b/appGUI/preferences/tools/ToolsPaintPrefGroupUI.py index 7a967b1d..c6d9ee41 100644 --- a/appGUI/preferences/tools/ToolsPaintPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsPaintPrefGroupUI.py @@ -33,9 +33,7 @@ class ToolsPaintPrefGroupUI(OptionsGroupUI): self.paint_label = QtWidgets.QLabel(_('Parameters:')) self.paint_label.setToolTip( _("Creates tool paths to cover the\n" - "whole area of a polygon (remove\n" - "all copper). You will be asked\n" - "to click on the desired polygon.") + "whole area of a polygon.") ) self.layout.addWidget(self.paint_label) diff --git a/appParsers/ParseHPGL2.py b/appParsers/ParseHPGL2.py index 843e5d54..45b81e41 100644 --- a/appParsers/ParseHPGL2.py +++ b/appParsers/ParseHPGL2.py @@ -90,17 +90,17 @@ class HPGL2: "tools_paintoverlap": self.app.defaults["tools_paintoverlap"], "tools_paintrest": self.app.defaults["tools_paintrest"], - "tools_nccoperation": self.app.defaults["tools_nccoperation"], - "tools_nccmargin": self.app.defaults["tools_nccmargin"], - "tools_nccmethod": self.app.defaults["tools_nccmethod"], - "tools_nccconnect": self.app.defaults["tools_nccconnect"], - "tools_ncccontour": self.app.defaults["tools_ncccontour"], - "tools_nccoverlap": self.app.defaults["tools_nccoverlap"], - "tools_nccrest": self.app.defaults["tools_nccrest"], - "tools_nccref": self.app.defaults["tools_nccref"], + "tools_ncc_operation": self.app.defaults["tools_ncc_operation"], + "tools_ncc_margin": self.app.defaults["tools_ncc_margin"], + "tools_ncc_method": self.app.defaults["tools_ncc_method"], + "tools_ncc_connect": self.app.defaults["tools_ncc_connect"], + "tools_ncc_contour": self.app.defaults["tools_ncc_contour"], + "tools_ncc_overlap": self.app.defaults["tools_ncc_overlap"], + "tools_ncc_rest": self.app.defaults["tools_ncc_rest"], + "tools_ncc_ref": self.app.defaults["tools_ncc_ref"], "tools_ncc_offset_choice": self.app.defaults["tools_ncc_offset_choice"], "tools_ncc_offset_value": self.app.defaults["tools_ncc_offset_value"], - "tools_nccmilling_type": self.app.defaults["tools_nccmilling_type"], + "tools_ncc_milling_type": self.app.defaults["tools_ncc_milling_type"], "tools_iso_passes": self.app.defaults["tools_iso_passes"], "tools_iso_overlap": self.app.defaults["tools_iso_overlap"], diff --git a/appTools/ToolDblSided.py b/appTools/ToolDblSided.py index 025fc2e2..9761eb7e 100644 --- a/appTools/ToolDblSided.py +++ b/appTools/ToolDblSided.py @@ -518,10 +518,7 @@ class DsidedUI: # Type of object to be cutout self.type_obj_combo_label = QtWidgets.QLabel('%s:' % _("Type")) self.type_obj_combo_label.setToolTip( - _("Specify the type of object to be cutout.\n" - "It can be of type: Gerber or Geometry.\n" - "What is selected here will dictate the kind\n" - "of objects that will populate the 'Object' combobox.") + _("Select the type of application object to be processed in this tool.") ) self.object_type_radio = RadioSet([ diff --git a/appTools/ToolNCC.py b/appTools/ToolNCC.py index 4ad5c001..3e201632 100644 --- a/appTools/ToolNCC.py +++ b/appTools/ToolNCC.py @@ -98,6 +98,9 @@ class NonCopperClear(AppTool, Gerber): self.contour = None self.rest = None + # store here the tool diameter that is guaranteed to isolate the object + self.safe_tooldia = None + self.first_click = False self.cursor_pos = None self.mouse_is_dragging = False @@ -126,27 +129,29 @@ class NonCopperClear(AppTool, Gerber): self.tooldia = None self.form_fields = { - "tools_nccoperation": self.ui.op_radio, - "tools_nccoverlap": self.ui.ncc_overlap_entry, - "tools_nccmargin": self.ui.ncc_margin_entry, - "tools_nccmethod": self.ui.ncc_method_combo, - "tools_nccconnect": self.ui.ncc_connect_cb, - "tools_ncccontour": self.ui.ncc_contour_cb, - "tools_ncc_offset_choice": self.ui.ncc_choice_offset_cb, - "tools_ncc_offset_value": self.ui.ncc_offset_spinner, - "tools_nccmilling_type": self.ui.milling_type_radio + "tools_ncc_operation": self.ui.op_radio, + "tools_ncc_overlap": self.ui.ncc_overlap_entry, + "tools_ncc_margin": self.ui.ncc_margin_entry, + "tools_ncc_method": self.ui.ncc_method_combo, + "tools_ncc_connect": self.ui.ncc_connect_cb, + "tools_ncc_contour": self.ui.ncc_contour_cb, + "tools_ncc_offset_choice": self.ui.ncc_choice_offset_cb, + "tools_ncc_offset_value": self.ui.ncc_offset_spinner, + "tools_ncc_milling_type": self.ui.milling_type_radio, + "tools_ncc_check_valid": self.ui.valid_cb } self.name2option = { - "n_operation": "tools_nccoperation", - "n_overlap": "tools_nccoverlap", - "n_margin": "tools_nccmargin", - "n_method": "tools_nccmethod", - "n_connect": "tools_nccconnect", - "n_contour": "tools_ncccontour", - "n_offset": "tools_ncc_offset_choice", - "n_offset_value": "tools_ncc_offset_value", - "n_milling_type": "tools_nccmilling_type", + "n_operation": "tools_ncc_operation", + "n_overlap": "tools_ncc_overlap", + "n_margin": "tools_ncc_margin", + "n_method": "tools_ncc_method", + "n_connect": "tools_ncc_connect", + "n_contour": "tools_ncc_contour", + "n_offset": "tools_ncc_offset_choice", + "n_offset_value": "tools_ncc_offset_value", + "n_milling_type": "tools_ncc_milling_type", + "n_check": "tools_ncc_check_valid", } self.old_tool_dia = None @@ -241,7 +246,7 @@ class NonCopperClear(AppTool, Gerber): current_row = self.ui.tools_table.currentRow() try: current_uid = int(self.ui.tools_table.item(current_row, 3).text()) - self.ncc_tools[current_uid]['data']['tools_nccoperation'] = val + self.ncc_tools[current_uid]['data']['tools_ncc_operation'] = val # TODO got a crash here, a KeyError exception; need to see it again and find out the why except AttributeError: return @@ -463,7 +468,10 @@ class NonCopperClear(AppTool, Gerber): def set_tool_ui(self): self.units = self.app.defaults['units'].upper() - self.old_tool_dia = self.app.defaults["tools_nccnewdia"] + self.old_tool_dia = self.app.defaults["tools_ncc_newdia"] + + # reset the value to prepare for another isolation + self.safe_tooldia = None self.ui.tools_frame.show() @@ -492,29 +500,30 @@ class NonCopperClear(AppTool, Gerber): self.on_type_obj_index_changed(val=kind) self.on_reference_combo_changed() - self.ui.op_radio.set_value(self.app.defaults["tools_nccoperation"]) - self.ui.ncc_order_radio.set_value(self.app.defaults["tools_nccorder"]) - self.ui.ncc_overlap_entry.set_value(self.app.defaults["tools_nccoverlap"]) - self.ui.ncc_margin_entry.set_value(self.app.defaults["tools_nccmargin"]) - self.ui.ncc_method_combo.set_value(self.app.defaults["tools_nccmethod"]) - self.ui.ncc_connect_cb.set_value(self.app.defaults["tools_nccconnect"]) - self.ui.ncc_contour_cb.set_value(self.app.defaults["tools_ncccontour"]) + self.ui.op_radio.set_value(self.app.defaults["tools_ncc_operation"]) + self.ui.ncc_order_radio.set_value(self.app.defaults["tools_ncc_order"]) + self.ui.ncc_overlap_entry.set_value(self.app.defaults["tools_ncc_overlap"]) + self.ui.ncc_margin_entry.set_value(self.app.defaults["tools_ncc_margin"]) + self.ui.ncc_method_combo.set_value(self.app.defaults["tools_ncc_method"]) + self.ui.ncc_connect_cb.set_value(self.app.defaults["tools_ncc_connect"]) + self.ui.ncc_contour_cb.set_value(self.app.defaults["tools_ncc_contour"]) self.ui.ncc_choice_offset_cb.set_value(self.app.defaults["tools_ncc_offset_choice"]) self.ui.ncc_offset_spinner.set_value(self.app.defaults["tools_ncc_offset_value"]) - self.ui.ncc_rest_cb.set_value(self.app.defaults["tools_nccrest"]) - self.ui.rest_ncc_margin_entry.set_value(self.app.defaults["tools_nccmargin"]) - self.ui.rest_ncc_connect_cb.set_value(self.app.defaults["tools_nccconnect"]) - self.ui.rest_ncc_contour_cb.set_value(self.app.defaults["tools_ncccontour"]) + self.ui.ncc_rest_cb.set_value(self.app.defaults["tools_ncc_rest"]) + self.ui.rest_ncc_margin_entry.set_value(self.app.defaults["tools_ncc_margin"]) + self.ui.rest_ncc_connect_cb.set_value(self.app.defaults["tools_ncc_connect"]) + self.ui.rest_ncc_contour_cb.set_value(self.app.defaults["tools_ncc_contour"]) self.ui.rest_ncc_choice_offset_cb.set_value(self.app.defaults["tools_ncc_offset_choice"]) self.ui.rest_ncc_offset_spinner.set_value(self.app.defaults["tools_ncc_offset_value"]) - self.ui.select_combo.set_value(self.app.defaults["tools_nccref"]) + self.ui.select_combo.set_value(self.app.defaults["tools_ncc_ref"]) self.ui.area_shape_radio.set_value(self.app.defaults["tools_ncc_area_shape"]) + self.ui.valid_cb.set_value(self.app.defaults["tools_ncc_check_valid"]) - self.ui.milling_type_radio.set_value(self.app.defaults["tools_nccmilling_type"]) + self.ui.milling_type_radio.set_value(self.app.defaults["tools_ncc_milling_type"]) - self.ui.new_tooldia_entry.set_value(self.app.defaults["tools_nccnewdia"]) + self.ui.new_tooldia_entry.set_value(self.app.defaults["tools_ncc_newdia"]) # init the working variables self.default_data.clear() @@ -550,26 +559,27 @@ class NonCopperClear(AppTool, Gerber): "area_overz": float(self.app.defaults["geometry_area_overz"]), "optimization_type": self.app.defaults["geometry_optimization_type"], - "tools_nccoperation": self.app.defaults["tools_nccoperation"], - "tools_nccmargin": self.app.defaults["tools_nccmargin"], - "tools_nccmethod": self.app.defaults["tools_nccmethod"], - "tools_nccconnect": self.app.defaults["tools_nccconnect"], - "tools_ncccontour": self.app.defaults["tools_ncccontour"], - "tools_nccoverlap": self.app.defaults["tools_nccoverlap"], - "tools_nccrest": self.app.defaults["tools_nccrest"], - "tools_nccref": self.app.defaults["tools_nccref"], + "tools_ncc_operation": self.app.defaults["tools_ncc_operation"], + "tools_ncc_margin": self.app.defaults["tools_ncc_margin"], + "tools_ncc_method": self.app.defaults["tools_ncc_method"], + "tools_ncc_connect": self.app.defaults["tools_ncc_connect"], + "tools_ncc_contour": self.app.defaults["tools_ncc_contour"], + "tools_ncc_overlap": self.app.defaults["tools_ncc_overlap"], + "tools_ncc_rest": self.app.defaults["tools_ncc_rest"], + "tools_ncc_ref": self.app.defaults["tools_ncc_ref"], "tools_ncc_offset_choice": self.app.defaults["tools_ncc_offset_choice"], "tools_ncc_offset_value": self.app.defaults["tools_ncc_offset_value"], - "tools_nccmilling_type": self.app.defaults["tools_nccmilling_type"] + "tools_ncc_milling_type": self.app.defaults["tools_ncc_milling_type"], + "tools_ncc_check_valid": self.app.defaults["tools_ncc_check_valid"], } try: - dias = [float(self.app.defaults["tools_ncctools"])] + dias = [float(self.app.defaults["tools_ncc_tools"])] except (ValueError, TypeError): try: - dias = [float(eval(dia)) for dia in self.app.defaults["tools_ncctools"].split(",") if dia != ''] + dias = [float(eval(dia)) for dia in self.app.defaults["tools_ncc_tools"].split(",") if dia != ''] except AttributeError: - dias = self.app.defaults["tools_ncctools"] + dias = self.app.defaults["tools_ncc_tools"] except Exception: dias = [] @@ -819,6 +829,10 @@ class NonCopperClear(AppTool, Gerber): }) def on_find_optimal_tooldia(self): + self.find_safe_tooldia_worker(is_displayed=True) + + def find_safe_tooldia_worker(self, is_displayed): + self.app.inform.emit(_("NCC Tool. Checking tools for validity.")) self.units = self.app.defaults['units'].upper() obj_name = self.ui.object_combo.currentText() @@ -836,7 +850,7 @@ class NonCopperClear(AppTool, Gerber): proc = self.app.proc_container.new(_("Working...")) - def job_thread(app_obj): + def job_thread(app_obj, is_display): try: old_disp_number = 0 pol_nr = 0 @@ -901,18 +915,48 @@ class NonCopperClear(AppTool, Gerber): min_dist = min(min_list) min_dist_truncated = self.app.dec_format(float(min_dist), self.decimals) + self.safe_tooldia = min_dist_truncated - self.optimal_found_sig.emit(min_dist_truncated) + if is_display: + self.optimal_found_sig.emit(min_dist_truncated) - app_obj.inform.emit('[success] %s: %s %s' % - (_("Optimal tool diameter found"), str(min_dist_truncated), self.units.lower())) + app_obj.inform.emit('[success] %s: %s %s' % + (_("Optimal tool diameter found"), str(min_dist_truncated), + self.units.lower())) + else: + # find the selected tool ID's + sorted_tools = [] + table_items = self.ui.tools_table.selectedItems() + sel_rows = {t.row() for t in table_items} + for row in sel_rows: + tid = int(self.ui.tools_table.item(row, 3).text()) + sorted_tools.append(tid) + if not sorted_tools: + msg = _("There are no tools selected in the Tool Table.") + self.app.inform.emit('[ERROR_NOTCL] %s' % msg) + return 'fail' + + # check if the tools diameters are less then the safe tool diameter + suitable_tools = [] + for tool in sorted_tools: + tool_dia = float(self.ncc_tools[tool]['tooldia']) + if tool_dia <= self.safe_tooldia: + suitable_tools.append(tool_dia) + + if not suitable_tools: + msg = _("Incomplete isolation. None of the selected tools could do a complete isolation.") + self.app.inform.emit('[WARNING] %s' % msg) + else: + msg = _("At least one of the selected tools can do a complete isolation.") + self.app.inform.emit('[success] %s' % msg) + + # reset the value to prepare for another isolation + self.safe_tooldia = None except Exception as ee: - proc.done() log.debug(str(ee)) return - proc.done() - self.app.worker_task.emit({'fcn': job_thread, 'params': [self.app]}) + self.app.worker_task.emit({'fcn': job_thread, 'params': [self.app, is_displayed]}) def on_tool_add(self, custom_dia=None): self.blockSignals(True) @@ -1113,7 +1157,7 @@ class NonCopperClear(AppTool, Gerber): 'offset': 'Path', 'offset_value': 0.0, 'type': 'Iso', - 'tool_type': deepcopy(self.app.defaults["tools_ncctool_type"]), + 'tool_type': deepcopy(self.app.defaults["tools_ncc_tool_type"]), 'data': deepcopy(self.default_data), 'solid_geometry': [] } @@ -1266,6 +1310,9 @@ class NonCopperClear(AppTool, Gerber): self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Object not found"), str(self.obj_name))) return + if self.ui.valid_cb.get_value() is True: + self.find_safe_tooldia_worker(is_displayed=False) + # use the selected tools in the tool table; get diameters for isolation self.iso_dia_list = [] # use the selected tools in the tool table; get diameters for non-copper clear @@ -1288,7 +1335,7 @@ class NonCopperClear(AppTool, Gerber): # find out which tools is for isolation and which are for copper clearing for uid_k, uid_v in self.ncc_tools.items(): if round(uid_v['tooldia'], self.decimals) == round(self.tooldia, self.decimals): - if uid_v['data']['tools_nccoperation'] == "iso": + if uid_v['data']['tools_ncc_operation'] == "iso": self.iso_dia_list.append(self.tooldia) else: self.ncc_dia_list.append(self.tooldia) @@ -2113,10 +2160,10 @@ class NonCopperClear(AppTool, Gerber): break # parameters that are particular to the current tool - ncc_overlap = float(self.ncc_tools[tool_uid]["data"]["tools_nccoverlap"]) / 100.0 - ncc_method = self.ncc_tools[tool_uid]["data"]["tools_nccmethod"] - ncc_connect = self.ncc_tools[tool_uid]["data"]["tools_nccconnect"] - ncc_contour = self.ncc_tools[tool_uid]["data"]["tools_ncccontour"] + ncc_overlap = float(self.ncc_tools[tool_uid]["data"]["tools_ncc_overlap"]) / 100.0 + ncc_method = self.ncc_tools[tool_uid]["data"]["tools_ncc_method"] + ncc_connect = self.ncc_tools[tool_uid]["data"]["tools_ncc_connect"] + ncc_contour = self.ncc_tools[tool_uid]["data"]["tools_ncc_contour"] has_offset = self.ncc_tools[tool_uid]["data"]["tools_ncc_offset_choice"] ncc_offset = float(self.ncc_tools[tool_uid]["data"]["tools_ncc_offset_value"]) @@ -2360,8 +2407,8 @@ class NonCopperClear(AppTool, Gerber): break # parameters that are particular to the current tool - ncc_overlap = float(self.ncc_tools[tool_uid]["data"]["tools_nccoverlap"]) / 100.0 - ncc_method = self.ncc_tools[tool_uid]["data"]["tools_nccmethod"] + ncc_overlap = float(self.ncc_tools[tool_uid]["data"]["tools_ncc_overlap"]) / 100.0 + ncc_method = self.ncc_tools[tool_uid]["data"]["tools_ncc_method"] # variables to display the percentage of work done geo_len = len(area.geoms) @@ -2716,9 +2763,9 @@ class NonCopperClear(AppTool, Gerber): offset_a = sum(sorted_tools) current_uid = int(1) try: - tool = eval(self.app.defaults["tools_ncctools"])[0] + tool = eval(self.app.defaults["tools_ncc_tools"])[0] except TypeError: - tool = eval(self.app.defaults["tools_ncctools"]) + tool = eval(self.app.defaults["tools_ncc_tools"]) # ################################################################################################### # Calculate the empty area by subtracting the solid_geometry from the object bounding box geometry ## @@ -2758,7 +2805,7 @@ class NonCopperClear(AppTool, Gerber): self.solid_geometry = ncc_obj.solid_geometry # if milling type is climb then the move is counter-clockwise around features - milling_type = self.app.defaults["tools_nccmilling_type"] + milling_type = self.app.defaults["tools_ncc_milling_type"] for tool_iso in isotooldia: new_geometry = [] @@ -3106,9 +3153,9 @@ class NonCopperClear(AppTool, Gerber): rest_geo = [] current_uid = 1 try: - tool = eval(self.app.defaults["tools_ncctools"])[0] + tool = eval(self.app.defaults["tools_ncc_tools"])[0] except TypeError: - tool = eval(self.app.defaults["tools_ncctools"]) + tool = eval(self.app.defaults["tools_ncc_tools"]) # repurposed flag for final object, geo_obj. True if it has any solid_geometry, False if not. app_obj.poly_not_cleared = True @@ -3137,7 +3184,7 @@ class NonCopperClear(AppTool, Gerber): self.solid_geometry = ncc_obj.solid_geometry # if milling type is climb then the move is counter-clockwise around features - milling_type = self.app.defaults["tools_nccmilling_type"] + milling_type = self.app.defaults["tools_ncc_milling_type"] for tool_iso in isotooldia: new_geometry = [] @@ -4247,10 +4294,20 @@ class NccUI: self.area_shape_label.hide() self.area_shape_radio.hide() + # Check Tool validity + self.valid_cb = FCCheckBox(label=_('Check validity')) + self.valid_cb.setToolTip( + _("If checked then the tools diameters are verified\n" + "if they will provide a complete isolation.") + ) + self.valid_cb.setObjectName("n_check") + + self.grid3.addWidget(self.valid_cb, 33, 0, 1, 2) + separator_line = QtWidgets.QFrame() separator_line.setFrameShape(QtWidgets.QFrame.HLine) separator_line.setFrameShadow(QtWidgets.QFrame.Sunken) - self.grid3.addWidget(separator_line, 32, 0, 1, 2) + self.grid3.addWidget(separator_line, 35, 0, 1, 2) self.generate_ncc_button = FCButton(_('Generate Geometry')) self.generate_ncc_button.setIcon(QtGui.QIcon(self.app.resource_location + '/geometry32.png')) diff --git a/appTools/ToolSub.py b/appTools/ToolSub.py index 680d2a5b..7967c89e 100644 --- a/appTools/ToolSub.py +++ b/appTools/ToolSub.py @@ -635,11 +635,13 @@ class SubUI: self.tools_frame.setLayout(self.tools_box) # Form Layout - form_layout = QtWidgets.QFormLayout() - self.tools_box.addLayout(form_layout) + grid0 = QtWidgets.QGridLayout() + grid0.setColumnStretch(0, 0) + grid0.setColumnStretch(1, 1) + self.tools_box.addLayout(grid0) self.gerber_title = QtWidgets.QLabel("%s" % _("GERBER")) - form_layout.addRow(self.gerber_title) + grid0.addWidget(self.gerber_title, 0, 0, 1, 2) # Target Gerber Object self.target_gerber_combo = FCComboBox() @@ -655,7 +657,8 @@ class SubUI: "the subtractor Gerber object.") ) - form_layout.addRow(self.target_gerber_label, self.target_gerber_combo) + grid0.addWidget(self.target_gerber_label, 2, 0) + grid0.addWidget(self.target_gerber_combo, 2, 1) # Substractor Gerber Object self.sub_gerber_combo = FCComboBox() @@ -669,9 +672,9 @@ class SubUI: _("Gerber object that will be subtracted\n" "from the target Gerber object.") ) - e_lab_1 = QtWidgets.QLabel('') - form_layout.addRow(self.sub_gerber_label, self.sub_gerber_combo) + grid0.addWidget(self.sub_gerber_label, 4, 0) + grid0.addWidget(self.sub_gerber_combo, 4, 1) self.intersect_btn = FCButton(_('Subtract Gerber')) self.intersect_btn.setToolTip( @@ -686,15 +689,11 @@ class SubUI: font-weight: bold; } """) - self.tools_box.addWidget(self.intersect_btn) - self.tools_box.addWidget(e_lab_1) - - # Form Layout - form_geo_layout = QtWidgets.QFormLayout() - self.tools_box.addLayout(form_geo_layout) + grid0.addWidget(self.intersect_btn, 6, 0, 1, 2) + grid0.addWidget(QtWidgets.QLabel(''), 8, 0, 1, 2) self.geo_title = QtWidgets.QLabel("%s" % _("GEOMETRY")) - form_geo_layout.addRow(self.geo_title) + grid0.addWidget(self.geo_title, 10, 0, 1, 2) # Target Geometry Object self.target_geo_combo = FCComboBox() @@ -710,7 +709,8 @@ class SubUI: "the subtractor Geometry object.") ) - form_geo_layout.addRow(self.target_geo_label, self.target_geo_combo) + grid0.addWidget(self.target_geo_label, 12, 0) + grid0.addWidget(self.target_geo_combo, 12, 1) # Substractor Geometry Object self.sub_geo_combo = FCComboBox() @@ -724,13 +724,14 @@ class SubUI: _("Geometry object that will be subtracted\n" "from the target Geometry object.") ) - e_lab_1 = QtWidgets.QLabel('') - form_geo_layout.addRow(self.sub_geo_label, self.sub_geo_combo) + grid0.addWidget(self.sub_geo_label, 14, 0) + grid0.addWidget(self.sub_geo_combo, 14, 1) self.close_paths_cb = FCCheckBox(_("Close paths")) self.close_paths_cb.setToolTip(_("Checking this will close the paths cut by the Geometry subtractor object.")) - self.tools_box.addWidget(self.close_paths_cb) + + grid0.addWidget(self.close_paths_cb, 16, 0, 1, 2) self.intersect_geo_btn = FCButton(_('Subtract Geometry')) self.intersect_geo_btn.setToolTip( @@ -743,8 +744,9 @@ class SubUI: font-weight: bold; } """) - self.tools_box.addWidget(self.intersect_geo_btn) - self.tools_box.addWidget(e_lab_1) + + grid0.addWidget(self.intersect_geo_btn, 18, 0, 1, 2) + grid0.addWidget(QtWidgets.QLabel(''), 20, 0, 1, 2) self.tools_box.addStretch() diff --git a/app_Main.py b/app_Main.py index a008a272..16c90adc 100644 --- a/app_Main.py +++ b/app_Main.py @@ -4139,7 +4139,7 @@ class App(QtCore.QObject): def scale_defaults(self, sfactor, dimensions): for dim in dimensions: - if dim in ['geometry_cnctooldia', 'tools_ncctools', 'tools_solderpaste_tools', 'tools_iso_tooldia', + if dim in ['geometry_cnctooldia', 'tools_ncc_tools', 'tools_solderpaste_tools', 'tools_iso_tooldia', 'tools_painttooldia', 'tools_transform_ref_point', 'tools_cal_toolchange_xy', 'gerber_editor_newdim', 'tools_drill_toolchangexy', 'tools_drill_endxy', 'geometry_toolchangexy', 'geometry_endxy', 'tools_solderpaste_xy_toolchange']: @@ -4255,8 +4255,8 @@ class App(QtCore.QObject): "tools_drill_feedrate_probe", "tools_drill_z_pdepth", "tools_drill_area_overz", # NCC Tool - "tools_ncctools", "tools_nccmargin", "tools_ncc_offset_value", "tools_ncccutz", "tools_ncctipdia", - "tools_nccnewdia", + "tools_ncc_tools", "tools_ncc_margin", "tools_ncc_offset_value", "tools_ncc_cutz", "tools_ncc_tipdia", + "tools_ncc_newdia", # Cutout Tool "tools_cutout_tooldia", 'tools_cutout_margin', "tools_cutout_z", "tools_cutout_depthperpass", @@ -9686,7 +9686,7 @@ class App(QtCore.QObject): # label = QtWidgets.QLabel("Choose an item from Project") # label.setAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter) - sel_title = QtWidgets.QTextEdit(_('Shortcut Key List')) + sel_title = QtWidgets.QTextEdit() sel_title.setTextInteractionFlags(QtCore.Qt.NoTextInteraction) sel_title.setFrameStyle(QtWidgets.QFrame.NoFrame) diff --git a/defaults.py b/defaults.py index 9bdfea55..10d07db1 100644 --- a/defaults.py +++ b/defaults.py @@ -461,26 +461,27 @@ class FlatCAMDefaults: "tools_drill_area_overz": 1.0, # NCC Tool - "tools_ncctools": "1.0, 0.5", - "tools_nccorder": 'rev', - "tools_nccoperation": 'clear', - "tools_nccoverlap": 40, - "tools_nccmargin": 1.0, - "tools_nccmethod": _("Seed"), - "tools_nccconnect": True, - "tools_ncccontour": True, - "tools_nccrest": False, + "tools_ncc_tools": "1.0, 0.5", + "tools_ncc_order": 'rev', + "tools_ncc_operation": 'clear', + "tools_ncc_overlap": 40, + "tools_ncc_margin": 1.0, + "tools_ncc_method": _("Seed"), + "tools_ncc_connect": True, + "tools_ncc_contour": True, + "tools_ncc_rest": False, "tools_ncc_offset_choice": False, "tools_ncc_offset_value": 0.0000, - "tools_nccref": _('Itself'), + "tools_ncc_ref": _('Itself'), "tools_ncc_area_shape": "square", - "tools_nccmilling_type": 'cl', - "tools_ncctool_type": 'C1', - "tools_ncccutz": -0.05, - "tools_ncctipdia": 0.1, - "tools_ncctipangle": 30, - "tools_nccnewdia": 0.1, + "tools_ncc_milling_type": 'cl', + "tools_ncc_tool_type": 'C1', + "tools_ncc_cutz": -0.05, + "tools_ncc_tipdia": 0.1, + "tools_ncc_tipangle": 30, + "tools_ncc_newdia": 0.1, "tools_ncc_plotting": 'normal', + "tools_ncc_check_valid": True, # Cutout Tool "tools_cutout_tooldia": 2.4, diff --git a/locale/de/LC_MESSAGES/strings.mo b/locale/de/LC_MESSAGES/strings.mo index 970b7d4ad33d9b0dd28764807b32d8a35ecd6fd2..904768caf858438995d43ca4dd5acd48a87adc45 100644 GIT binary patch delta 65572 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 delta 65866 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 m;=6b74e(DIfwJeJ-JucfJCQL(tp5Sc`j`s< diff --git a/locale/de/LC_MESSAGES/strings.po b/locale/de/LC_MESSAGES/strings.po index 9b330fb1..27877608 100644 --- a/locale/de/LC_MESSAGES/strings.po +++ b/locale/de/LC_MESSAGES/strings.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2020-10-21 16:05+0300\n" -"PO-Revision-Date: 2020-10-21 16:05+0300\n" +"POT-Creation-Date: 2020-10-22 15:07+0300\n" +"PO-Revision-Date: 2020-10-22 15:07+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: de\n" @@ -104,7 +104,7 @@ msgstr "Lesezeichen" #: appDatabase.py:2998 appDatabase.py:3044 appEditors/AppExcEditor.py:1023 #: appEditors/AppExcEditor.py:1091 appEditors/AppTextEditor.py:263 #: appGUI/MainGUI.py:2878 appGUI/MainGUI.py:3100 appGUI/MainGUI.py:3315 -#: appObjects/FlatCAMCNCJob.py:1736 appObjects/ObjectCollection.py:126 +#: appObjects/FlatCAMCNCJob.py:1745 appObjects/ObjectCollection.py:126 #: appTools/ToolFilm.py:238 appTools/ToolFilm.py:384 appTools/ToolImage.py:112 #: appTools/ToolMove.py:269 appTools/ToolPcbWizard.py:189 #: appTools/ToolPcbWizard.py:212 appTools/ToolQRCode.py:526 @@ -120,8 +120,8 @@ msgid "Cancelled." msgstr "Abgebrochen." #: Bookmark.py:308 appDatabase.py:673 appDatabase.py:3006 -#: appEditors/AppTextEditor.py:318 appObjects/FlatCAMCNCJob.py:1658 -#: appObjects/FlatCAMCNCJob.py:1848 appObjects/FlatCAMCNCJob.py:2297 +#: appEditors/AppTextEditor.py:318 appObjects/FlatCAMCNCJob.py:1667 +#: appObjects/FlatCAMCNCJob.py:1857 appObjects/FlatCAMCNCJob.py:2306 #: appTools/ToolFilm.py:582 appTools/ToolFilm.py:830 #: appTools/ToolSolderPaste.py:1097 app_Main.py:2666 app_Main.py:8451 #: app_Main.py:8499 app_Main.py:8628 app_Main.py:8765 app_Main.py:8833 @@ -159,18 +159,18 @@ msgstr "" "angefordert." #: appCommon/Common.py:292 appTools/ToolCopperThieving.py:328 -#: appTools/ToolIsolation.py:1436 appTools/ToolNCC.py:1317 +#: appTools/ToolIsolation.py:1436 appTools/ToolNCC.py:1364 msgid "Click the start point of the area." msgstr "Klicken Sie auf den Startpunkt des Bereichs." -#: appCommon/Common.py:351 appTools/ToolNCC.py:1376 appTools/ToolPaint.py:1210 +#: appCommon/Common.py:351 appTools/ToolNCC.py:1423 appTools/ToolPaint.py:1210 msgid "Click the end point of the area." msgstr "Klicken Sie auf den Endpunkt des Bereichs." #: appCommon/Common.py:357 appCommon/Common.py:459 #: appTools/ToolCopperThieving.py:385 appTools/ToolIsolation.py:2348 -#: appTools/ToolIsolation.py:2400 appTools/ToolNCC.py:1382 -#: appTools/ToolNCC.py:1434 appTools/ToolPaint.py:1216 +#: appTools/ToolIsolation.py:2400 appTools/ToolNCC.py:1429 +#: appTools/ToolNCC.py:1481 appTools/ToolPaint.py:1216 #: appTools/ToolPaint.py:1267 msgid "Zone added. Click to start adding next zone or right click to finish." msgstr "" @@ -178,7 +178,7 @@ msgstr "" "klicken Sie mit der rechten Maustaste, um den Vorgang abzuschließen." #: appCommon/Common.py:404 appEditors/AppGeoEditor.py:2352 -#: appTools/ToolIsolation.py:2371 appTools/ToolNCC.py:1405 +#: appTools/ToolIsolation.py:2371 appTools/ToolNCC.py:1452 #: appTools/ToolPaint.py:1238 msgid "Click on next Point or click right mouse button to complete ..." msgstr "" @@ -272,7 +272,7 @@ msgstr "" "der Werkzeugdatenbank ausgewählt haben." #: appDatabase.py:130 appDatabase.py:2281 appGUI/MainGUI.py:1438 -#: appGUI/preferences/PreferencesUIManager.py:931 app_Main.py:2291 +#: appGUI/preferences/PreferencesUIManager.py:932 app_Main.py:2291 #: app_Main.py:3386 app_Main.py:4341 app_Main.py:4587 app_Main.py:6895 msgid "Cancel" msgstr "Abbrechen" @@ -282,15 +282,15 @@ msgid "Tool Name" msgstr "Werkzeugname" #: appDatabase.py:161 appDatabase.py:837 appEditors/AppExcEditor.py:3765 -#: appGUI/ObjectUI.py:1038 appGUI/ObjectUI.py:1606 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:132 +#: appGUI/ObjectUI.py:1082 appGUI/ObjectUI.py:1650 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:130 #: appTools/ToolCutOut.py:2060 appTools/ToolIsolation.py:3091 -#: appTools/ToolNCC.py:3859 appTools/ToolNCC.py:3870 appTools/ToolPaint.py:2882 +#: appTools/ToolNCC.py:3906 appTools/ToolNCC.py:3917 appTools/ToolPaint.py:2882 msgid "Tool Dia" msgstr "Werkzeugdurchm" #: appDatabase.py:162 appDatabase.py:839 appDatabase.py:1273 -#: appGUI/ObjectUI.py:1013 +#: appGUI/ObjectUI.py:1057 msgid "Tool Offset" msgstr "Werkzeugversatz" @@ -301,8 +301,8 @@ msgstr "Selbstdefinierter Werkzeugversatz" #: appDatabase.py:164 appDatabase.py:843 appDatabase.py:1257 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:70 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:53 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:62 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:72 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:60 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:70 msgid "Tool Type" msgstr "Werkzeugtyp" @@ -311,16 +311,16 @@ msgid "Tool Shape" msgstr "Werkzeugform" #: appDatabase.py:166 appDatabase.py:848 appDatabase.py:1309 -#: appDatabase.py:1834 appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:1169 -#: appGUI/ObjectUI.py:1962 +#: appDatabase.py:1834 appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:1213 +#: appGUI/ObjectUI.py:2019 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:49 #: appGUI/preferences/tools/ToolsCalculatorsPrefGroupUI.py:78 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:58 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:57 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:115 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:98 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:105 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:113 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:103 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:111 #: appTools/ToolCalculators.py:240 appTools/ToolCutOut.py:2104 #: appTools/ToolDrilling.py:2143 appTools/ToolMilling.py:1793 msgid "Cut Z" @@ -347,7 +347,7 @@ msgid "V-Angle" msgstr "Winkel der V-Form" #: appDatabase.py:171 appDatabase.py:858 appDatabase.py:1350 -#: appDatabase.py:1903 appGUI/ObjectUI.py:1216 +#: appDatabase.py:1903 appGUI/ObjectUI.py:1260 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:198 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:102 #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:61 @@ -377,7 +377,7 @@ msgid "Spindle Speed" msgstr "Drehgeschwindigkeit" #: appDatabase.py:176 appDatabase.py:868 appDatabase.py:1467 -#: appDatabase.py:1984 appGUI/ObjectUI.py:1323 appTools/ToolDrilling.py:2264 +#: appDatabase.py:1984 appGUI/ObjectUI.py:1367 appTools/ToolDrilling.py:2264 #: appTools/ToolMilling.py:1957 msgid "Dwell" msgstr "Warten zum Beschleunigen" @@ -387,7 +387,7 @@ msgstr "Warten zum Beschleunigen" msgid "Dwelltime" msgstr "Wartezeit zum Beschleunigen" -#: appDatabase.py:178 appDatabase.py:872 appGUI/ObjectUI.py:1482 +#: appDatabase.py:178 appDatabase.py:872 appGUI/ObjectUI.py:1526 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:255 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:221 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:237 @@ -713,13 +713,13 @@ msgstr "" #: appDatabase.py:307 appDatabase.py:684 appDatabase.py:718 appDatabase.py:2647 #: appDatabase.py:3017 appDatabase.py:3051 appTools/ToolCutOut.py:294 #: appTools/ToolDrilling.py:895 appTools/ToolIsolation.py:1067 -#: appTools/ToolNCC.py:965 appTools/ToolPaint.py:704 +#: appTools/ToolNCC.py:1009 appTools/ToolPaint.py:704 msgid "Could not load Tools DB file." msgstr "Werkzeugdatenbank konnte nicht geladen werden." #: appDatabase.py:315 appDatabase.py:726 appDatabase.py:2655 #: appDatabase.py:3059 appTools/ToolCutOut.py:305 appTools/ToolDrilling.py:903 -#: appTools/ToolIsolation.py:1078 appTools/ToolNCC.py:976 +#: appTools/ToolIsolation.py:1078 appTools/ToolNCC.py:1020 #: appTools/ToolPaint.py:715 msgid "Failed to parse Tools DB file." msgstr "Formatfehler beim Einlesen der Werkzeugdatenbank." @@ -778,7 +778,7 @@ msgstr "Import der FlatCAM-Werkzeugdatenbank" #: appDatabase.py:3464 appObjects/FlatCAMGeometry.py:1089 #: appTools/ToolCutOut.py:484 appTools/ToolCutOut.py:525 #: appTools/ToolIsolation.py:2583 appTools/ToolIsolation.py:2667 -#: appTools/ToolNCC.py:3608 appTools/ToolNCC.py:3688 appTools/ToolPaint.py:2626 +#: appTools/ToolNCC.py:3655 appTools/ToolNCC.py:3735 appTools/ToolPaint.py:2626 #: appTools/ToolPaint.py:2715 app_Main.py:5676 app_Main.py:5718 #: app_Main.py:5749 app_Main.py:5769 app_Main.py:5779 msgid "Tools Database" @@ -834,21 +834,21 @@ msgid "Cutout Parameters" msgstr "Schlitze-Parameter" #: appDatabase.py:1124 appEditors/AppGeoEditor.py:3287 appGUI/ObjectUI.py:219 -#: appGUI/ObjectUI.py:544 appGUI/ObjectUI.py:850 appGUI/ObjectUI.py:1819 -#: appGUI/ObjectUI.py:2624 appGUI/ObjectUI.py:2691 +#: appGUI/ObjectUI.py:570 appGUI/ObjectUI.py:894 appGUI/ObjectUI.py:1876 +#: appGUI/ObjectUI.py:2681 appGUI/ObjectUI.py:2748 #: appTools/ToolCalibration.py:929 appTools/ToolFiducials.py:681 msgid "Name" msgstr "Name" #: appDatabase.py:1137 appEditors/AppExcEditor.py:2567 -#: appEditors/AppExcEditor.py:3732 appGUI/ObjectUI.py:640 -#: appObjects/FlatCAMExcellon.py:900 appObjects/FlatCAMExcellon.py:1000 -#: appObjects/FlatCAMObj.py:716 appObjects/FlatCAMObj.py:779 +#: appEditors/AppExcEditor.py:3732 appGUI/ObjectUI.py:666 +#: appObjects/FlatCAMExcellon.py:902 appObjects/FlatCAMExcellon.py:1002 +#: appObjects/FlatCAMObj.py:719 appObjects/FlatCAMObj.py:782 #: appTools/ToolDrilling.py:1762 appTools/ToolDrilling.py:1827 #: appTools/ToolDrilling.py:2065 appTools/ToolIsolation.py:3022 #: appTools/ToolMilling.py:1071 appTools/ToolMilling.py:1175 #: appTools/ToolMilling.py:1360 appTools/ToolMilling.py:1670 -#: appTools/ToolNCC.py:3778 appTools/ToolPaint.py:2813 +#: appTools/ToolNCC.py:3825 appTools/ToolPaint.py:2813 #: appTools/ToolPcbWizard.py:404 appTools/ToolProperties.py:417 #: appTools/ToolProperties.py:480 appTools/ToolSolderPaste.py:1166 #: tclCommands/TclCommandDrillcncjob.py:195 @@ -887,7 +887,7 @@ msgstr "" #: appDatabase.py:1186 appDatabase.py:1504 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:46 -#: appTools/ToolMilling.py:1738 appTools/ToolNCC.py:3943 +#: appTools/ToolMilling.py:1738 appTools/ToolNCC.py:3990 msgid "Operation" msgstr "Operation" @@ -914,7 +914,7 @@ msgstr "Bohren" #: appDatabase.py:1192 appDatabase.py:1514 appDatabase.py:2761 #: appDatabase.py:3095 appTools/ToolIsolation.py:1101 -#: appTools/ToolIsolation.py:2576 appTools/ToolNCC.py:3953 +#: appTools/ToolIsolation.py:2576 appTools/ToolNCC.py:4000 msgid "Isolation" msgstr "Isolation" @@ -925,7 +925,7 @@ msgid "Paint" msgstr "Malen" #: appDatabase.py:1192 appDatabase.py:2773 appDatabase.py:3111 -#: appTools/ToolNCC.py:1000 appTools/ToolNCC.py:3601 +#: appTools/ToolNCC.py:1044 appTools/ToolNCC.py:3648 #, fuzzy #| msgid "CCW" msgid "NCC" @@ -943,13 +943,13 @@ msgstr "Ausschnitt PCB" #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:418 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:303 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:322 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:286 -#: appTools/ToolIsolation.py:3425 appTools/ToolNCC.py:4236 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:284 +#: appTools/ToolIsolation.py:3425 appTools/ToolNCC.py:4283 #: appTools/ToolPaint.py:3163 msgid "Shape" msgstr "Form" -#: appDatabase.py:1403 appGUI/ObjectUI.py:1235 +#: appDatabase.py:1403 appGUI/ObjectUI.py:1279 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:186 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:148 #: appTools/ToolMilling.py:1860 appTools/ToolSolderPaste.py:1325 @@ -965,7 +965,7 @@ msgstr "" "Die Geschwindigkeit in der XY-Ebene, die beim Schneiden in Material " "verwendet wird." -#: appDatabase.py:1417 appDatabase.py:1929 appGUI/ObjectUI.py:1249 +#: appDatabase.py:1417 appDatabase.py:1929 appGUI/ObjectUI.py:1293 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:201 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:171 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:161 @@ -982,7 +982,7 @@ msgstr "" "Vorschub Z.\n" "Die Geschwindigkeit in der Z-Ebene." -#: appDatabase.py:1506 appTools/ToolNCC.py:3945 +#: appDatabase.py:1506 appTools/ToolNCC.py:3992 msgid "" "The 'Operation' can be:\n" "- Isolation -> will ensure that the non-copper clearing is always complete.\n" @@ -996,7 +996,7 @@ msgstr "" "- Klären-> das reguläre Nicht-Kupfer-löschen." #: appDatabase.py:1513 appEditors/AppGerberEditor.py:2749 -#: appGUI/GUIElements.py:3021 appTools/ToolNCC.py:3952 +#: appGUI/GUIElements.py:3021 appTools/ToolNCC.py:3999 msgid "Clear" msgstr "Klären" @@ -1006,7 +1006,7 @@ msgstr "Klären" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:182 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:137 #: appTools/ToolIsolation.py:3204 appTools/ToolMilling.py:1760 -#: appTools/ToolNCC.py:3961 +#: appTools/ToolNCC.py:4008 msgid "Milling Type" msgstr "Fräsart" @@ -1016,7 +1016,7 @@ msgstr "Fräsart" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:139 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:147 #: appTools/ToolIsolation.py:3206 appTools/ToolIsolation.py:3214 -#: appTools/ToolNCC.py:3963 appTools/ToolNCC.py:3971 +#: appTools/ToolNCC.py:4010 appTools/ToolNCC.py:4018 msgid "" "Milling type when the selected tool is of type: 'iso_op':\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -1031,7 +1031,7 @@ msgstr "" #: appGUI/preferences/geometry/GeometryEditorPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:189 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:144 -#: appTools/ToolIsolation.py:3211 appTools/ToolNCC.py:3968 +#: appTools/ToolIsolation.py:3211 appTools/ToolNCC.py:4015 msgid "Climb" msgstr "Steigen" @@ -1040,24 +1040,24 @@ msgstr "Steigen" #: appGUI/preferences/geometry/GeometryEditorPrefGroupUI.py:63 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:190 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:145 -#: appTools/ToolIsolation.py:3212 appTools/ToolNCC.py:3969 +#: appTools/ToolIsolation.py:3212 appTools/ToolNCC.py:4016 msgid "Conventional" msgstr "Konventionell" #: appDatabase.py:1542 appDatabase.py:1651 appDatabase.py:1753 -#: appDatabase.py:2027 appEditors/AppGeoEditor.py:450 appGUI/ObjectUI.py:1633 +#: appDatabase.py:2027 appEditors/AppGeoEditor.py:450 appGUI/ObjectUI.py:1677 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:250 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:167 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:182 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:163 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:161 #: appTools/ToolDrilling.py:2312 appTools/ToolIsolation.py:3189 -#: appTools/ToolNCC.py:3984 appTools/ToolPaint.py:2955 +#: appTools/ToolNCC.py:4031 appTools/ToolPaint.py:2955 msgid "Overlap" msgstr "Überlappung" # Double #: appDatabase.py:1544 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:184 -#: appTools/ToolNCC.py:3986 +#: appTools/ToolNCC.py:4033 msgid "" "How much (percentage) of the tool width to overlap each tool pass.\n" "Adjust the value starting with lower values\n" @@ -1085,12 +1085,12 @@ msgstr "" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:66 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:115 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:202 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:183 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:181 #: appTools/ToolCopperThieving.py:1204 appTools/ToolCopperThieving.py:1455 #: appTools/ToolCorners.py:411 appTools/ToolCutOut.py:2157 #: appTools/ToolFiducials.py:786 appTools/ToolInvertGerber.py:234 -#: appTools/ToolInvertGerber.py:242 appTools/ToolNCC.py:4028 -#: appTools/ToolNCC.py:4131 +#: appTools/ToolInvertGerber.py:242 appTools/ToolNCC.py:4075 +#: appTools/ToolNCC.py:4178 msgid "Margin" msgstr "Marge" @@ -1101,25 +1101,25 @@ msgstr "Marge" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:68 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:204 #: appTools/ToolCopperThieving.py:1206 appTools/ToolCorners.py:413 -#: appTools/ToolFiducials.py:788 appTools/ToolNCC.py:4030 -#: appTools/ToolNCC.py:4133 +#: appTools/ToolFiducials.py:788 appTools/ToolNCC.py:4077 +#: appTools/ToolNCC.py:4180 msgid "Bounding box margin." msgstr "Begrenzungsrahmenrand." #: appDatabase.py:1576 appDatabase.py:1687 appEditors/AppGeoEditor.py:484 -#: appGUI/ObjectUI.py:1648 appGUI/ObjectUI.py:2115 +#: appGUI/ObjectUI.py:1692 appGUI/ObjectUI.py:2172 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:85 #: appGUI/preferences/tools/Tools2EDrillsPrefGroupUI.py:105 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:106 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:215 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:198 -#: appTools/ToolExtractDrills.py:520 appTools/ToolNCC.py:4005 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:196 +#: appTools/ToolExtractDrills.py:520 appTools/ToolNCC.py:4052 #: appTools/ToolPaint.py:2991 appTools/ToolPunchGerber.py:793 msgid "Method" msgstr "Methode" #: appDatabase.py:1578 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:217 -#: appTools/ToolNCC.py:4007 +#: appTools/ToolNCC.py:4054 msgid "" "Algorithm for copper clearing:\n" "- Standard: Fixed step inwards.\n" @@ -1132,9 +1132,9 @@ msgstr "" "- Linienbasiert: Parallele Linien." #: appDatabase.py:1586 appDatabase.py:1701 appEditors/AppGeoEditor.py:498 -#: appGUI/ObjectUI.py:1658 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 -#: appTools/ToolNCC.py:1916 appTools/ToolNCC.py:4020 appTools/ToolPaint.py:1456 +#: appGUI/ObjectUI.py:1702 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 +#: appTools/ToolNCC.py:1963 appTools/ToolNCC.py:4067 appTools/ToolPaint.py:1456 #: appTools/ToolPaint.py:3016 defaults.py:346 #: tclCommands/TclCommandCopperClear.py:126 #: tclCommands/TclCommandCopperClear.py:134 tclCommands/TclCommandPaint.py:125 @@ -1143,20 +1143,20 @@ msgstr "Standard" #: appDatabase.py:1586 appDatabase.py:1701 appEditors/AppGeoEditor.py:498 #: appEditors/AppGeoEditor.py:568 appEditors/AppGeoEditor.py:5113 -#: appGUI/ObjectUI.py:1658 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 -#: appTools/ToolNCC.py:1927 appTools/ToolNCC.py:4020 appTools/ToolPaint.py:1470 -#: appTools/ToolPaint.py:3016 defaults.py:469 defaults.py:506 +#: appGUI/ObjectUI.py:1702 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 +#: appTools/ToolNCC.py:1974 appTools/ToolNCC.py:4067 appTools/ToolPaint.py:1470 +#: appTools/ToolPaint.py:3016 defaults.py:469 defaults.py:507 #: tclCommands/TclCommandCopperClear.py:128 #: tclCommands/TclCommandCopperClear.py:136 tclCommands/TclCommandPaint.py:127 msgid "Seed" msgstr "Keim" #: appDatabase.py:1586 appDatabase.py:1701 appEditors/AppGeoEditor.py:498 -#: appEditors/AppGeoEditor.py:5117 appGUI/ObjectUI.py:1658 +#: appEditors/AppGeoEditor.py:5117 appGUI/ObjectUI.py:1702 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 -#: appTools/ToolNCC.py:1938 appTools/ToolNCC.py:4020 appTools/ToolPaint.py:160 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 +#: appTools/ToolNCC.py:1985 appTools/ToolNCC.py:4067 appTools/ToolPaint.py:160 #: appTools/ToolPaint.py:1484 appTools/ToolPaint.py:3016 #: tclCommands/TclCommandCopperClear.py:130 tclCommands/TclCommandPaint.py:129 msgid "Lines" @@ -1164,25 +1164,25 @@ msgstr "Linien" #: appDatabase.py:1586 appDatabase.py:1701 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 -#: appTools/ToolNCC.py:1949 appTools/ToolNCC.py:4020 appTools/ToolPaint.py:1649 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 +#: appTools/ToolNCC.py:1996 appTools/ToolNCC.py:4067 appTools/ToolPaint.py:1649 #: appTools/ToolPaint.py:3016 tclCommands/TclCommandPaint.py:133 msgid "Combo" msgstr "Combo" #: appDatabase.py:1594 appDatabase.py:1712 appEditors/AppGeoEditor.py:505 -#: appGUI/ObjectUI.py:2200 appGUI/ObjectUI.py:2223 +#: appGUI/ObjectUI.py:2257 appGUI/ObjectUI.py:2280 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:237 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:224 -#: appObjects/FlatCAMCNCJob.py:1291 appObjects/FlatCAMCNCJob.py:1313 -#: appTools/ToolNCC.py:4041 appTools/ToolNCC.py:4144 appTools/ToolPaint.py:3027 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:222 +#: appObjects/FlatCAMCNCJob.py:1300 appObjects/FlatCAMCNCJob.py:1322 +#: appTools/ToolNCC.py:4088 appTools/ToolNCC.py:4191 appTools/ToolPaint.py:3027 msgid "Connect" msgstr "Verbinden" #: appDatabase.py:1598 appDatabase.py:1715 appEditors/AppGeoEditor.py:507 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:239 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:226 -#: appTools/ToolNCC.py:4045 appTools/ToolNCC.py:4146 appTools/ToolPaint.py:3030 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:224 +#: appTools/ToolNCC.py:4092 appTools/ToolNCC.py:4193 appTools/ToolPaint.py:3030 msgid "" "Draw lines between resulting\n" "segments to minimize tool lifts." @@ -1192,15 +1192,15 @@ msgstr "" #: appDatabase.py:1604 appDatabase.py:1719 appEditors/AppGeoEditor.py:515 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:246 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:232 -#: appTools/ToolNCC.py:4051 appTools/ToolNCC.py:4152 appTools/ToolPaint.py:3034 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:230 +#: appTools/ToolNCC.py:4098 appTools/ToolNCC.py:4199 appTools/ToolPaint.py:3034 msgid "Contour" msgstr "Kontur" #: appDatabase.py:1608 appDatabase.py:1722 appEditors/AppGeoEditor.py:517 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:248 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:234 -#: appTools/ToolNCC.py:4055 appTools/ToolNCC.py:4154 appTools/ToolPaint.py:3037 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:232 +#: appTools/ToolNCC.py:4102 appTools/ToolNCC.py:4201 appTools/ToolPaint.py:3037 msgid "" "Cut around the perimeter of the polygon\n" "to trim rough edges." @@ -1210,17 +1210,17 @@ msgstr "" #: appDatabase.py:1614 appDatabase.py:1672 appEditors/AppGeoEditor.py:611 #: appEditors/AppGerberEditor.py:5321 appEditors/appGCodeEditor.py:692 -#: appGUI/ObjectUI.py:143 appGUI/ObjectUI.py:955 appGUI/ObjectUI.py:1952 +#: appGUI/ObjectUI.py:143 appGUI/ObjectUI.py:999 appGUI/ObjectUI.py:2009 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:255 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:183 #: appTools/ToolEtchCompensation.py:417 appTools/ToolEtchCompensation.py:425 -#: appTools/ToolNCC.py:4061 appTools/ToolNCC.py:4160 appTools/ToolPaint.py:2976 +#: appTools/ToolNCC.py:4108 appTools/ToolNCC.py:4207 appTools/ToolPaint.py:2976 #: appTools/ToolPaint.py:3083 appTools/ToolTransform.py:517 msgid "Offset" msgstr "Versatz" #: appDatabase.py:1618 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:257 -#: appTools/ToolNCC.py:4065 appTools/ToolNCC.py:4162 +#: appTools/ToolNCC.py:4112 appTools/ToolNCC.py:4209 msgid "" "If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -1234,7 +1234,7 @@ msgstr "" # 3rd Time #: appDatabase.py:1653 appEditors/AppGeoEditor.py:452 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:165 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:163 #: appTools/ToolPaint.py:2957 msgid "" "How much (percentage) of the tool width to overlap each tool pass.\n" @@ -1256,7 +1256,7 @@ msgstr "" "wegen zu vieler Wege." #: appDatabase.py:1674 appEditors/AppGeoEditor.py:472 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:185 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:183 #: appTools/ToolPaint.py:2978 appTools/ToolPaint.py:3085 msgid "" "Distance by which to avoid\n" @@ -1267,7 +1267,7 @@ msgstr "" "die Kanten des Polygons bis\n" "gemalt werden." -#: appDatabase.py:1689 appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:200 +#: appDatabase.py:1689 appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:198 #: appTools/ToolPaint.py:2993 msgid "" "Algorithm for painting:\n" @@ -1290,7 +1290,7 @@ msgstr "" "in der angegebenen Reihenfolge." #: appDatabase.py:1701 appDatabase.py:1703 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 #: appTools/ToolPaint.py:154 appTools/ToolPaint.py:159 #: appTools/ToolPaint.py:1498 appTools/ToolPaint.py:3016 #: appTools/ToolPaint.py:3018 tclCommands/TclCommandPaint.py:131 @@ -1311,7 +1311,7 @@ msgstr "" "Breite der Isolationslücke in\n" "Anzahl (Ganzzahl) der Werkzeugbreiten." -#: appDatabase.py:1755 appGUI/ObjectUI.py:1635 +#: appDatabase.py:1755 appGUI/ObjectUI.py:1679 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:169 #: appTools/ToolIsolation.py:3191 msgid "How much (percentage) of the tool width to overlap each tool pass." @@ -1406,7 +1406,7 @@ msgstr "" "erzeugen.\n" "Der Wert hier kann den Parameter Cut Z ausgleichen." -#: appDatabase.py:1874 appGUI/ObjectUI.py:1193 +#: appDatabase.py:1874 appGUI/ObjectUI.py:1237 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:72 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:82 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:80 @@ -1423,7 +1423,7 @@ msgstr "" "mehrmals schneiden, bis Schnitttiefe Z\n" "erreicht ist." -#: appDatabase.py:1896 appGUI/ObjectUI.py:1207 +#: appDatabase.py:1896 appGUI/ObjectUI.py:1251 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:92 #: appTools/ToolCutOut.py:2142 appTools/ToolDrilling.py:2180 @@ -1453,7 +1453,7 @@ msgstr "" "Sogenannter Eintauchvorschub.\n" "Dies ist für die lineare Bewegung G01." -#: appDatabase.py:1946 appGUI/ObjectUI.py:1264 +#: appDatabase.py:1946 appGUI/ObjectUI.py:1308 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:67 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:317 #: appTools/ToolDrilling.py:2227 appTools/ToolMilling.py:1892 @@ -1475,7 +1475,7 @@ msgstr "" "Es ist nur für Marlin nützlich,\n" "für andere Fälle ignorieren." -#: appDatabase.py:1969 appGUI/ObjectUI.py:1307 +#: appDatabase.py:1969 appGUI/ObjectUI.py:1351 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:217 #: appObjects/FlatCAMGeometry.py:1827 appTools/ToolDrilling.py:1310 #: appTools/ToolDrilling.py:2249 appTools/ToolMilling.py:1307 @@ -1703,7 +1703,7 @@ msgstr "" #: appTools/ToolCopperThieving.py:1595 appTools/ToolCopperThieving.py:1606 #: appTools/ToolCorners.py:462 appTools/ToolCorners.py:473 #: appTools/ToolCutOut.py:2437 appTools/ToolCutOut.py:2448 -#: appTools/ToolDblSided.py:965 appTools/ToolDblSided.py:976 +#: appTools/ToolDblSided.py:956 appTools/ToolDblSided.py:967 #: appTools/ToolDistance.py:659 appTools/ToolDistance.py:670 #: appTools/ToolDistanceMin.py:324 appTools/ToolDistanceMin.py:335 #: appTools/ToolDrilling.py:2666 appTools/ToolDrilling.py:2677 @@ -1715,7 +1715,7 @@ msgstr "" #: appTools/ToolInvertGerber.py:304 appTools/ToolInvertGerber.py:315 #: appTools/ToolIsolation.py:3494 appTools/ToolIsolation.py:3505 #: appTools/ToolMilling.py:2341 appTools/ToolMilling.py:2352 -#: appTools/ToolNCC.py:4391 appTools/ToolNCC.py:4402 +#: appTools/ToolNCC.py:4448 appTools/ToolNCC.py:4459 #: appTools/ToolOptimal.py:614 appTools/ToolOptimal.py:625 #: appTools/ToolPaint.py:3267 appTools/ToolPaint.py:3278 #: appTools/ToolPanelize.py:914 appTools/ToolPanelize.py:925 @@ -1724,7 +1724,7 @@ msgstr "" #: appTools/ToolQRCode.py:922 appTools/ToolQRCode.py:933 #: appTools/ToolRulesCheck.py:1655 appTools/ToolRulesCheck.py:1666 #: appTools/ToolSolderPaste.py:1575 appTools/ToolSolderPaste.py:1586 -#: appTools/ToolSub.py:770 appTools/ToolSub.py:781 +#: appTools/ToolSub.py:772 appTools/ToolSub.py:783 #: appTools/ToolTransform.py:964 appTools/ToolTransform.py:975 msgid "Edited value is out of range" msgstr "Der bearbeitete Wert liegt außerhalb des Bereichs" @@ -1739,7 +1739,7 @@ msgstr "Der bearbeitete Wert liegt außerhalb des Bereichs" #: appTools/ToolCopperThieving.py:1601 appTools/ToolCopperThieving.py:1608 #: appTools/ToolCorners.py:468 appTools/ToolCorners.py:475 #: appTools/ToolCutOut.py:2443 appTools/ToolCutOut.py:2450 -#: appTools/ToolDblSided.py:971 appTools/ToolDblSided.py:978 +#: appTools/ToolDblSided.py:962 appTools/ToolDblSided.py:969 #: appTools/ToolDistance.py:665 appTools/ToolDistance.py:672 #: appTools/ToolDistanceMin.py:330 appTools/ToolDistanceMin.py:337 #: appTools/ToolDrilling.py:2672 appTools/ToolDrilling.py:2679 @@ -1751,7 +1751,7 @@ msgstr "Der bearbeitete Wert liegt außerhalb des Bereichs" #: appTools/ToolInvertGerber.py:310 appTools/ToolInvertGerber.py:317 #: appTools/ToolIsolation.py:3500 appTools/ToolIsolation.py:3507 #: appTools/ToolMilling.py:2347 appTools/ToolMilling.py:2354 -#: appTools/ToolNCC.py:4397 appTools/ToolNCC.py:4404 +#: appTools/ToolNCC.py:4454 appTools/ToolNCC.py:4461 #: appTools/ToolOptimal.py:620 appTools/ToolOptimal.py:627 #: appTools/ToolPaint.py:3273 appTools/ToolPaint.py:3280 #: appTools/ToolPanelize.py:920 appTools/ToolPanelize.py:927 @@ -1760,7 +1760,7 @@ msgstr "Der bearbeitete Wert liegt außerhalb des Bereichs" #: appTools/ToolQRCode.py:928 appTools/ToolQRCode.py:935 #: appTools/ToolRulesCheck.py:1661 appTools/ToolRulesCheck.py:1668 #: appTools/ToolSolderPaste.py:1581 appTools/ToolSolderPaste.py:1588 -#: appTools/ToolSub.py:776 appTools/ToolSub.py:783 +#: appTools/ToolSub.py:778 appTools/ToolSub.py:785 #: appTools/ToolTransform.py:970 appTools/ToolTransform.py:977 msgid "Edited value is within limits." msgstr "Der bearbeitete Wert liegt innerhalb der Grenzen." @@ -1897,12 +1897,12 @@ msgstr "Erledigt. Bohrer Bewegen abgeschlossen." msgid "Done. Drill(s) copied." msgstr "Erledigt. Bohrer kopiert." -#: appEditors/AppExcEditor.py:1897 appObjects/FlatCAMExcellon.py:328 +#: appEditors/AppExcEditor.py:1897 appObjects/FlatCAMExcellon.py:330 #: appTools/ToolDrilling.py:571 appTools/ToolMilling.py:494 msgid "Total Drills" msgstr "Bohrungen insgesamt" -#: appEditors/AppExcEditor.py:1929 appObjects/FlatCAMExcellon.py:362 +#: appEditors/AppExcEditor.py:1929 appObjects/FlatCAMExcellon.py:364 #: appTools/ToolDrilling.py:598 appTools/ToolMilling.py:521 msgid "Total Slots" msgstr "Schlitz insgesamt" @@ -1910,8 +1910,8 @@ msgstr "Schlitz insgesamt" #: appEditors/AppExcEditor.py:2003 appObjects/FlatCAMGeometry.py:706 #: appObjects/FlatCAMGeometry.py:1232 appObjects/FlatCAMGeometry.py:1974 #: appObjects/FlatCAMGeometry.py:2633 appTools/ToolIsolation.py:1252 -#: appTools/ToolIsolation.py:1705 appTools/ToolNCC.py:1151 -#: appTools/ToolNCC.py:1285 appTools/ToolPaint.py:889 +#: appTools/ToolIsolation.py:1705 appTools/ToolNCC.py:1195 +#: appTools/ToolNCC.py:1332 appTools/ToolPaint.py:889 #: appTools/ToolPaint.py:1027 appTools/ToolPaint.py:1740 #: appTools/ToolSolderPaste.py:455 appTools/ToolSolderPaste.py:527 msgid "Wrong value format entered, use a number." @@ -1986,7 +1986,7 @@ msgstr "Erledigt. Bohrer gelöscht." msgid "Click on the circular array Center position" msgstr "Klicken Sie auf die kreisförmige Anordnung in der Mitte" -#: appEditors/AppExcEditor.py:3705 appGUI/ObjectUI.py:553 +#: appEditors/AppExcEditor.py:3705 appGUI/ObjectUI.py:579 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:26 msgid "Excellon Editor" msgstr "Excellon Editor" @@ -1996,14 +1996,14 @@ msgstr "Excellon Editor" msgid "Name:" msgstr "Name:" -#: appEditors/AppExcEditor.py:3718 appGUI/ObjectUI.py:594 -#: appGUI/ObjectUI.py:923 appTools/ToolIsolation.py:3010 -#: appTools/ToolNCC.py:3766 appTools/ToolPaint.py:2800 +#: appEditors/AppExcEditor.py:3718 appGUI/ObjectUI.py:620 +#: appGUI/ObjectUI.py:967 appTools/ToolIsolation.py:3010 +#: appTools/ToolNCC.py:3813 appTools/ToolPaint.py:2800 #: appTools/ToolSolderPaste.py:1155 msgid "Tools Table" msgstr "Werkzeugtabelle" -#: appEditors/AppExcEditor.py:3720 appGUI/ObjectUI.py:596 +#: appEditors/AppExcEditor.py:3720 appGUI/ObjectUI.py:622 msgid "" "Tools in this Excellon object\n" "when are used for drilling." @@ -2033,9 +2033,9 @@ msgstr "" "Werkzeug zur Werkzeugliste hinzufügen / löschen\n" "für dieses Excellon-Objekt." -#: appEditors/AppExcEditor.py:3767 appGUI/ObjectUI.py:1040 +#: appEditors/AppExcEditor.py:3767 appGUI/ObjectUI.py:1084 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:57 -#: appTools/ToolIsolation.py:3093 appTools/ToolNCC.py:3861 +#: appTools/ToolIsolation.py:3093 appTools/ToolNCC.py:3908 msgid "Diameter for the new tool" msgstr "Durchmesser für das neue Werkzeug" @@ -2119,7 +2119,7 @@ msgstr "Linear" #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:151 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:78 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:61 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:70 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:68 #: appTools/ToolExtractDrills.py:470 appTools/ToolExtractDrills.py:593 #: appTools/ToolFiducials.py:834 appTools/ToolPunchGerber.py:743 #: appTools/ToolPunchGerber.py:883 @@ -2289,7 +2289,7 @@ msgstr "" #: appEditors/AppExcEditor.py:4007 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:162 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 -#: appObjects/FlatCAMObj.py:874 appTools/ToolCorners.py:398 +#: appObjects/FlatCAMObj.py:877 appTools/ToolCorners.py:398 #: appTools/ToolProperties.py:575 msgid "Length" msgstr "Länge" @@ -2399,7 +2399,7 @@ msgid "Round" msgstr "Runden" #: appEditors/AppGeoEditor.py:94 appEditors/AppGerberEditor.py:2639 -#: appGUI/ObjectUI.py:1570 +#: appGUI/ObjectUI.py:1614 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:223 #: appGUI/preferences/tools/Tools2EDrillsPrefGroupUI.py:68 #: appGUI/preferences/tools/Tools2EDrillsPrefGroupUI.py:175 @@ -2410,10 +2410,10 @@ msgstr "Runden" #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:423 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:308 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:327 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:291 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:289 #: appTools/ToolDrilling.py:2588 appTools/ToolExtractDrills.py:486 #: appTools/ToolExtractDrills.py:619 appTools/ToolIsolation.py:3430 -#: appTools/ToolMilling.py:2264 appTools/ToolNCC.py:4241 +#: appTools/ToolMilling.py:2264 appTools/ToolNCC.py:4288 #: appTools/ToolPaint.py:3168 appTools/ToolPunchGerber.py:759 #: appTools/ToolPunchGerber.py:909 appTools/ToolQRCode.py:788 msgid "Square" @@ -2473,19 +2473,19 @@ msgid "Text Tool" msgstr "Textwerkzeug" #: appEditors/AppGeoEditor.py:404 appGUI/MainGUI.py:511 appGUI/MainGUI.py:1245 -#: appGUI/ObjectUI.py:1128 appObjects/FlatCAMExcellon.py:878 +#: appGUI/ObjectUI.py:1172 appObjects/FlatCAMExcellon.py:880 #: appObjects/FlatCAMGeometry.py:950 appTools/ToolDrilling.py:711 #: appTools/ToolDrilling.py:1033 appTools/ToolDrilling.py:2116 #: appTools/ToolIsolation.py:697 appTools/ToolIsolation.py:3166 #: appTools/ToolMilling.py:790 appTools/ToolMilling.py:1046 -#: appTools/ToolMilling.py:1711 appTools/ToolNCC.py:324 -#: appTools/ToolNCC.py:2231 appTools/ToolNCC.py:3933 appTools/ToolPaint.py:304 +#: appTools/ToolMilling.py:1711 appTools/ToolNCC.py:329 +#: appTools/ToolNCC.py:2278 appTools/ToolNCC.py:3980 appTools/ToolPaint.py:304 #: appTools/ToolPaint.py:2940 msgid "Tool" msgstr "Werkzeug" #: appEditors/AppGeoEditor.py:412 appEditors/AppGeoEditor.py:546 -#: appGUI/MainGUI.py:935 appGUI/MainGUI.py:2090 appGUI/ObjectUI.py:1723 +#: appGUI/MainGUI.py:935 appGUI/MainGUI.py:2090 appGUI/ObjectUI.py:1783 #: appTools/ToolPaint.py:228 appTools/ToolPaint.py:2730 msgid "Paint Tool" msgstr "Werkzeug Malen" @@ -2570,7 +2570,7 @@ msgstr "Puffer" #: appGUI/GUIElements.py:2957 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:169 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:44 -#: appTools/ToolDblSided.py:688 appTools/ToolDblSided.py:864 +#: appTools/ToolDblSided.py:681 appTools/ToolDblSided.py:855 #: appTools/ToolFilm.py:1060 appTools/ToolTransform.py:547 msgid "Reference" msgstr "Referenz" @@ -2605,10 +2605,10 @@ msgstr "Ursprung" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:250 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:285 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:311 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:258 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:256 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:54 -#: appTools/ToolIsolation.py:3368 appTools/ToolNCC.py:4197 -#: appTools/ToolPaint.py:3097 appTools/ToolTransform.py:557 defaults.py:565 +#: appTools/ToolIsolation.py:3368 appTools/ToolNCC.py:4244 +#: appTools/ToolPaint.py:3097 appTools/ToolTransform.py:557 defaults.py:566 msgid "Selection" msgstr "Auswahl" @@ -2616,7 +2616,7 @@ msgstr "Auswahl" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:85 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:54 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:60 -#: appTools/ToolDblSided.py:699 appTools/ToolTransform.py:557 +#: appTools/ToolDblSided.py:692 appTools/ToolTransform.py:557 msgid "Point" msgstr "Punkt" @@ -2643,8 +2643,8 @@ msgid "A point of reference in format X,Y." msgstr "Ein Bezugspunkt im Format X, Y." #: appEditors/AppGeoEditor.py:668 appEditors/AppGerberEditor.py:2590 -#: appEditors/AppGerberEditor.py:5378 appGUI/ObjectUI.py:2281 -#: appTools/ToolDblSided.py:713 appTools/ToolDblSided.py:901 +#: appEditors/AppGerberEditor.py:5378 appGUI/ObjectUI.py:2338 +#: appTools/ToolDblSided.py:706 appTools/ToolDblSided.py:892 #: appTools/ToolNCC.py:63 appTools/ToolPaint.py:137 #: appTools/ToolSolderPaste.py:160 appTools/ToolSolderPaste.py:1203 #: appTools/ToolTransform.py:572 app_Main.py:6121 @@ -2856,7 +2856,7 @@ msgid "Offset Y" msgstr "Versatz Y" #: appEditors/AppGeoEditor.py:920 appEditors/AppGerberEditor.py:5630 -#: appGUI/ObjectUI.py:436 appGUI/ObjectUI.py:473 +#: appGUI/ObjectUI.py:462 appGUI/ObjectUI.py:499 #: appGUI/preferences/tools/Tools2InvertPrefGroupUI.py:67 #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:142 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:216 @@ -2944,12 +2944,12 @@ msgstr "" "Element aus dem ausgewählten Objekt unter Verwendung des Faktors." #: appEditors/AppGeoEditor.py:1043 appEditors/AppGerberEditor.py:5753 -#: appGUI/ObjectUI.py:1524 appGUI/preferences/tools/Tools2CalPrefGroupUI.py:48 +#: appGUI/ObjectUI.py:1568 appGUI/preferences/tools/Tools2CalPrefGroupUI.py:48 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:54 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:70 #: appTools/ToolCalibration.py:881 appTools/ToolDrilling.py:2540 #: appTools/ToolFilm.py:931 appTools/ToolMilling.py:2218 -#: appTools/ToolNCC.py:3755 appTools/ToolPaint.py:2788 +#: appTools/ToolNCC.py:3802 appTools/ToolPaint.py:2788 #: appTools/ToolPanelize.py:697 appTools/ToolTransform.py:557 msgid "Object" msgstr "Objekt" @@ -3336,14 +3336,14 @@ msgstr "Malen geometrie erstellen ..." msgid "Shape transformations ..." msgstr "Formtransformationen ..." -#: appEditors/AppGeoEditor.py:3281 appGUI/ObjectUI.py:857 +#: appEditors/AppGeoEditor.py:3281 appGUI/ObjectUI.py:901 #: appGUI/preferences/geometry/GeometryEditorPrefGroupUI.py:27 msgid "Geometry Editor" msgstr "Geo-Editor" #: appEditors/AppGeoEditor.py:3287 appEditors/AppGerberEditor.py:2495 #: appEditors/AppGerberEditor.py:3968 appEditors/appGCodeEditor.py:692 -#: appGUI/ObjectUI.py:316 appGUI/ObjectUI.py:955 appGUI/ObjectUI.py:1952 +#: appGUI/ObjectUI.py:316 appGUI/ObjectUI.py:999 appGUI/ObjectUI.py:2009 #: appTools/ToolCutOut.py:2013 appTools/ToolDblSided.py:519 #: appTools/ToolTransform.py:579 msgid "Type" @@ -3358,14 +3358,14 @@ msgid "Line" msgstr "Linie" #: appEditors/AppGeoEditor.py:3561 appGUI/MainGUI.py:1496 -#: appGUI/ObjectUI.py:1571 +#: appGUI/ObjectUI.py:1615 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:224 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:424 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:309 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:328 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:292 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:290 #: appTools/ToolDrilling.py:2589 appTools/ToolIsolation.py:3431 -#: appTools/ToolMilling.py:2265 appTools/ToolNCC.py:4242 +#: appTools/ToolMilling.py:2265 appTools/ToolNCC.py:4289 #: appTools/ToolPaint.py:3169 msgid "Polygon" msgstr "Polygon" @@ -3400,7 +3400,7 @@ msgstr "Klicken Sie auf den Zielpunkt." msgid "Editing MultiGeo Geometry, tool" msgstr "Bearbeiten von MultiGeo Geometry, Werkzeug" -#: appEditors/AppGeoEditor.py:4681 appTools/ToolNCC.py:2233 +#: appEditors/AppGeoEditor.py:4681 appTools/ToolNCC.py:2280 msgid "with diameter" msgstr "mit Durchmesser" @@ -3739,10 +3739,10 @@ msgstr "Fügen Sie der Blendenliste eine neue Blende hinzu." #: appEditors/AppGerberEditor.py:2595 appEditors/AppGerberEditor.py:2743 #: appGUI/MainGUI.py:757 appGUI/MainGUI.py:1093 appGUI/MainGUI.py:1577 -#: appGUI/MainGUI.py:2247 appGUI/MainGUI.py:4683 appGUI/ObjectUI.py:1088 +#: appGUI/MainGUI.py:2247 appGUI/MainGUI.py:4683 appGUI/ObjectUI.py:1132 #: appObjects/FlatCAMGeometry.py:560 appTools/ToolIsolation.py:70 #: appTools/ToolIsolation.py:3150 appTools/ToolNCC.py:69 -#: appTools/ToolNCC.py:3917 appTools/ToolPaint.py:143 +#: appTools/ToolNCC.py:3964 appTools/ToolPaint.py:143 #: appTools/ToolPaint.py:2926 appTools/ToolSolderPaste.py:163 #: appTools/ToolSolderPaste.py:1209 app_Main.py:6123 msgid "Delete" @@ -3962,7 +3962,7 @@ msgid "" msgstr "" "Die Datei enthält keine Aperture-Definitionen. Abbruch der Gerber-Erstellung." -#: appEditors/AppGerberEditor.py:4364 appObjects/AppObject.py:156 +#: appEditors/AppGerberEditor.py:4364 appObjects/AppObject.py:164 #: appObjects/FlatCAMGeometry.py:1916 appParsers/ParseExcellon.py:972 #: appTools/ToolPcbWizard.py:318 app_Main.py:9004 app_Main.py:9064 #: app_Main.py:9195 app_Main.py:9260 app_Main.py:9816 @@ -4109,12 +4109,12 @@ msgstr "" "Zeichenfolge, die die Zeichenfolge im Feld Suchen im gesamten Text ersetzt." #: appEditors/AppTextEditor.py:101 appGUI/GUIElements.py:3508 -#: appGUI/ObjectUI.py:1807 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:61 +#: appGUI/ObjectUI.py:1864 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:61 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:295 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:278 #: appTools/ToolIsolation.py:808 appTools/ToolIsolation.py:1433 #: appTools/ToolIsolation.py:3378 appTools/ToolPaint.py:1035 -#: appTools/ToolPaint.py:3127 defaults.py:420 defaults.py:507 +#: appTools/ToolPaint.py:3127 defaults.py:420 defaults.py:508 #: tclCommands/TclCommandPaint.py:162 msgid "All" msgstr "Alles" @@ -4171,20 +4171,20 @@ msgid "Open file" msgstr "Datei öffnen" #: appEditors/AppTextEditor.py:255 appEditors/AppTextEditor.py:260 -#: appObjects/FlatCAMCNCJob.py:1632 appObjects/FlatCAMCNCJob.py:1637 -#: appObjects/FlatCAMCNCJob.py:1822 appObjects/FlatCAMCNCJob.py:1827 -#: appObjects/FlatCAMCNCJob.py:1900 appObjects/FlatCAMCNCJob.py:1905 +#: appObjects/FlatCAMCNCJob.py:1641 appObjects/FlatCAMCNCJob.py:1646 +#: appObjects/FlatCAMCNCJob.py:1831 appObjects/FlatCAMCNCJob.py:1836 +#: appObjects/FlatCAMCNCJob.py:1909 appObjects/FlatCAMCNCJob.py:1914 #: appTools/ToolSolderPaste.py:1063 app_Main.py:7038 app_Main.py:7043 msgid "Export Code ..." msgstr "Code exportieren ..." -#: appEditors/AppTextEditor.py:314 appObjects/FlatCAMCNCJob.py:1654 -#: appObjects/FlatCAMCNCJob.py:1844 appObjects/FlatCAMCNCJob.py:2293 +#: appEditors/AppTextEditor.py:314 appObjects/FlatCAMCNCJob.py:1663 +#: appObjects/FlatCAMCNCJob.py:1853 appObjects/FlatCAMCNCJob.py:2302 #: appTools/ToolSolderPaste.py:1093 msgid "No such file or directory" msgstr "Keine solche Datei oder Ordner" -#: appEditors/AppTextEditor.py:326 appObjects/FlatCAMCNCJob.py:2307 +#: appEditors/AppTextEditor.py:326 appObjects/FlatCAMCNCJob.py:2316 msgid "Saved to" msgstr "Gespeichert in" @@ -4216,32 +4216,32 @@ msgstr "Speichern Sie GCode" msgid "Start GCode" msgstr "G-Code starten" -#: appEditors/appGCodeEditor.py:577 appObjects/FlatCAMCNCJob.py:1998 +#: appEditors/appGCodeEditor.py:577 appObjects/FlatCAMCNCJob.py:2007 #: appTools/ToolCalibration.py:447 msgid "Loaded Machine Code into Code Editor" msgstr "Maschinencode in den Code-Editor geladen" -#: appEditors/appGCodeEditor.py:667 appGUI/ObjectUI.py:1827 +#: appEditors/appGCodeEditor.py:667 appGUI/ObjectUI.py:1884 #, fuzzy #| msgid "Code Editor" msgid "GCode Editor" msgstr "Code-Editor" #: appEditors/appGCodeEditor.py:692 appEditors/appGCodeEditor.py:703 -#: appGUI/ObjectUI.py:955 appGUI/ObjectUI.py:1952 appGUI/ObjectUI.py:1962 +#: appGUI/ObjectUI.py:999 appGUI/ObjectUI.py:2009 appGUI/ObjectUI.py:2019 #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:138 #: appTools/ToolCopperThieving.py:1314 msgid "Dia" msgstr "Durchm" -#: appEditors/appGCodeEditor.py:692 appGUI/ObjectUI.py:955 -#: appGUI/ObjectUI.py:1952 appTools/ToolIsolation.py:3022 -#: appTools/ToolNCC.py:3778 appTools/ToolPaint.py:2813 +#: appEditors/appGCodeEditor.py:692 appGUI/ObjectUI.py:999 +#: appGUI/ObjectUI.py:2009 appTools/ToolIsolation.py:3022 +#: appTools/ToolNCC.py:3825 appTools/ToolPaint.py:2813 msgid "TT" msgstr "TT" -#: appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:640 -#: appGUI/ObjectUI.py:1962 +#: appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:666 +#: appGUI/ObjectUI.py:2019 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:71 #: appObjects/FlatCAMObj.py:499 appTools/ToolDrilling.py:2065 #: appTools/ToolMilling.py:1670 appTools/ToolMilling.py:1769 @@ -4249,8 +4249,8 @@ msgstr "TT" msgid "Drills" msgstr "Bohrer" -#: appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:640 -#: appGUI/ObjectUI.py:1962 +#: appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:666 +#: appGUI/ObjectUI.py:2019 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:158 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:72 #: appObjects/FlatCAMObj.py:501 appTools/ToolDrilling.py:2065 @@ -4630,7 +4630,7 @@ msgstr "Einstellungen aus Datei importieren ..." msgid "Export Preferences to file ..." msgstr "Einstellungen in Datei exportieren ..." -#: appGUI/MainGUI.py:295 appGUI/preferences/PreferencesUIManager.py:1172 +#: appGUI/MainGUI.py:295 appGUI/preferences/PreferencesUIManager.py:1173 msgid "Save Preferences" msgstr "Einstellungen speichern" @@ -5159,7 +5159,7 @@ msgstr "Quelltext anzeigen" #: appGUI/MainGUI.py:755 appGUI/MainGUI.py:874 appGUI/MainGUI.py:1091 #: appGUI/MainGUI.py:1575 appGUI/MainGUI.py:2032 appGUI/MainGUI.py:2245 -#: appGUI/MainGUI.py:4680 appGUI/ObjectUI.py:1081 +#: appGUI/MainGUI.py:4680 appGUI/ObjectUI.py:1125 #: appObjects/FlatCAMGeometry.py:557 appTools/ToolPanelize.py:325 #: appTools/ToolPanelize.py:351 appTools/ToolPanelize.py:448 #: appTools/ToolPanelize.py:477 appTools/ToolPanelize.py:538 @@ -5325,7 +5325,7 @@ msgid "Cutout Tool" msgstr "Ausschnittwerkzeug" #: appGUI/MainGUI.py:933 appGUI/MainGUI.py:2088 appGUI/ObjectUI.py:372 -#: appGUI/ObjectUI.py:1742 appTools/ToolNCC.py:197 +#: appGUI/ObjectUI.py:1799 appTools/ToolNCC.py:202 msgid "NCC Tool" msgstr "NCC Werkzeug" @@ -5334,7 +5334,7 @@ msgstr "NCC Werkzeug" msgid "Isolation Tool" msgstr "Isolationswerkzeug" -#: appGUI/MainGUI.py:939 appGUI/MainGUI.py:2094 appGUI/ObjectUI.py:695 +#: appGUI/MainGUI.py:939 appGUI/MainGUI.py:2094 appGUI/ObjectUI.py:721 #: appTools/ToolDrilling.py:245 appTools/ToolDrilling.py:1979 #: appTools/ToolMilling.py:169 #, fuzzy @@ -5592,10 +5592,10 @@ msgstr "Max. Magnetabstand" msgid "Toggle the display of axis on canvas" msgstr "Schalten Sie die Anzeige der Achse auf der Leinwand um" -#: appGUI/MainGUI.py:1148 appGUI/preferences/PreferencesUIManager.py:898 -#: appGUI/preferences/PreferencesUIManager.py:991 -#: appGUI/preferences/PreferencesUIManager.py:1019 -#: appGUI/preferences/PreferencesUIManager.py:1124 app_Main.py:5579 +#: appGUI/MainGUI.py:1148 appGUI/preferences/PreferencesUIManager.py:899 +#: appGUI/preferences/PreferencesUIManager.py:992 +#: appGUI/preferences/PreferencesUIManager.py:1020 +#: appGUI/preferences/PreferencesUIManager.py:1125 app_Main.py:5579 #: app_Main.py:5584 app_Main.py:5599 msgid "Preferences" msgstr "Einstellungen" @@ -5646,7 +5646,7 @@ msgstr "Grundstücksfläche" #: appTools/ToolInvertGerber.py:215 appTools/ToolIsolation.py:2986 #: appTools/ToolOptimal.py:421 appTools/ToolPunchGerber.py:718 #: appTools/ToolQRCode.py:659 appTools/ToolRulesCheck.py:1163 -#: appTools/ToolSolderPaste.py:1143 appTools/ToolSub.py:641 +#: appTools/ToolSolderPaste.py:1143 appTools/ToolSub.py:643 msgid "GERBER" msgstr "GERBER" @@ -5655,7 +5655,7 @@ msgstr "GERBER" msgid "EXCELLON" msgstr "EXCELLON" -#: appGUI/MainGUI.py:1334 appTools/ToolSub.py:696 +#: appGUI/MainGUI.py:1334 appTools/ToolSub.py:695 msgid "GEOMETRY" msgstr "GEOMETRY" @@ -5663,8 +5663,8 @@ msgstr "GEOMETRY" msgid "CNC-JOB" msgstr "CNC-Auftrag" -#: appGUI/MainGUI.py:1353 appGUI/ObjectUI.py:353 appGUI/ObjectUI.py:691 -#: appGUI/ObjectUI.py:1716 +#: appGUI/MainGUI.py:1353 appGUI/ObjectUI.py:353 appGUI/ObjectUI.py:717 +#: appGUI/ObjectUI.py:1760 msgid "TOOLS" msgstr "WERKZEUGE" @@ -5730,7 +5730,7 @@ msgstr "Einstellungen werden geschlossen ohne die Änderungen zu speichern." msgid "Toggle Visibility" msgstr "Sichtbarkeit umschalten" -#: appGUI/MainGUI.py:1461 appGUI/ObjectUI.py:2273 +#: appGUI/MainGUI.py:1461 appGUI/ObjectUI.py:2330 msgid "New" msgstr "Neu" @@ -5739,12 +5739,12 @@ msgstr "Neu" #: appTools/ToolCalibration.py:171 appTools/ToolCalibration.py:1326 #: appTools/ToolCalibration.py:1343 appTools/ToolCopperThieving.py:163 #: appTools/ToolCopperThieving.py:1237 appTools/ToolCopperThieving.py:1251 -#: appTools/ToolCutOut.py:2010 appTools/ToolDblSided.py:529 -#: appTools/ToolDblSided.py:774 appTools/ToolFilm.py:929 +#: appTools/ToolCutOut.py:2010 appTools/ToolDblSided.py:526 +#: appTools/ToolDblSided.py:767 appTools/ToolFilm.py:929 #: appTools/ToolFilm.py:952 appTools/ToolImage.py:136 appTools/ToolImage.py:191 #: appTools/ToolIsolation.py:802 appTools/ToolIsolation.py:3338 -#: appTools/ToolIsolation.py:3391 appTools/ToolNCC.py:793 -#: appTools/ToolNCC.py:3741 appTools/ToolNCC.py:4216 appTools/ToolPaint.py:167 +#: appTools/ToolIsolation.py:3391 appTools/ToolNCC.py:803 +#: appTools/ToolNCC.py:3788 appTools/ToolNCC.py:4263 appTools/ToolPaint.py:167 #: appTools/ToolPaint.py:3143 appTools/ToolPanelize.py:147 #: appTools/ToolPanelize.py:167 appTools/ToolPanelize.py:715 #: appTools/ToolTransform.py:126 appTools/ToolTransform.py:587 @@ -5759,10 +5759,10 @@ msgstr "Geometrie" #: appTools/ToolCalibration.py:892 appTools/ToolCalibration.py:1326 #: appTools/ToolCalibration.py:1343 appTools/ToolCopperThieving.py:163 #: appTools/ToolCopperThieving.py:1237 appTools/ToolCopperThieving.py:1251 -#: appTools/ToolDblSided.py:530 appTools/ToolDblSided.py:731 -#: appTools/ToolDblSided.py:773 appTools/ToolFilm.py:1207 +#: appTools/ToolDblSided.py:527 appTools/ToolDblSided.py:724 +#: appTools/ToolDblSided.py:766 appTools/ToolFilm.py:1207 #: appTools/ToolIsolation.py:802 appTools/ToolIsolation.py:3391 -#: appTools/ToolNCC.py:793 appTools/ToolNCC.py:4216 appTools/ToolPaint.py:167 +#: appTools/ToolNCC.py:803 appTools/ToolNCC.py:4263 appTools/ToolPaint.py:167 #: appTools/ToolPaint.py:3143 appTools/ToolPanelize.py:147 #: appTools/ToolPunchGerber.py:803 appTools/ToolPunchGerber.py:818 #: appTools/ToolTransform.py:126 appTools/ToolTransform.py:586 @@ -5813,7 +5813,7 @@ msgstr "Überschneidung" msgid "Subtraction" msgstr "Subtraktion" -#: appGUI/MainGUI.py:1518 appGUI/ObjectUI.py:1809 +#: appGUI/MainGUI.py:1518 appGUI/ObjectUI.py:1866 #: appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:63 msgid "Cut" msgstr "Schnitt" @@ -5866,20 +5866,20 @@ msgstr "FlatCAM-Einstellungsordner geöffnet." msgid "Are you sure you want to delete the GUI Settings? \n" msgstr "Möchten Sie die GUI-Einstellungen wirklich löschen?\n" -#: appGUI/MainGUI.py:1986 appGUI/preferences/PreferencesUIManager.py:930 -#: appGUI/preferences/PreferencesUIManager.py:1176 appTranslation.py:112 +#: appGUI/MainGUI.py:1986 appGUI/preferences/PreferencesUIManager.py:931 +#: appGUI/preferences/PreferencesUIManager.py:1177 appTranslation.py:112 #: appTranslation.py:214 app_Main.py:2289 app_Main.py:3384 app_Main.py:5809 #: app_Main.py:6893 msgid "Yes" msgstr "Ja" -#: appGUI/MainGUI.py:1987 appGUI/preferences/PreferencesUIManager.py:1177 +#: appGUI/MainGUI.py:1987 appGUI/preferences/PreferencesUIManager.py:1178 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:49 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:164 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:150 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:148 #: appTools/ToolDrilling.py:2090 appTools/ToolIsolation.py:3066 -#: appTools/ToolMilling.py:1695 appTools/ToolNCC.py:3828 +#: appTools/ToolMilling.py:1695 appTools/ToolNCC.py:3875 #: appTools/ToolPaint.py:2851 appTranslation.py:113 appTranslation.py:215 #: app_Main.py:2290 app_Main.py:3385 app_Main.py:5810 app_Main.py:6894 msgid "No" @@ -5962,7 +5962,7 @@ msgstr "Abgebrochen. Nichts ausgewählt, um sich zu bewegen." msgid "New Tool ..." msgstr "Neues Werkzeug ..." -#: appGUI/MainGUI.py:3503 appTools/ToolIsolation.py:783 appTools/ToolNCC.py:450 +#: appGUI/MainGUI.py:3503 appTools/ToolIsolation.py:783 appTools/ToolNCC.py:455 #: appTools/ToolPaint.py:387 appTools/ToolSolderPaste.py:123 msgid "Enter a Tool Diameter" msgstr "Geben Sie einen Werkzeugdurchmesser ein" @@ -5987,7 +5987,7 @@ msgstr "Shell aktiviert." msgid "Shell disabled." msgstr "Shell deaktiviert." -#: appGUI/MainGUI.py:3875 app_Main.py:9689 +#: appGUI/MainGUI.py:3875 msgid "Shortcut Key List" msgstr " Liste der Tastenkombinationen " @@ -6504,15 +6504,15 @@ msgstr "Führen Sie den Versatzvorgang aus." msgid "Gerber Object" msgstr "Gerber-Objekt" -#: appGUI/ObjectUI.py:197 appGUI/ObjectUI.py:523 appGUI/ObjectUI.py:833 -#: appGUI/ObjectUI.py:1796 appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:30 +#: appGUI/ObjectUI.py:197 appGUI/ObjectUI.py:549 appGUI/ObjectUI.py:877 +#: appGUI/ObjectUI.py:1853 appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:30 #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:33 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:33 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:31 msgid "Plot Options" msgstr "Diagrammoptionen" -#: appGUI/ObjectUI.py:202 appGUI/ObjectUI.py:526 +#: appGUI/ObjectUI.py:202 appGUI/ObjectUI.py:552 #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:47 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:45 #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:119 @@ -6524,26 +6524,26 @@ msgstr "Solide" msgid "Solid color polygons." msgstr "Einfarbige Polygone." -#: appGUI/ObjectUI.py:209 appGUI/ObjectUI.py:532 appGUI/ObjectUI.py:839 +#: appGUI/ObjectUI.py:209 appGUI/ObjectUI.py:558 appGUI/ObjectUI.py:883 msgid "Multi-Color" msgstr "M-farbig" -#: appGUI/ObjectUI.py:211 appGUI/ObjectUI.py:534 appGUI/ObjectUI.py:841 +#: appGUI/ObjectUI.py:211 appGUI/ObjectUI.py:560 appGUI/ObjectUI.py:885 #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:56 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:49 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:54 msgid "Draw polygons in different colors." msgstr "Zeichnen Sie Polygone in verschiedenen Farben." -#: appGUI/ObjectUI.py:226 appGUI/ObjectUI.py:608 +#: appGUI/ObjectUI.py:226 appGUI/ObjectUI.py:634 #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:40 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:40 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:38 msgid "Plot" msgstr "Zeichn" -#: appGUI/ObjectUI.py:227 appGUI/ObjectUI.py:610 appGUI/ObjectUI.py:944 -#: appGUI/ObjectUI.py:1941 appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:41 +#: appGUI/ObjectUI.py:227 appGUI/ObjectUI.py:636 appGUI/ObjectUI.py:988 +#: appGUI/ObjectUI.py:1998 appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:41 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:42 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:40 msgid "Plot (show) this object." @@ -6555,19 +6555,19 @@ msgstr "Plotten (zeigen) dieses Objekt." msgid "Edit an Gerber object." msgstr "Gerber-Objekt" -#: appGUI/ObjectUI.py:255 appGUI/ObjectUI.py:568 appGUI/ObjectUI.py:872 -#: appGUI/ObjectUI.py:1842 +#: appGUI/ObjectUI.py:255 appGUI/ObjectUI.py:594 appGUI/ObjectUI.py:916 +#: appGUI/ObjectUI.py:1899 msgid "PROPERTIES" msgstr "" -#: appGUI/ObjectUI.py:257 appGUI/ObjectUI.py:570 appGUI/ObjectUI.py:874 -#: appGUI/ObjectUI.py:1844 +#: appGUI/ObjectUI.py:257 appGUI/ObjectUI.py:596 appGUI/ObjectUI.py:918 +#: appGUI/ObjectUI.py:1901 #, fuzzy #| msgid "Properties" msgid "Show the Properties." msgstr "Eigenschaften" -#: appGUI/ObjectUI.py:291 appGUI/ObjectUI.py:603 +#: appGUI/ObjectUI.py:291 appGUI/ObjectUI.py:629 #: appGUI/preferences/excellon/ExcellonAdvOptPrefGroupUI.py:50 #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:54 #, fuzzy @@ -6623,7 +6623,7 @@ msgstr "" "Erstellen Sie ein Geometrieobjekt mit\n" "Werkzeugwege zum Schneiden um Polygonen." -#: appGUI/ObjectUI.py:375 appGUI/ObjectUI.py:1745 appTools/ToolNCC.py:4258 +#: appGUI/ObjectUI.py:375 appGUI/ObjectUI.py:1802 appTools/ToolNCC.py:4315 msgid "" "Create the Geometry Object\n" "for non-copper routing." @@ -6639,11 +6639,23 @@ msgstr "" "Generieren Sie die Geometrie für\n" "der Brettausschnitt." -#: appGUI/ObjectUI.py:407 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:32 +#: appGUI/ObjectUI.py:407 appGUI/ObjectUI.py:756 +#, fuzzy +#| msgid "UTILITIES" +msgid "UTILTIES" +msgstr "NUTZEN" + +#: appGUI/ObjectUI.py:409 appGUI/ObjectUI.py:758 +#, fuzzy +#| msgid "Properties" +msgid "Show the Utilties." +msgstr "Eigenschaften" + +#: appGUI/ObjectUI.py:433 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:32 msgid "Non-copper regions" msgstr "Regionen ohne Kupfer" -#: appGUI/ObjectUI.py:409 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:34 +#: appGUI/ObjectUI.py:435 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:34 msgid "" "Create polygons covering the\n" "areas without copper on the PCB.\n" @@ -6657,13 +6669,13 @@ msgstr "" "Objekt. Kann verwendet werden, um alle zu entfernen\n" "Kupfer aus einer bestimmten Region." -#: appGUI/ObjectUI.py:419 appGUI/ObjectUI.py:460 +#: appGUI/ObjectUI.py:445 appGUI/ObjectUI.py:486 #: appGUI/preferences/gerber/GerberOptPrefGroupUI.py:46 #: appGUI/preferences/gerber/GerberOptPrefGroupUI.py:79 msgid "Boundary Margin" msgstr "Grenzmarge" -#: appGUI/ObjectUI.py:421 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:48 +#: appGUI/ObjectUI.py:447 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:48 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -6675,23 +6687,23 @@ msgstr "" "Objekte mit diesem Minimum\n" "Entfernung." -#: appGUI/ObjectUI.py:438 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:63 +#: appGUI/ObjectUI.py:464 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:63 msgid "Resulting geometry will have rounded corners." msgstr "Die resultierende Geometrie hat abgerundete Ecken." -#: appGUI/ObjectUI.py:441 appGUI/ObjectUI.py:481 appTools/ToolCutOut.py:2287 +#: appGUI/ObjectUI.py:467 appGUI/ObjectUI.py:507 appTools/ToolCutOut.py:2287 #: appTools/ToolCutOut.py:2302 appTools/ToolIsolation.py:3444 -#: appTools/ToolNCC.py:4255 appTools/ToolPaint.py:3178 +#: appTools/ToolNCC.py:4312 appTools/ToolPaint.py:3178 msgid "Generate Geometry" msgstr "Geometrie erzeugen" -#: appGUI/ObjectUI.py:452 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:73 +#: appGUI/ObjectUI.py:478 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:73 #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:137 #: appTools/ToolPanelize.py:698 appTools/ToolQRCode.py:782 msgid "Bounding Box" msgstr "Begrenzungsrahmen" -#: appGUI/ObjectUI.py:454 +#: appGUI/ObjectUI.py:480 msgid "" "Create a geometry surrounding the Gerber object.\n" "Square shape." @@ -6699,7 +6711,7 @@ msgstr "" "Erstellen Sie eine Geometrie, die das Gerber-Objekt umgibt.\n" "Quadratische Form." -#: appGUI/ObjectUI.py:462 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:81 +#: appGUI/ObjectUI.py:488 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:81 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." @@ -6707,7 +6719,7 @@ msgstr "" "Abstand der Kanten der Box\n" "zum nächsten Polygon." -#: appGUI/ObjectUI.py:475 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:94 +#: appGUI/ObjectUI.py:501 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:94 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -6719,25 +6731,25 @@ msgstr "" "ihr Radius ist gleich\n" "der Abstand." -#: appGUI/ObjectUI.py:484 +#: appGUI/ObjectUI.py:510 msgid "Generate the Geometry object." msgstr "Generieren Sie das Geometrieobjekt." -#: appGUI/ObjectUI.py:511 +#: appGUI/ObjectUI.py:537 msgid "Excellon Object" msgstr "Excellon-Objekt" -#: appGUI/ObjectUI.py:528 +#: appGUI/ObjectUI.py:554 msgid "Solid circles." msgstr "Feste Kreise." -#: appGUI/ObjectUI.py:557 +#: appGUI/ObjectUI.py:583 #, fuzzy #| msgid "Excellon Object" msgid "Edit an Excellon object." msgstr "Excellon-Objekt" -#: appGUI/ObjectUI.py:645 appTools/ToolDrilling.py:2067 +#: appGUI/ObjectUI.py:671 appTools/ToolDrilling.py:2067 #: appTools/ToolMilling.py:1672 msgid "" "This is the Tool Number.\n" @@ -6753,7 +6765,7 @@ msgstr "" "\n" "Hier werden die Werkzeuge zur G-Code-Generierung ausgewählt." -#: appGUI/ObjectUI.py:650 appGUI/ObjectUI.py:968 appTools/ToolDrilling.py:2072 +#: appGUI/ObjectUI.py:676 appGUI/ObjectUI.py:1012 appTools/ToolDrilling.py:2072 #: appTools/ToolMilling.py:1677 appTools/ToolPaint.py:2827 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" @@ -6762,7 +6774,7 @@ msgstr "" "Werkzeugdurchmesser Der Wert (in aktuellen FlatCAM-Einheiten)\n" "ist die Schnittbreite in das Material." -#: appGUI/ObjectUI.py:653 appTools/ToolDrilling.py:2075 +#: appGUI/ObjectUI.py:679 appTools/ToolDrilling.py:2075 #: appTools/ToolMilling.py:1680 msgid "" "The number of Drill holes. Holes that are drilled with\n" @@ -6771,7 +6783,7 @@ msgstr "" "Die Anzahl der Bohrlöcher. Löcher, mit denen gebohrt wird\n" "ein Bohrer." -#: appGUI/ObjectUI.py:656 appTools/ToolDrilling.py:2078 +#: appGUI/ObjectUI.py:682 appTools/ToolDrilling.py:2078 #: appTools/ToolMilling.py:1683 msgid "" "The number of Slot holes. Holes that are created by\n" @@ -6780,13 +6792,13 @@ msgstr "" "Die Anzahl der Langlöcher. Löcher, die von erstellt werden\n" "Fräsen mit einem Schaftfräser." -#: appGUI/ObjectUI.py:659 +#: appGUI/ObjectUI.py:685 #, fuzzy #| msgid "Set the color of the shape when selected." msgid "Show the color of the drill holes when using multi-color." msgstr "Legt die Farbe der Form fest, wenn sie ausgewählt wird." -#: appGUI/ObjectUI.py:661 +#: appGUI/ObjectUI.py:687 msgid "" "Toggle display of the drills for the current tool.\n" "This does not select the tools for G-code generation." @@ -6794,21 +6806,21 @@ msgstr "" "Anzeige der Bohrer für das aktuelle Werkzeug umschalten.\n" "Hiermit werden die Tools für die G-Code-Generierung nicht ausgewählt." -#: appGUI/ObjectUI.py:670 +#: appGUI/ObjectUI.py:696 #: appGUI/preferences/excellon/ExcellonAdvOptPrefGroupUI.py:55 #, fuzzy #| msgid "Add from DB" msgid "Auto load from DB" msgstr "Aus DB hinzufügen" -#: appGUI/ObjectUI.py:672 +#: appGUI/ObjectUI.py:698 #: appGUI/preferences/excellon/ExcellonAdvOptPrefGroupUI.py:57 msgid "" "Automatic replacement of the tools from related application tools\n" "with tools from DB that have a close diameter value." msgstr "" -#: appGUI/ObjectUI.py:698 +#: appGUI/ObjectUI.py:724 #, fuzzy #| msgid "" #| "Merge a selection of Excellon objects into a new combo Excellon object." @@ -6817,13 +6829,13 @@ msgstr "" "Fassen Sie eine Auswahl von Excellon-Objekten in einem neuen Excellon-Objekt " "zusammen." -#: appGUI/ObjectUI.py:709 +#: appGUI/ObjectUI.py:735 appGUI/ObjectUI.py:1767 #, fuzzy #| msgid "Milling Type" msgid "Milling Tool" msgstr "Fräsart" -#: appGUI/ObjectUI.py:712 +#: appGUI/ObjectUI.py:738 #, fuzzy #| msgid "" #| "Merge a selection of Excellon objects into a new combo Excellon object." @@ -6832,11 +6844,11 @@ msgstr "" "Fassen Sie eine Auswahl von Excellon-Objekten in einem neuen Excellon-Objekt " "zusammen." -#: appGUI/ObjectUI.py:738 +#: appGUI/ObjectUI.py:782 msgid "Milling Geometry" msgstr "Fräsgeometrie" -#: appGUI/ObjectUI.py:740 +#: appGUI/ObjectUI.py:784 msgid "" "Create Geometry for milling holes.\n" "Select from the Tools Table above the hole dias to be\n" @@ -6847,22 +6859,22 @@ msgstr "" "die gefräst werden sollen. Verwenden Sie die Spalte #, um die Auswahl zu " "treffen." -#: appGUI/ObjectUI.py:746 +#: appGUI/ObjectUI.py:790 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:80 #: appTools/ToolMilling.py:1779 msgid "Milling Diameter" msgstr "Fräsdurchmesser" -#: appGUI/ObjectUI.py:748 +#: appGUI/ObjectUI.py:792 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:101 msgid "Diameter of the cutting tool." msgstr "Durchmesser des Schneidewerkzeugs." -#: appGUI/ObjectUI.py:758 +#: appGUI/ObjectUI.py:802 msgid "Mill Drills" msgstr "Mühlenbohrer" -#: appGUI/ObjectUI.py:760 +#: appGUI/ObjectUI.py:804 #, fuzzy #| msgid "" #| "Create the Geometry Object\n" @@ -6874,11 +6886,11 @@ msgstr "" "Erstellen Sie das Geometrieobjekt\n" "zum Fräsen von Werkzeugwegen." -#: appGUI/ObjectUI.py:778 +#: appGUI/ObjectUI.py:822 msgid "Mill Slots" msgstr "Mühlenschlitze" -#: appGUI/ObjectUI.py:780 +#: appGUI/ObjectUI.py:824 #, fuzzy #| msgid "" #| "Create the Geometry Object\n" @@ -6890,17 +6902,17 @@ msgstr "" "Erstellen Sie das Geometrieobjekt\n" "zum Fräsen von Werkzeugwegen." -#: appGUI/ObjectUI.py:822 +#: appGUI/ObjectUI.py:866 msgid "Geometry Object" msgstr "Geometrieobjekt" -#: appGUI/ObjectUI.py:861 +#: appGUI/ObjectUI.py:905 #, fuzzy #| msgid "Geometry Object" msgid "Edit an Geometry object." msgstr "Geometrieobjekt" -#: appGUI/ObjectUI.py:925 +#: appGUI/ObjectUI.py:969 msgid "" "Tools in this Geometry object used for cutting.\n" "The 'Offset' entry will set an offset for the cut.\n" @@ -6929,12 +6941,12 @@ msgstr "" "ausgegraut und Cut Z wird automatisch aus dem neuen berechnet\n" "Zeigt UI-Formulareinträge mit den Namen V-Tip Dia und V-Tip Angle an." -#: appGUI/ObjectUI.py:942 appGUI/ObjectUI.py:1939 +#: appGUI/ObjectUI.py:986 appGUI/ObjectUI.py:1996 #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:40 msgid "Plot Object" msgstr "Plotobjekt" -#: appGUI/ObjectUI.py:962 +#: appGUI/ObjectUI.py:1006 msgid "" "This is the Tool Number.\n" "When ToolChange is checked, on toolchange event this value\n" @@ -6945,7 +6957,7 @@ msgstr "" "Werkzeugwechselereignis angezeigt\n" "wird als T1, T2 ... Tn angezeigt" -#: appGUI/ObjectUI.py:973 +#: appGUI/ObjectUI.py:1017 msgid "" "The value for the Offset can be:\n" "- Path -> There is no offset, the tool cut will be done through the geometry " @@ -6962,7 +6974,7 @@ msgstr "" "- Out (Seite) -> Der Werkzeugschnitt folgt der Geometrielinie an der " "Außenseite." -#: appGUI/ObjectUI.py:980 +#: appGUI/ObjectUI.py:1024 msgid "" "The (Operation) Type has only informative value. Usually the UI form " "values \n" @@ -6985,7 +6997,7 @@ msgstr "" "Für die Isolierung benötigen wir einen niedrigeren Vorschub, da ein Fräser " "mit einer feinen Spitze verwendet wird." -#: appGUI/ObjectUI.py:989 +#: appGUI/ObjectUI.py:1033 msgid "" "The Tool Type (TT) can be:\n" "- Circular with 1 ... 4 teeth -> it is informative only. Being circular the " @@ -7015,7 +7027,7 @@ msgstr "" "Wenn Sie den V-Form-Werkzeugtyp automatisch auswählen, wird der " "Operationstyp als Isolation ausgewählt." -#: appGUI/ObjectUI.py:1001 +#: appGUI/ObjectUI.py:1045 msgid "" "Plot column. It is visible only for MultiGeo geometries, meaning geometries " "that holds the geometry\n" @@ -7033,7 +7045,7 @@ msgstr "" "der Leinwand aktiviert / deaktiviert werden\n" "für das entsprechende Werkzeug." -#: appGUI/ObjectUI.py:1016 +#: appGUI/ObjectUI.py:1060 msgid "" "The value to offset the cut when \n" "the Offset type selected is 'Offset'.\n" @@ -7045,19 +7057,19 @@ msgstr "" "Der Wert kann für \"außerhalb\" positiv sein\n" "Cut und Negativ für \"Inside\" Cut." -#: appGUI/ObjectUI.py:1035 appTools/ToolIsolation.py:3087 -#: appTools/ToolNCC.py:66 appTools/ToolNCC.py:3855 appTools/ToolPaint.py:140 +#: appGUI/ObjectUI.py:1079 appTools/ToolIsolation.py:3087 +#: appTools/ToolNCC.py:66 appTools/ToolNCC.py:3902 appTools/ToolPaint.py:140 #: appTools/ToolPaint.py:2878 msgid "Add from DB" msgstr "Aus DB hinzufügen" -#: appGUI/ObjectUI.py:1052 appTools/ToolCutOut.py:2071 +#: appGUI/ObjectUI.py:1096 appTools/ToolCutOut.py:2071 #: appTools/ToolIsolation.py:61 appTools/ToolIsolation.py:3122 -#: appTools/ToolNCC.py:3889 appTools/ToolPaint.py:2898 +#: appTools/ToolNCC.py:3936 appTools/ToolPaint.py:2898 msgid "Search and Add" msgstr "" -#: appGUI/ObjectUI.py:1055 +#: appGUI/ObjectUI.py:1099 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above." @@ -7065,16 +7077,16 @@ msgstr "" "Fügen Sie der Werkzeugtabelle ein neues Werkzeug hinzu\n" "mit dem oben angegebenen Durchmesser." -#: appGUI/ObjectUI.py:1059 appTools/ToolCutOut.py:2083 +#: appGUI/ObjectUI.py:1103 appTools/ToolCutOut.py:2083 #: appTools/ToolIsolation.py:65 appTools/ToolIsolation.py:3133 -#: appTools/ToolNCC.py:3900 appTools/ToolPaint.py:2909 +#: appTools/ToolNCC.py:3947 appTools/ToolPaint.py:2909 #, fuzzy #| msgid "Add from DB" msgid "Pick from DB" msgstr "Aus DB hinzufügen" -#: appGUI/ObjectUI.py:1062 appTools/ToolCutOut.py:2086 -#: appTools/ToolIsolation.py:3136 appTools/ToolNCC.py:3903 +#: appGUI/ObjectUI.py:1106 appTools/ToolCutOut.py:2086 +#: appTools/ToolIsolation.py:3136 appTools/ToolNCC.py:3950 #: appTools/ToolPaint.py:2912 #, fuzzy #| msgid "" @@ -7089,7 +7101,7 @@ msgstr "" "Fügen Sie der Werkzeugtabelle ein neues Werkzeug aus der\n" "aus der Werkzeugdatenbank hinzu." -#: appGUI/ObjectUI.py:1084 +#: appGUI/ObjectUI.py:1128 msgid "" "Copy a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -7097,7 +7109,7 @@ msgstr "" "Kopieren Sie eine Auswahl von Werkzeugen in die Werkzeugtabelle\n" "indem Sie zuerst eine Zeile in der Werkzeugtabelle auswählen." -#: appGUI/ObjectUI.py:1091 +#: appGUI/ObjectUI.py:1135 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -7105,7 +7117,7 @@ msgstr "" "Löschen Sie eine Auswahl von Werkzeugen in der Werkzeugtabelle\n" "indem Sie zuerst eine Zeile in der Werkzeugtabelle auswählen." -#: appGUI/ObjectUI.py:1128 appObjects/FlatCAMGeometry.py:388 +#: appGUI/ObjectUI.py:1172 appObjects/FlatCAMGeometry.py:388 #: appObjects/FlatCAMGeometry.py:886 appObjects/FlatCAMGeometry.py:891 #: appObjects/FlatCAMGeometry.py:925 appObjects/FlatCAMGeometry.py:950 #: appObjects/FlatCAMGeometry.py:954 appTools/ToolDrilling.py:705 @@ -7120,18 +7132,18 @@ msgstr "" #: appTools/ToolMilling.py:744 appTools/ToolMilling.py:749 #: appTools/ToolMilling.py:779 appTools/ToolMilling.py:790 #: appTools/ToolMilling.py:794 appTools/ToolMilling.py:1711 -#: appTools/ToolNCC.py:266 appTools/ToolNCC.py:271 appTools/ToolNCC.py:301 -#: appTools/ToolNCC.py:324 appTools/ToolNCC.py:337 appTools/ToolNCC.py:701 -#: appTools/ToolNCC.py:3933 appTools/ToolPaint.py:247 appTools/ToolPaint.py:252 +#: appTools/ToolNCC.py:271 appTools/ToolNCC.py:276 appTools/ToolNCC.py:306 +#: appTools/ToolNCC.py:329 appTools/ToolNCC.py:342 appTools/ToolNCC.py:711 +#: appTools/ToolNCC.py:3980 appTools/ToolPaint.py:247 appTools/ToolPaint.py:252 #: appTools/ToolPaint.py:282 appTools/ToolPaint.py:304 #: appTools/ToolPaint.py:316 appTools/ToolPaint.py:655 #: appTools/ToolPaint.py:2940 msgid "Parameters for" msgstr "Parameter für" -#: appGUI/ObjectUI.py:1131 appTools/ToolDrilling.py:2119 +#: appGUI/ObjectUI.py:1175 appTools/ToolDrilling.py:2119 #: appTools/ToolIsolation.py:3169 appTools/ToolMilling.py:1714 -#: appTools/ToolNCC.py:3936 appTools/ToolPaint.py:2943 +#: appTools/ToolNCC.py:3983 appTools/ToolPaint.py:2943 msgid "" "The data used for creating GCode.\n" "Each tool store it's own set of such data." @@ -7139,28 +7151,28 @@ msgstr "" "Die Daten, die zum Erstellen von GCode verwendet werden.\n" "Jedes Werkzeug speichert seinen eigenen Satz solcher Daten." -#: appGUI/ObjectUI.py:1138 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:89 +#: appGUI/ObjectUI.py:1182 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:72 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:78 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:85 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:76 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:83 msgid "V-Tip Dia" msgstr "Stichelspitzen-Durchm" -#: appGUI/ObjectUI.py:1141 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:91 +#: appGUI/ObjectUI.py:1185 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:91 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:74 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:80 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:78 msgid "The tip diameter for V-Shape Tool" msgstr "Der Spitzendurchmesser für das V-Shape-Werkzeug" -#: appGUI/ObjectUI.py:1153 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:101 +#: appGUI/ObjectUI.py:1197 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:101 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:84 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:91 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:99 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:89 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:97 msgid "V-Tip Angle" msgstr "Stichel-Winkel" -#: appGUI/ObjectUI.py:1156 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:86 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:93 +#: appGUI/ObjectUI.py:1200 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:86 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:91 msgid "" "The tip angle for V-Shape Tool.\n" "In degree." @@ -7168,7 +7180,7 @@ msgstr "" "Der Spitzenwinkel für das Stichel-Werkzeug.\n" "In grad." -#: appGUI/ObjectUI.py:1172 +#: appGUI/ObjectUI.py:1216 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:51 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:61 #: appObjects/FlatCAMGeometry.py:1374 appTools/ToolCutOut.py:2107 @@ -7179,7 +7191,7 @@ msgstr "" "Schnitttiefe (negativ)\n" "unter der Kupferoberfläche." -#: appGUI/ObjectUI.py:1190 +#: appGUI/ObjectUI.py:1234 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:69 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:79 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:77 @@ -7188,7 +7200,7 @@ msgstr "" msgid "Multi-Depth" msgstr "Mehrfache Tiefe" -#: appGUI/ObjectUI.py:1218 +#: appGUI/ObjectUI.py:1262 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:104 msgid "" "Height of the tool when\n" @@ -7197,7 +7209,7 @@ msgstr "" "Höhe des Werkzeugs bei\n" "Bewegen ohne zu schneiden." -#: appGUI/ObjectUI.py:1237 +#: appGUI/ObjectUI.py:1281 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:188 #: appTools/ToolMilling.py:1862 msgid "" @@ -7207,7 +7219,7 @@ msgstr "" "Schnittgeschwindigkeit im XY\n" "Flugzeug in Einheiten pro Minute" -#: appGUI/ObjectUI.py:1251 +#: appGUI/ObjectUI.py:1295 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:203 msgid "" "Cutting speed in the XY\n" @@ -7218,7 +7230,7 @@ msgstr "" "Flugzeug in Einheiten pro Minute.\n" "Es heißt auch Sturz." -#: appGUI/ObjectUI.py:1266 +#: appGUI/ObjectUI.py:1310 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:69 msgid "" "Cutting speed in the XY plane\n" @@ -7233,13 +7245,13 @@ msgstr "" "Es ist nur für Marlin nützlich,\n" "für andere Fälle ignorieren." -#: appGUI/ObjectUI.py:1284 +#: appGUI/ObjectUI.py:1328 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:85 #: appTools/ToolMilling.py:1914 msgid "Re-cut" msgstr "Nachschneiden" -#: appGUI/ObjectUI.py:1286 appGUI/ObjectUI.py:1298 +#: appGUI/ObjectUI.py:1330 appGUI/ObjectUI.py:1342 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:87 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:99 #: appTools/ToolMilling.py:1916 appTools/ToolMilling.py:1929 @@ -7254,7 +7266,7 @@ msgstr "" "Beim letzten Schnitt treffen wir einen\n" "verlängerter Schnitt über dem ersten Schnittabschnitt." -#: appGUI/ObjectUI.py:1310 +#: appGUI/ObjectUI.py:1354 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:220 msgid "" "Speed of the spindle in RPM (optional).\n" @@ -7265,7 +7277,7 @@ msgstr "" "Wenn LASER-Postprozessor verwendet wird,\n" "Dieser Wert ist die Leistung des Lasers." -#: appGUI/ObjectUI.py:1326 +#: appGUI/ObjectUI.py:1370 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:235 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:202 #: appTools/ToolDrilling.py:2266 appTools/ToolMilling.py:1959 @@ -7276,14 +7288,14 @@ msgstr "" "Pause, damit die Spindel ihre erreichen kann\n" "Geschwindigkeit vor dem Schneiden." -#: appGUI/ObjectUI.py:1336 +#: appGUI/ObjectUI.py:1380 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:240 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:210 #: appTools/ToolDrilling.py:2278 appTools/ToolMilling.py:1970 msgid "Number of time units for spindle to dwell." msgstr "Anzahl der Zeiteinheiten, in denen die Spindel verweilen soll." -#: appGUI/ObjectUI.py:1344 appGUI/ObjectUI.py:2071 +#: appGUI/ObjectUI.py:1388 appGUI/ObjectUI.py:2128 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:131 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:108 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:333 @@ -7291,7 +7303,7 @@ msgstr "Anzahl der Zeiteinheiten, in denen die Spindel verweilen soll." msgid "Probe Z depth" msgstr "Sonde Z Tiefe" -#: appGUI/ObjectUI.py:1346 appGUI/ObjectUI.py:2073 +#: appGUI/ObjectUI.py:1390 appGUI/ObjectUI.py:2130 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:133 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:110 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:335 @@ -7303,14 +7315,14 @@ msgstr "" "Die maximale Tiefe, in der die Sonde zulässig ist\n" "zu untersuchen. Negativer Wert in aktuellen Einheiten." -#: appGUI/ObjectUI.py:1361 +#: appGUI/ObjectUI.py:1405 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:346 #: appTools/ToolDrilling.py:2480 appTools/ToolMilling.py:2148 msgid "Feedrate Probe" msgstr "Vorschubsonde" -#: appGUI/ObjectUI.py:1363 appGUI/ObjectUI.py:2086 +#: appGUI/ObjectUI.py:1407 appGUI/ObjectUI.py:2143 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:146 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:125 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:348 @@ -7318,15 +7330,15 @@ msgstr "Vorschubsonde" msgid "The feedrate used while the probe is probing." msgstr "Der Vorschub während der Sondenmessung." -#: appGUI/ObjectUI.py:1390 appTools/ToolDrilling.py:2364 +#: appGUI/ObjectUI.py:1434 appTools/ToolDrilling.py:2364 #: appTools/ToolIsolation.py:3265 appTools/ToolMilling.py:2042 -#: appTools/ToolNCC.py:4094 appTools/ToolPaint.py:3049 +#: appTools/ToolNCC.py:4141 appTools/ToolPaint.py:3049 msgid "Apply parameters to all tools" msgstr "Parameter auf alle Werkzeuge anwenden" -#: appGUI/ObjectUI.py:1393 appTools/ToolDrilling.py:2367 +#: appGUI/ObjectUI.py:1437 appTools/ToolDrilling.py:2367 #: appTools/ToolIsolation.py:3268 appTools/ToolMilling.py:2045 -#: appTools/ToolNCC.py:4097 appTools/ToolPaint.py:3052 +#: appTools/ToolNCC.py:4144 appTools/ToolPaint.py:3052 msgid "" "The parameters in the current form will be applied\n" "on all the tools from the Tool Table." @@ -7334,24 +7346,24 @@ msgstr "" "Die aktuell angegebenen Parameter werden allen Werkzeugen der " "Werkzeugtabelle zugeordnet." -#: appGUI/ObjectUI.py:1404 appTools/ToolDrilling.py:2378 +#: appGUI/ObjectUI.py:1448 appTools/ToolDrilling.py:2378 #: appTools/ToolIsolation.py:3279 appTools/ToolMilling.py:2056 -#: appTools/ToolNCC.py:4108 appTools/ToolPaint.py:3063 +#: appTools/ToolNCC.py:4155 appTools/ToolPaint.py:3063 msgid "Common Parameters" msgstr "Allgemeine Parameter" -#: appGUI/ObjectUI.py:1406 appTools/ToolDrilling.py:2380 +#: appGUI/ObjectUI.py:1450 appTools/ToolDrilling.py:2380 #: appTools/ToolIsolation.py:3281 appTools/ToolMilling.py:2058 -#: appTools/ToolNCC.py:4110 appTools/ToolPaint.py:3065 +#: appTools/ToolNCC.py:4157 appTools/ToolPaint.py:3065 msgid "Parameters that are common for all tools." msgstr "Parameter, die allen Werkzeugen gemeinsam sind." -#: appGUI/ObjectUI.py:1411 appTools/ToolDrilling.py:2394 +#: appGUI/ObjectUI.py:1455 appTools/ToolDrilling.py:2394 #: appTools/ToolMilling.py:2063 msgid "Tool change Z" msgstr "Werkzeugwechsel Z" -#: appGUI/ObjectUI.py:1414 +#: appGUI/ObjectUI.py:1458 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:125 msgid "" "Include tool-change sequence\n" @@ -7360,7 +7372,7 @@ msgstr "" "Werkzeugwechselfolge einbeziehen\n" "im Maschinencode (Pause für Werkzeugwechsel)." -#: appGUI/ObjectUI.py:1422 +#: appGUI/ObjectUI.py:1466 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:135 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:126 #: appTools/ToolDrilling.py:2396 appTools/ToolMilling.py:2072 @@ -7371,14 +7383,14 @@ msgstr "" "Z-Achsenposition (Höhe) für\n" "Werkzeugwechsel." -#: appGUI/ObjectUI.py:1450 +#: appGUI/ObjectUI.py:1494 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:154 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:142 #: appTools/ToolDrilling.py:2427 appTools/ToolMilling.py:2098 msgid "End move Z" msgstr "Bewegung beenden Z" -#: appGUI/ObjectUI.py:1452 +#: appGUI/ObjectUI.py:1496 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:156 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:144 #: appTools/ToolDrilling.py:2429 appTools/ToolMilling.py:2100 @@ -7389,14 +7401,14 @@ msgstr "" "Höhe des Werkzeugs nach\n" "die letzte Bewegung am Ende des Jobs." -#: appGUI/ObjectUI.py:1469 +#: appGUI/ObjectUI.py:1513 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:174 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:159 #: appTools/ToolDrilling.py:2447 appTools/ToolMilling.py:2117 msgid "End move X,Y" msgstr "Bewegung beenden X, Y" -#: appGUI/ObjectUI.py:1471 +#: appGUI/ObjectUI.py:1515 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:176 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:161 #: appTools/ToolDrilling.py:2449 appTools/ToolMilling.py:2119 @@ -7409,14 +7421,14 @@ msgstr "" "Wenn kein Wert eingegeben wird, erfolgt keine Bewegung\n" "auf der X, Y-Ebene am Ende des Jobs." -#: appGUI/ObjectUI.py:1476 appTools/ToolDrilling.py:2454 +#: appGUI/ObjectUI.py:1520 appTools/ToolDrilling.py:2454 #: appTools/ToolMilling.py:2124 #, fuzzy #| msgid "Coordinates" msgid "X,Y coordinates" msgstr "Koordinaten" -#: appGUI/ObjectUI.py:1484 +#: appGUI/ObjectUI.py:1528 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:257 msgid "" "The Preprocessor file that dictates\n" @@ -7425,12 +7437,12 @@ msgstr "" "Die Postprozessor-Datei, die diktiert\n" "den Maschinencode (wie GCode, RML, HPGL)." -#: appGUI/ObjectUI.py:1500 appTools/ToolDrilling.py:2515 +#: appGUI/ObjectUI.py:1544 appTools/ToolDrilling.py:2515 #: appTools/ToolMilling.py:2194 msgid "Add exclusion areas" msgstr "Ausschlussbereiche hinzufügen" -#: appGUI/ObjectUI.py:1503 +#: appGUI/ObjectUI.py:1547 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:210 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:410 #: appTools/ToolDrilling.py:2518 appTools/ToolMilling.py:2197 @@ -7443,7 +7455,7 @@ msgstr "" "In diesen Bereichen die Reise der Werkzeuge\n" "ist verboten." -#: appGUI/ObjectUI.py:1524 appGUI/ObjectUI.py:1543 +#: appGUI/ObjectUI.py:1568 appGUI/ObjectUI.py:1587 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:230 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:430 #: appTools/ToolDrilling.py:2540 appTools/ToolDrilling.py:2559 @@ -7451,7 +7463,7 @@ msgstr "" msgid "Strategy" msgstr "Strategie" -#: appGUI/ObjectUI.py:1524 appGUI/ObjectUI.py:1555 +#: appGUI/ObjectUI.py:1568 appGUI/ObjectUI.py:1599 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:242 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:442 #: appTools/ToolDrilling.py:2540 appTools/ToolDrilling.py:2572 @@ -7459,17 +7471,17 @@ msgstr "Strategie" msgid "Over Z" msgstr "Über Z" -#: appGUI/ObjectUI.py:1526 appTools/ToolDrilling.py:2542 +#: appGUI/ObjectUI.py:1570 appTools/ToolDrilling.py:2542 #: appTools/ToolMilling.py:2220 msgid "This is the Area ID." msgstr "Dies ist die Bereichs-ID." -#: appGUI/ObjectUI.py:1528 appTools/ToolDrilling.py:2544 +#: appGUI/ObjectUI.py:1572 appTools/ToolDrilling.py:2544 #: appTools/ToolMilling.py:2222 msgid "Type of the object where the exclusion area was added." msgstr "Typ des Objekts, zu dem der Ausschlussbereich hinzugefügt wurde." -#: appGUI/ObjectUI.py:1530 appTools/ToolDrilling.py:2546 +#: appGUI/ObjectUI.py:1574 appTools/ToolDrilling.py:2546 #: appTools/ToolMilling.py:2224 msgid "" "The strategy used for exclusion area. Go around the exclusion areas or over " @@ -7478,7 +7490,7 @@ msgstr "" "Die Strategie für den Ausschlussbereich. Gehen Sie um die Ausschlussbereiche " "herum oder darüber." -#: appGUI/ObjectUI.py:1532 appTools/ToolDrilling.py:2548 +#: appGUI/ObjectUI.py:1576 appTools/ToolDrilling.py:2548 #: appTools/ToolMilling.py:2226 msgid "" "If the strategy is to go over the area then this is the height at which the " @@ -7487,7 +7499,7 @@ msgstr "" "Wenn die Strategie darin besteht, über den Bereich zu gehen, ist dies die " "Höhe, in der sich das Werkzeug bewegt, um den Ausschlussbereich zu vermeiden." -#: appGUI/ObjectUI.py:1544 +#: appGUI/ObjectUI.py:1588 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:231 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:431 #: appTools/ToolDrilling.py:2560 appTools/ToolMilling.py:2238 @@ -7504,21 +7516,21 @@ msgstr "" "festgelegte Höhe\n" "- Vermeiden -> vermeidet den Ausschlussbereich, indem Sie den Bereich umgehen" -#: appGUI/ObjectUI.py:1548 +#: appGUI/ObjectUI.py:1592 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:235 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:435 #: appTools/ToolDrilling.py:2564 appTools/ToolMilling.py:2242 msgid "Over" msgstr "Über" -#: appGUI/ObjectUI.py:1549 +#: appGUI/ObjectUI.py:1593 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:236 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:436 #: appTools/ToolDrilling.py:2565 appTools/ToolMilling.py:2243 msgid "Around" msgstr "Vermeiden" -#: appGUI/ObjectUI.py:1556 +#: appGUI/ObjectUI.py:1600 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:243 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:443 #: appTools/ToolDrilling.py:2573 appTools/ToolMilling.py:2250 @@ -7529,29 +7541,29 @@ msgstr "" "Die Höhe Z, auf die das Werkzeug ansteigt, um dies zu vermeiden\n" "ein Verbotsbereich." -#: appGUI/ObjectUI.py:1566 appTools/ToolDrilling.py:2584 +#: appGUI/ObjectUI.py:1610 appTools/ToolDrilling.py:2584 #: appTools/ToolMilling.py:2260 msgid "Add area:" msgstr "Bereich hinzufügen:" -#: appGUI/ObjectUI.py:1567 appTools/ToolDrilling.py:2585 +#: appGUI/ObjectUI.py:1611 appTools/ToolDrilling.py:2585 #: appTools/ToolMilling.py:2261 msgid "Add an Exclusion Area." msgstr "Fügen Sie einen Ausschlussbereich hinzu." -#: appGUI/ObjectUI.py:1573 +#: appGUI/ObjectUI.py:1617 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:220 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:420 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:305 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:324 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:288 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:286 #: appTools/ToolDrilling.py:2591 appTools/ToolIsolation.py:3427 -#: appTools/ToolMilling.py:2267 appTools/ToolNCC.py:4238 +#: appTools/ToolMilling.py:2267 appTools/ToolNCC.py:4285 #: appTools/ToolPaint.py:3165 msgid "The kind of selection shape used for area selection." msgstr "Die Art der Auswahlform, die für die Bereichsauswahl verwendet wird." -#: appGUI/ObjectUI.py:1583 +#: appGUI/ObjectUI.py:1627 #: appGUI/preferences/utilities/AutoCompletePrefGroupUI.py:32 #: appGUI/preferences/utilities/FAExcPrefGroupUI.py:42 #: appGUI/preferences/utilities/FAGcoPrefGroupUI.py:32 @@ -7560,52 +7572,52 @@ msgstr "Die Art der Auswahlform, die für die Bereichsauswahl verwendet wird." msgid "Delete All" msgstr "Alles löschen" -#: appGUI/ObjectUI.py:1584 appTools/ToolDrilling.py:2603 +#: appGUI/ObjectUI.py:1628 appTools/ToolDrilling.py:2603 #: appTools/ToolMilling.py:2278 msgid "Delete all exclusion areas." msgstr "Löschen Sie alle Ausschlussbereiche." -#: appGUI/ObjectUI.py:1587 appTools/ToolDrilling.py:2606 +#: appGUI/ObjectUI.py:1631 appTools/ToolDrilling.py:2606 #: appTools/ToolMilling.py:2281 msgid "Delete Selected" msgstr "Ausgewählte löschen" -#: appGUI/ObjectUI.py:1588 appTools/ToolDrilling.py:2607 +#: appGUI/ObjectUI.py:1632 appTools/ToolDrilling.py:2607 #: appTools/ToolMilling.py:2282 msgid "Delete all exclusion areas that are selected in the table." msgstr "Löschen Sie alle in der Tabelle ausgewählten Ausschlussbereiche." -#: appGUI/ObjectUI.py:1598 +#: appGUI/ObjectUI.py:1642 #, fuzzy #| msgid "Add Polygon" msgid "Add Polish" msgstr "Polygon hinzufügen" -#: appGUI/ObjectUI.py:1600 +#: appGUI/ObjectUI.py:1644 msgid "" "Will add a Paint section at the end of the GCode.\n" "A metallic brush will clean the material after milling." msgstr "" -#: appGUI/ObjectUI.py:1608 +#: appGUI/ObjectUI.py:1652 #, fuzzy #| msgid "Diameter for the new tool." msgid "Diameter for the polishing tool." msgstr "Durchmesser für das neue Werkzeug." -#: appGUI/ObjectUI.py:1619 +#: appGUI/ObjectUI.py:1663 #, fuzzy #| msgid "Measure" msgid "Pressure" msgstr "Messen" -#: appGUI/ObjectUI.py:1621 +#: appGUI/ObjectUI.py:1665 msgid "" "Negative value. The higher the absolute value\n" "the stronger the pressure of the brush on the material." msgstr "" -#: appGUI/ObjectUI.py:1650 +#: appGUI/ObjectUI.py:1694 #, fuzzy #| msgid "" #| "Algorithm for copper clearing:\n" @@ -7623,18 +7635,18 @@ msgstr "" "- Samenbasiert: Aus dem Samen heraus.\n" "- Linienbasiert: Parallele Linien." -#: appGUI/ObjectUI.py:1694 appTools/ToolDrilling.py:2629 +#: appGUI/ObjectUI.py:1738 appTools/ToolDrilling.py:2629 #: appTools/ToolMilling.py:2304 msgid "Generate CNCJob object" msgstr "Generieren des CNC-Job-Objekts" -#: appGUI/ObjectUI.py:1697 +#: appGUI/ObjectUI.py:1741 #, fuzzy #| msgid "Generate CNCJob object" msgid "Generate CNCJob object." msgstr "Generieren des CNC-Job-Objekts" -#: appGUI/ObjectUI.py:1699 +#: appGUI/ObjectUI.py:1743 msgid "" "Add / Select at least one tool in the tool-table.\n" "Click the # header to select all, or Ctrl + LMB\n" @@ -7644,27 +7656,37 @@ msgstr "" "Klicken Sie auf die Überschrift #, um alle auszuwählen, oder auf Strg + LMB\n" "zur benutzerdefinierten Auswahl von Werkzeugen." -#: appGUI/ObjectUI.py:1718 +#: appGUI/ObjectUI.py:1762 msgid "Launch Paint Tool in Tools Tab." msgstr "Starten Sie das Paint Werkzeug in der Registerkarte \"Tools\"." -#: appGUI/ObjectUI.py:1727 appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:35 +#: appGUI/ObjectUI.py:1770 +#, fuzzy +#| msgid "Generating Solder Paste dispensing geometry..." +msgid "Generate a CNCJob by milling a Geometry." +msgstr "Lötpasten-Dosiergeometrie erzeugen ..." + +#: appGUI/ObjectUI.py:1786 appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:35 +#, fuzzy +#| msgid "" +#| "Creates tool paths to cover the\n" +#| "whole area of a polygon (remove\n" +#| "all copper). You will be asked\n" +#| "to click on the desired polygon." msgid "" "Creates tool paths to cover the\n" -"whole area of a polygon (remove\n" -"all copper). You will be asked\n" -"to click on the desired polygon." +"whole area of a polygon." msgstr "" "Erzeugt Werkzeugpfade zur Abdeckung\n" "gesamte Fläche eines Polygons (entfernen\n" "alles Kupfer). Du wirst gefragt\n" "Klicken Sie auf das gewünschte Polygon." -#: appGUI/ObjectUI.py:1783 +#: appGUI/ObjectUI.py:1840 msgid "CNC Job Object" msgstr "CNC-Auftragsobjekt" -#: appGUI/ObjectUI.py:1799 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:54 +#: appGUI/ObjectUI.py:1856 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:54 msgid "" "This selects the kind of geometries on the canvas to plot.\n" "Those can be either of type 'Travel' which means the moves\n" @@ -7677,21 +7699,21 @@ msgstr "" "über dem Werkstück oder es kann vom Typ 'Ausschneiden' sein,\n" "was bedeutet, dass die Bewegungen, die in das Material geschnitten werden." -#: appGUI/ObjectUI.py:1808 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:62 +#: appGUI/ObjectUI.py:1865 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:62 msgid "Travel" msgstr "Reise" -#: appGUI/ObjectUI.py:1831 +#: appGUI/ObjectUI.py:1888 #, fuzzy #| msgid "Create the QRCode object." msgid "Edit an GCode object." msgstr "Erzeugen des QRCode Objektes." -#: appGUI/ObjectUI.py:1868 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:71 +#: appGUI/ObjectUI.py:1925 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:71 msgid "Display Annotation" msgstr "Anmerkung anzeigen" -#: appGUI/ObjectUI.py:1870 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:73 +#: appGUI/ObjectUI.py:1927 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:73 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" @@ -7703,12 +7725,12 @@ msgstr "" "richtigen Reihenfolge angezeigt\n" "einer Reiseleitung." -#: appGUI/ObjectUI.py:1882 appObjects/FlatCAMObj.py:861 +#: appGUI/ObjectUI.py:1939 appObjects/FlatCAMObj.py:864 #: appTools/ToolProperties.py:562 msgid "Travelled distance" msgstr "Zurückgelegte Strecke" -#: appGUI/ObjectUI.py:1884 +#: appGUI/ObjectUI.py:1941 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." @@ -7716,11 +7738,11 @@ msgstr "" "Dies ist die Gesamtstrecke auf der X-Y-Ebene.\n" "In aktuellen Einheiten." -#: appGUI/ObjectUI.py:1895 +#: appGUI/ObjectUI.py:1952 msgid "Estimated time" msgstr "Geschätzte Zeit" -#: appGUI/ObjectUI.py:1897 +#: appGUI/ObjectUI.py:1954 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." @@ -7728,11 +7750,11 @@ msgstr "" "Dies ist die geschätzte Zeit für das Fräsen / Bohren.\n" "ohne die Zeit, die in Werkzeugwechselereignissen verbracht wird." -#: appGUI/ObjectUI.py:1921 +#: appGUI/ObjectUI.py:1978 msgid "CNC Tools Table" msgstr "CNC Werkzeugtabelle" -#: appGUI/ObjectUI.py:1924 +#: appGUI/ObjectUI.py:1981 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -7754,124 +7776,124 @@ msgstr "" "Der 'Werkzeugtyp' (TT) kann kreisförmig mit 1 bis 4 Zähnen (C1..C4) sein.\n" "Kugel (B) oder V-Form (V)." -#: appGUI/ObjectUI.py:1952 appGUI/ObjectUI.py:1963 +#: appGUI/ObjectUI.py:2009 appGUI/ObjectUI.py:2020 msgid "P" msgstr "P" -#: appGUI/ObjectUI.py:1973 +#: appGUI/ObjectUI.py:2030 msgid "Update Plot" msgstr "Plot aktualisieren" -#: appGUI/ObjectUI.py:1975 +#: appGUI/ObjectUI.py:2032 msgid "Update the plot." msgstr "Aktualisieren Sie die Darstellung." -#: appGUI/ObjectUI.py:1985 +#: appGUI/ObjectUI.py:2042 msgid "Use CNC Code Snippets" msgstr "" -#: appGUI/ObjectUI.py:1987 +#: appGUI/ObjectUI.py:2044 msgid "" "When selected, it will include CNC Code snippets (append and prepend)\n" "defined in the Preferences." msgstr "" -#: appGUI/ObjectUI.py:1993 +#: appGUI/ObjectUI.py:2050 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:64 msgid "Autolevelling" msgstr "" -#: appGUI/ObjectUI.py:1995 +#: appGUI/ObjectUI.py:2052 msgid "Enable the autolevelling feature." msgstr "" -#: appGUI/ObjectUI.py:2012 +#: appGUI/ObjectUI.py:2069 #, fuzzy #| msgid "Tools Table" msgid "Probe Points Table" msgstr "Werkzeugtabelle" -#: appGUI/ObjectUI.py:2013 +#: appGUI/ObjectUI.py:2070 msgid "Generate GCode that will obtain the height map" msgstr "" -#: appGUI/ObjectUI.py:2015 +#: appGUI/ObjectUI.py:2072 msgid "Show" msgstr "" -#: appGUI/ObjectUI.py:2016 +#: appGUI/ObjectUI.py:2073 #, fuzzy #| msgid "Toggle the display of axis on canvas" msgid "Toggle the display of the Probe Points table." msgstr "Schalten Sie die Anzeige der Achse auf der Leinwand um" -#: appGUI/ObjectUI.py:2029 +#: appGUI/ObjectUI.py:2086 #, fuzzy #| msgid "Coordinates" msgid "X-Y Coordinates" msgstr "Koordinaten" -#: appGUI/ObjectUI.py:2029 +#: appGUI/ObjectUI.py:2086 #, fuzzy #| msgid "Light" msgid "Height" msgstr "Licht" -#: appGUI/ObjectUI.py:2033 +#: appGUI/ObjectUI.py:2090 #, fuzzy #| msgid "Plot Options" msgid "Plot probing points" msgstr "Diagrammoptionen" -#: appGUI/ObjectUI.py:2035 +#: appGUI/ObjectUI.py:2092 msgid "" "Plot the probing points in the table.\n" "If a Voronoi method is used then\n" "the Voronoi areas are also plotted." msgstr "" -#: appGUI/ObjectUI.py:2050 +#: appGUI/ObjectUI.py:2107 #, fuzzy #| msgid "Finished G-Code generation" msgid "Probe GCode Generation" msgstr "Fertige G-Code-Generierung" -#: appGUI/ObjectUI.py:2052 +#: appGUI/ObjectUI.py:2109 msgid "" "Will create a GCode which will be sent to the controller,\n" "either through a file or directly, with the intent to get the height map\n" "that is to modify the original GCode to level the cutting height." msgstr "" -#: appGUI/ObjectUI.py:2059 +#: appGUI/ObjectUI.py:2116 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:119 #, fuzzy #| msgid "Probe Z depth" msgid "Probe Z travel" msgstr "Sonde Z Tiefe" -#: appGUI/ObjectUI.py:2061 +#: appGUI/ObjectUI.py:2118 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:121 #, fuzzy #| msgid "Height (Z) for travelling between the points." msgid "The safe Z for probe travelling between probe points." msgstr "Die Höhe (Z) für den Weg zwischen Pads." -#: appGUI/ObjectUI.py:2084 +#: appGUI/ObjectUI.py:2141 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:144 #, fuzzy #| msgid "Feedrate" msgid "Probe Feedrate" msgstr "Vorschubgeschwindigkeit" -#: appGUI/ObjectUI.py:2101 +#: appGUI/ObjectUI.py:2158 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:71 #, fuzzy #| msgid "Mode:" msgid "Mode" msgstr "Modus:" -#: appGUI/ObjectUI.py:2102 +#: appGUI/ObjectUI.py:2159 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:72 msgid "" "Choose a mode for height map generation.\n" @@ -7879,21 +7901,21 @@ msgid "" "- Grid: will automatically generate a grid of probe points" msgstr "" -#: appGUI/ObjectUI.py:2108 +#: appGUI/ObjectUI.py:2165 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:78 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:74 #: appTools/ToolCutOut.py:2324 appTools/ToolFiducials.py:801 msgid "Manual" msgstr "Manuell" -#: appGUI/ObjectUI.py:2109 +#: appGUI/ObjectUI.py:2166 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:79 #, fuzzy #| msgid "Grids" msgid "Grid" msgstr "Raster" -#: appGUI/ObjectUI.py:2116 +#: appGUI/ObjectUI.py:2173 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:86 msgid "" "Choose a method for approximation of heights from autolevelling data.\n" @@ -7901,125 +7923,125 @@ msgid "" "- Bilinear: will use bilinear interpolation. Usable only for grid mode." msgstr "" -#: appGUI/ObjectUI.py:2122 +#: appGUI/ObjectUI.py:2179 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:92 msgid "Voronoi" msgstr "" -#: appGUI/ObjectUI.py:2123 +#: appGUI/ObjectUI.py:2180 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:93 #, fuzzy #| msgid "Linear" msgid "Bilinear" msgstr "Linear" -#: appGUI/ObjectUI.py:2136 +#: appGUI/ObjectUI.py:2193 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:101 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:77 #: appTools/ToolPanelize.py:787 msgid "Columns" msgstr "Säulen" -#: appGUI/ObjectUI.py:2138 +#: appGUI/ObjectUI.py:2195 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:103 msgid "The number of grid columns." msgstr "" -#: appGUI/ObjectUI.py:2147 +#: appGUI/ObjectUI.py:2204 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:111 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:89 #: appTools/ToolPanelize.py:797 msgid "Rows" msgstr "Reihen" -#: appGUI/ObjectUI.py:2149 +#: appGUI/ObjectUI.py:2206 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:113 msgid "The number of gird rows." msgstr "" -#: appGUI/ObjectUI.py:2154 +#: appGUI/ObjectUI.py:2211 #, fuzzy #| msgid "Get Points" msgid "Add Probe Points" msgstr "Punkte einholen" -#: appGUI/ObjectUI.py:2162 +#: appGUI/ObjectUI.py:2219 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:160 #, fuzzy #| msgid "Contour" msgid "Controller" msgstr "Kontur" -#: appGUI/ObjectUI.py:2164 +#: appGUI/ObjectUI.py:2221 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:162 msgid "" "The kind of controller for which to generate\n" "height map gcode." msgstr "" -#: appGUI/ObjectUI.py:2210 appGUI/ObjectUI.py:2225 -#: appObjects/FlatCAMCNCJob.py:1293 appObjects/FlatCAMCNCJob.py:1315 +#: appGUI/ObjectUI.py:2267 appGUI/ObjectUI.py:2282 +#: appObjects/FlatCAMCNCJob.py:1302 appObjects/FlatCAMCNCJob.py:1324 #, fuzzy #| msgid "Contour" msgid "Control" msgstr "Kontur" -#: appGUI/ObjectUI.py:2220 appGUI/ObjectUI.py:2227 -#: appObjects/FlatCAMCNCJob.py:1295 appObjects/FlatCAMCNCJob.py:1317 +#: appGUI/ObjectUI.py:2277 appGUI/ObjectUI.py:2284 +#: appObjects/FlatCAMCNCJob.py:1304 appObjects/FlatCAMCNCJob.py:1326 #, fuzzy #| msgid "Rendered" msgid "Sender" msgstr "Gerendert" -#: appGUI/ObjectUI.py:2241 +#: appGUI/ObjectUI.py:2298 msgid "COM list" msgstr "" -#: appGUI/ObjectUI.py:2243 appGUI/ObjectUI.py:2258 +#: appGUI/ObjectUI.py:2300 appGUI/ObjectUI.py:2315 msgid "Lists the available serial ports." msgstr "" -#: appGUI/ObjectUI.py:2247 +#: appGUI/ObjectUI.py:2304 msgid "Search" msgstr "" -#: appGUI/ObjectUI.py:2249 +#: appGUI/ObjectUI.py:2306 msgid "Search for the available serial ports." msgstr "" -#: appGUI/ObjectUI.py:2256 +#: appGUI/ObjectUI.py:2313 msgid "Baud rates" msgstr "" -#: appGUI/ObjectUI.py:2275 +#: appGUI/ObjectUI.py:2332 msgid "New, custom baudrate." msgstr "" -#: appGUI/ObjectUI.py:2283 +#: appGUI/ObjectUI.py:2340 msgid "Add the specified custom baudrate to the list." msgstr "" -#: appGUI/ObjectUI.py:2289 +#: appGUI/ObjectUI.py:2346 #, fuzzy #| msgid "Delete Selected" msgid "Delete selected baudrate" msgstr "Ausgewählte löschen" -#: appGUI/ObjectUI.py:2293 +#: appGUI/ObjectUI.py:2350 msgid "Reset" msgstr "Zurücksetzen" -#: appGUI/ObjectUI.py:2295 +#: appGUI/ObjectUI.py:2352 msgid "Software reset of the controller." msgstr "" -#: appGUI/ObjectUI.py:2301 appObjects/FlatCAMCNCJob.py:1309 +#: appGUI/ObjectUI.py:2358 appObjects/FlatCAMCNCJob.py:1318 #, fuzzy #| msgid "Connect" msgid "Disconnected" msgstr "Verbinden" -#: appGUI/ObjectUI.py:2303 +#: appGUI/ObjectUI.py:2360 #, fuzzy #| msgid "" #| "Create a Gerber object from the selected object, within\n" @@ -8029,131 +8051,131 @@ msgstr "" "Erstellen Sie innerhalb des ausgewählten Objekts ein Gerber-Objekt\n" "das angegebene Feld." -#: appGUI/ObjectUI.py:2328 +#: appGUI/ObjectUI.py:2385 msgid "Jog" msgstr "" -#: appGUI/ObjectUI.py:2336 +#: appGUI/ObjectUI.py:2393 #, fuzzy #| msgid "Zeros" msgid "Zero Axes" msgstr "Nullen" -#: appGUI/ObjectUI.py:2369 +#: appGUI/ObjectUI.py:2426 msgid "Pause/Resume" msgstr "" -#: appGUI/ObjectUI.py:2391 +#: appGUI/ObjectUI.py:2448 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:172 msgid "Step" msgstr "" -#: appGUI/ObjectUI.py:2393 +#: appGUI/ObjectUI.py:2450 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:174 msgid "Each jog action will move the axes with this value." msgstr "" -#: appGUI/ObjectUI.py:2405 +#: appGUI/ObjectUI.py:2462 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:185 #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:89 -#: appObjects/FlatCAMObj.py:828 appTools/ToolProperties.py:529 +#: appObjects/FlatCAMObj.py:831 appTools/ToolProperties.py:529 msgid "Feedrate" msgstr "Vorschubgeschwindigkeit" -#: appGUI/ObjectUI.py:2407 +#: appGUI/ObjectUI.py:2464 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:187 msgid "Feedrate when jogging." msgstr "" -#: appGUI/ObjectUI.py:2427 +#: appGUI/ObjectUI.py:2484 msgid "Send Command" msgstr "" -#: appGUI/ObjectUI.py:2429 appGUI/ObjectUI.py:2439 +#: appGUI/ObjectUI.py:2486 appGUI/ObjectUI.py:2496 msgid "Send a custom command to GRBL." msgstr "" -#: appGUI/ObjectUI.py:2434 +#: appGUI/ObjectUI.py:2491 msgid "Type GRBL command ..." msgstr "" -#: appGUI/ObjectUI.py:2437 +#: appGUI/ObjectUI.py:2494 msgid "Send" msgstr "" -#: appGUI/ObjectUI.py:2445 +#: appGUI/ObjectUI.py:2502 #, fuzzy #| msgid "Text to PDF parameters" msgid "Get Config parameter" msgstr "Text zu PDF-Parametern" -#: appGUI/ObjectUI.py:2447 +#: appGUI/ObjectUI.py:2504 msgid "A GRBL configuration parameter." msgstr "" -#: appGUI/ObjectUI.py:2452 +#: appGUI/ObjectUI.py:2509 msgid "Type GRBL parameter ..." msgstr "" -#: appGUI/ObjectUI.py:2455 +#: appGUI/ObjectUI.py:2512 #, fuzzy #| msgid "Geo" msgid "Get" msgstr "Geo" -#: appGUI/ObjectUI.py:2457 +#: appGUI/ObjectUI.py:2514 msgid "Get the value of a specified GRBL parameter." msgstr "" -#: appGUI/ObjectUI.py:2465 +#: appGUI/ObjectUI.py:2522 #, fuzzy #| msgid "Gerber Export" msgid "Get Report" msgstr "Gerber Export" -#: appGUI/ObjectUI.py:2467 +#: appGUI/ObjectUI.py:2524 msgid "Print in shell the GRBL report." msgstr "" -#: appGUI/ObjectUI.py:2473 +#: appGUI/ObjectUI.py:2530 msgid "Apply AutoLevelling" msgstr "" -#: appGUI/ObjectUI.py:2475 +#: appGUI/ObjectUI.py:2532 msgid "" "Will send the probing GCode to the GRBL controller,\n" "wait for the Z probing data and then apply this data\n" "over the original GCode therefore doing autolevelling." msgstr "" -#: appGUI/ObjectUI.py:2484 +#: appGUI/ObjectUI.py:2541 msgid "Will save the GRBL height map." msgstr "" -#: appGUI/ObjectUI.py:2494 +#: appGUI/ObjectUI.py:2551 #, fuzzy #| msgid "Starting G-Code" msgid "Save Probing GCode" msgstr "G-Code starten" -#: appGUI/ObjectUI.py:2496 +#: appGUI/ObjectUI.py:2553 #, fuzzy #| msgid "Starting G-Code" msgid "Will save the probing GCode." msgstr "G-Code starten" -#: appGUI/ObjectUI.py:2505 +#: appGUI/ObjectUI.py:2562 msgid "View/Edit the probing GCode." msgstr "" -#: appGUI/ObjectUI.py:2512 appObjects/FlatCAMCNCJob.py:1726 -#: appObjects/FlatCAMCNCJob.py:1730 +#: appGUI/ObjectUI.py:2569 appObjects/FlatCAMCNCJob.py:1735 +#: appObjects/FlatCAMCNCJob.py:1739 #, fuzzy #| msgid "Import List" msgid "Import Height Map" msgstr "Liste importieren" -#: appGUI/ObjectUI.py:2514 +#: appGUI/ObjectUI.py:2571 msgid "" "Import the file that has the Z heights\n" "obtained through probing and then apply this data\n" @@ -8161,11 +8183,11 @@ msgid "" "doing autolevelling." msgstr "" -#: appGUI/ObjectUI.py:2532 +#: appGUI/ObjectUI.py:2589 msgid "Export CNC Code" msgstr "CNC-Code exportieren" -#: appGUI/ObjectUI.py:2534 +#: appGUI/ObjectUI.py:2591 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:37 #: appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:33 msgid "" @@ -8175,11 +8197,11 @@ msgstr "" "Exportieren und speichern Sie den G-Code nach\n" "Machen Sie dieses Objekt in eine Datei." -#: appGUI/ObjectUI.py:2543 +#: appGUI/ObjectUI.py:2600 msgid "Save CNC Code" msgstr "CNC-Code speichern" -#: appGUI/ObjectUI.py:2546 +#: appGUI/ObjectUI.py:2603 msgid "" "Opens dialog to save G-Code\n" "file." @@ -8187,86 +8209,86 @@ msgstr "" "Öffnet den Dialog zum Speichern des G-Codes\n" "Datei." -#: appGUI/ObjectUI.py:2553 +#: appGUI/ObjectUI.py:2610 #, fuzzy #| msgid "View CNC Code" msgid "Review CNC Code." msgstr "CNC-Code anzeigen" -#: appGUI/ObjectUI.py:2614 +#: appGUI/ObjectUI.py:2671 msgid "Script Object" msgstr "Skriptobjekt" -#: appGUI/ObjectUI.py:2634 appGUI/ObjectUI.py:2708 +#: appGUI/ObjectUI.py:2691 appGUI/ObjectUI.py:2765 msgid "Auto Completer" msgstr "Auto-Vervollständiger" -#: appGUI/ObjectUI.py:2636 +#: appGUI/ObjectUI.py:2693 msgid "This selects if the auto completer is enabled in the Script Editor." msgstr "" "Hiermit wird ausgewählt, ob der automatische Vervollständiger im Skript-" "Editor aktiviert ist." -#: appGUI/ObjectUI.py:2681 +#: appGUI/ObjectUI.py:2738 msgid "Document Object" msgstr "Dokumentobjekt" -#: appGUI/ObjectUI.py:2710 +#: appGUI/ObjectUI.py:2767 msgid "This selects if the auto completer is enabled in the Document Editor." msgstr "" "Hiermit wird ausgewählt, ob der automatische Vervollständiger im " "Dokumenteditor aktiviert ist." -#: appGUI/ObjectUI.py:2728 +#: appGUI/ObjectUI.py:2785 msgid "Font Type" msgstr "Schriftart" -#: appGUI/ObjectUI.py:2745 +#: appGUI/ObjectUI.py:2802 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:189 msgid "Font Size" msgstr "Schriftgröße" -#: appGUI/ObjectUI.py:2781 +#: appGUI/ObjectUI.py:2838 msgid "Alignment" msgstr "Ausrichtung" -#: appGUI/ObjectUI.py:2786 +#: appGUI/ObjectUI.py:2843 msgid "Align Left" msgstr "Linksbündig" -#: appGUI/ObjectUI.py:2791 app_Main.py:4993 +#: appGUI/ObjectUI.py:2848 app_Main.py:4993 msgid "Center" msgstr "Center" -#: appGUI/ObjectUI.py:2796 +#: appGUI/ObjectUI.py:2853 msgid "Align Right" msgstr "Rechts ausrichten" -#: appGUI/ObjectUI.py:2801 +#: appGUI/ObjectUI.py:2858 msgid "Justify" msgstr "Rechtfertigen" -#: appGUI/ObjectUI.py:2808 +#: appGUI/ObjectUI.py:2865 msgid "Font Color" msgstr "Schriftfarbe" -#: appGUI/ObjectUI.py:2810 +#: appGUI/ObjectUI.py:2867 msgid "Set the font color for the selected text" msgstr "Stellen Sie die Schriftfarbe für den ausgewählten Text ein" -#: appGUI/ObjectUI.py:2824 +#: appGUI/ObjectUI.py:2881 msgid "Selection Color" msgstr "Auswahlfarbe" -#: appGUI/ObjectUI.py:2826 +#: appGUI/ObjectUI.py:2883 msgid "Set the selection color when doing text selection." msgstr "Stellen Sie die Auswahlfarbe bei der Textauswahl ein." -#: appGUI/ObjectUI.py:2840 +#: appGUI/ObjectUI.py:2897 msgid "Tab Size" msgstr "Tab-Größe" -#: appGUI/ObjectUI.py:2842 +#: appGUI/ObjectUI.py:2899 msgid "Set the tab size. In pixels. Default value is 80 pixels." msgstr "" "Stellen Sie die Größe der Registerkarte ein. In Pixeln. Der Standardwert " @@ -8304,41 +8326,41 @@ msgstr "" "Aufgrund eines Unterschieds zwischen der Anzahl der Textelemente und der " "Anzahl der Textpositionen konnten keine Anmerkungen erstellt werden." -#: appGUI/preferences/PreferencesUIManager.py:905 +#: appGUI/preferences/PreferencesUIManager.py:906 msgid "Preferences applied." msgstr "Einstellungen werden angewendet." -#: appGUI/preferences/PreferencesUIManager.py:925 +#: appGUI/preferences/PreferencesUIManager.py:926 msgid "Are you sure you want to continue?" msgstr "Sind Sie sicher, dass Sie fortfahren wollen?" -#: appGUI/preferences/PreferencesUIManager.py:926 +#: appGUI/preferences/PreferencesUIManager.py:927 msgid "Application will restart" msgstr "Die Anwendung wird neu gestartet" -#: appGUI/preferences/PreferencesUIManager.py:1024 +#: appGUI/preferences/PreferencesUIManager.py:1025 msgid "Preferences closed without saving." msgstr "Einstellungen geschlossen ohne zu speichern." -#: appGUI/preferences/PreferencesUIManager.py:1036 +#: appGUI/preferences/PreferencesUIManager.py:1037 msgid "Preferences default values are restored." msgstr "Die Standardeinstellungen werden wiederhergestellt." -#: appGUI/preferences/PreferencesUIManager.py:1067 app_Main.py:2622 +#: appGUI/preferences/PreferencesUIManager.py:1068 app_Main.py:2622 #: app_Main.py:2690 msgid "Failed to write defaults to file." msgstr "Fehler beim Schreiben der Voreinstellungen in die Datei." -#: appGUI/preferences/PreferencesUIManager.py:1071 -#: appGUI/preferences/PreferencesUIManager.py:1185 +#: appGUI/preferences/PreferencesUIManager.py:1072 +#: appGUI/preferences/PreferencesUIManager.py:1186 msgid "Preferences saved." msgstr "Einstellungen gespeichert." -#: appGUI/preferences/PreferencesUIManager.py:1121 +#: appGUI/preferences/PreferencesUIManager.py:1122 msgid "Preferences edited but not saved." msgstr "Einstellungen bearbeitet, aber nicht gespeichert." -#: appGUI/preferences/PreferencesUIManager.py:1170 +#: appGUI/preferences/PreferencesUIManager.py:1171 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" @@ -8689,7 +8711,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:55 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:134 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:117 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:123 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:121 msgid "New Dia" msgstr "Neuer Durchmesser" @@ -9128,7 +9150,7 @@ msgstr "MetaHeuristic" #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:171 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:175 #: appObjects/FlatCAMExcellon.py:154 appObjects/FlatCAMGeometry.py:565 -#: appObjects/FlatCAMGerber.py:171 appTools/ToolDrilling.py:306 +#: appObjects/FlatCAMGerber.py:174 appTools/ToolDrilling.py:306 #: appTools/ToolIsolation.py:246 appTools/ToolMilling.py:294 msgid "Basic" msgstr "Basis" @@ -9354,7 +9376,7 @@ msgstr "" "und schließen Sie die Registerkarten Projekt, Ausgewählt und Werkzeug ein." #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:214 -#: appTools/ToolDblSided.py:673 appTools/ToolDblSided.py:847 +#: appTools/ToolDblSided.py:666 appTools/ToolDblSided.py:838 msgid "Axis" msgstr "Achse" @@ -9690,7 +9712,7 @@ msgstr "" #: appGUI/preferences/general/GeneralAppPrefGroupUI.py:105 #: appObjects/FlatCAMExcellon.py:163 appObjects/FlatCAMGeometry.py:586 -#: appObjects/FlatCAMGerber.py:179 appTools/ToolDrilling.py:310 +#: appObjects/FlatCAMGerber.py:182 appTools/ToolDrilling.py:310 #: appTools/ToolIsolation.py:273 appTools/ToolMilling.py:305 msgid "Advanced" msgstr "Erweitert" @@ -10330,7 +10352,7 @@ msgstr "" #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:75 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:41 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:41 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:48 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:46 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:42 msgid "Tools Dia" msgstr "Werkzeugdurchmesser" @@ -10339,7 +10361,7 @@ msgstr "Werkzeugdurchmesser" #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:108 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:43 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:43 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:50 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:48 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:44 msgid "" "Diameters of the tools, separated by comma.\n" @@ -10454,12 +10476,12 @@ msgid "\"Follow\"" msgstr "\"Folgen\"" #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:64 -#: appObjects/FlatCAMGerber.py:367 appTools/ToolCopperThieving.py:581 +#: appObjects/FlatCAMGerber.py:370 appTools/ToolCopperThieving.py:581 #: appTools/ToolCopperThieving.py:770 appTools/ToolCopperThieving.py:782 -#: appTools/ToolIsolation.py:1353 appTools/ToolNCC.py:1744 -#: appTools/ToolNCC.py:1771 appTools/ToolNCC.py:1879 appTools/ToolNCC.py:1892 -#: appTools/ToolNCC.py:2738 appTools/ToolNCC.py:2843 appTools/ToolNCC.py:2858 -#: appTools/ToolNCC.py:3124 appTools/ToolNCC.py:3225 appTools/ToolNCC.py:3240 +#: appTools/ToolIsolation.py:1353 appTools/ToolNCC.py:1791 +#: appTools/ToolNCC.py:1818 appTools/ToolNCC.py:1926 appTools/ToolNCC.py:1939 +#: appTools/ToolNCC.py:2785 appTools/ToolNCC.py:2890 appTools/ToolNCC.py:2905 +#: appTools/ToolNCC.py:3171 appTools/ToolNCC.py:3272 appTools/ToolNCC.py:3287 #: camlib.py:1113 msgid "Buffering" msgstr "Pufferung" @@ -10481,9 +10503,9 @@ msgstr "" #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:71 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:88 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:196 -#: appObjects/FlatCAMObj.py:752 appObjects/FlatCAMObj.py:755 -#: appObjects/FlatCAMObj.py:758 appObjects/FlatCAMObj.py:786 -#: appObjects/FlatCAMObj.py:793 appObjects/FlatCAMObj.py:796 +#: appObjects/FlatCAMObj.py:755 appObjects/FlatCAMObj.py:758 +#: appObjects/FlatCAMObj.py:761 appObjects/FlatCAMObj.py:789 +#: appObjects/FlatCAMObj.py:796 appObjects/FlatCAMObj.py:799 #: appTools/ToolFiducials.py:815 appTools/ToolFilm.py:1102 #: appTools/ToolProperties.py:453 appTools/ToolProperties.py:456 #: appTools/ToolProperties.py:459 appTools/ToolProperties.py:487 @@ -10793,9 +10815,9 @@ msgstr "" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:86 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:309 -#: appTools/ToolCopperThieving.py:1218 appTools/ToolNCC.py:1302 -#: appTools/ToolNCC.py:1618 appTools/ToolNCC.py:1682 appTools/ToolNCC.py:2602 -#: appTools/ToolNCC.py:2611 appTools/ToolNCC.py:4193 appTools/ToolNCC.py:4319 +#: appTools/ToolCopperThieving.py:1218 appTools/ToolNCC.py:1349 +#: appTools/ToolNCC.py:1665 appTools/ToolNCC.py:1729 appTools/ToolNCC.py:2649 +#: appTools/ToolNCC.py:2658 appTools/ToolNCC.py:4240 appTools/ToolNCC.py:4376 #: defaults.py:475 tclCommands/TclCommandCopperClear.py:190 msgid "Itself" msgstr "Selbst" @@ -10803,11 +10825,11 @@ msgstr "Selbst" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:87 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:295 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:309 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:278 #: appTools/ToolCopperThieving.py:1219 appTools/ToolIsolation.py:819 #: appTools/ToolIsolation.py:1435 appTools/ToolIsolation.py:3378 -#: appTools/ToolNCC.py:1316 appTools/ToolNCC.py:1634 appTools/ToolNCC.py:1689 -#: appTools/ToolNCC.py:4193 appTools/ToolNCC.py:4329 appTools/ToolPaint.py:1061 +#: appTools/ToolNCC.py:1363 appTools/ToolNCC.py:1681 appTools/ToolNCC.py:1736 +#: appTools/ToolNCC.py:4240 appTools/ToolNCC.py:4386 appTools/ToolPaint.py:1061 #: appTools/ToolPaint.py:3127 appTools/ToolPaint.py:3249 msgid "Area Selection" msgstr "Bereichsauswahl" @@ -10815,12 +10837,12 @@ msgstr "Bereichsauswahl" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:88 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:295 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:309 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 -#: appTools/ToolCopperThieving.py:1220 appTools/ToolDblSided.py:764 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:278 +#: appTools/ToolCopperThieving.py:1220 appTools/ToolDblSided.py:757 #: appTools/ToolIsolation.py:1475 appTools/ToolIsolation.py:3378 -#: appTools/ToolNCC.py:1335 appTools/ToolNCC.py:1640 appTools/ToolNCC.py:1697 -#: appTools/ToolNCC.py:2075 appTools/ToolNCC.py:2309 appTools/ToolNCC.py:2647 -#: appTools/ToolNCC.py:4193 appTools/ToolPaint.py:1080 +#: appTools/ToolNCC.py:1382 appTools/ToolNCC.py:1687 appTools/ToolNCC.py:1744 +#: appTools/ToolNCC.py:2122 appTools/ToolNCC.py:2356 appTools/ToolNCC.py:2694 +#: appTools/ToolNCC.py:4240 appTools/ToolPaint.py:1080 #: appTools/ToolPaint.py:3127 appTools/ToolPaint.py:3232 #: tclCommands/TclCommandCopperClear.py:192 tclCommands/TclCommandPaint.py:166 msgid "Reference Object" @@ -11869,7 +11891,7 @@ msgid "Drill dia" msgstr "Bohrdurchmesser" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:49 -#: appTools/ToolDblSided.py:833 appTools/ToolDblSided.py:838 +#: appTools/ToolDblSided.py:824 appTools/ToolDblSided.py:829 msgid "Diameter of the drill for the alignment holes." msgstr "Durchmesser des Bohrers für die Ausrichtungslöcher." @@ -11879,7 +11901,7 @@ msgstr "Achse ausrichten" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:58 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:71 -#: appTools/ToolDblSided.py:674 appTools/ToolDblSided.py:849 +#: appTools/ToolDblSided.py:667 appTools/ToolDblSided.py:840 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "Vertikal spiegeln (X) oder horizontal (Y)." @@ -11888,12 +11910,12 @@ msgid "Mirror Axis:" msgstr "Spiegelachse:" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:86 -#: appTools/ToolDblSided.py:700 +#: appTools/ToolDblSided.py:693 msgid "Box" msgstr "Box" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:87 -#: appTools/ToolDblSided.py:701 +#: appTools/ToolDblSided.py:694 #, fuzzy #| msgid "Hole Size" msgid "Hole Snap" @@ -12164,9 +12186,9 @@ msgstr "Erstellen Sie Geometrie zum Fräsen von Löchern." #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:41 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:54 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:156 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:142 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:140 #: appTools/ToolDrilling.py:2082 appTools/ToolIsolation.py:3058 -#: appTools/ToolMilling.py:1687 appTools/ToolNCC.py:3820 +#: appTools/ToolMilling.py:1687 appTools/ToolNCC.py:3867 #: appTools/ToolPaint.py:2843 msgid "Tool order" msgstr "Werkzeugbestellung" @@ -12175,10 +12197,10 @@ msgstr "Werkzeugbestellung" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:55 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:157 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:167 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:143 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:141 #: appTools/ToolDrilling.py:2083 appTools/ToolIsolation.py:3059 -#: appTools/ToolMilling.py:1688 appTools/ToolNCC.py:3821 -#: appTools/ToolNCC.py:3831 appTools/ToolPaint.py:2844 +#: appTools/ToolMilling.py:1688 appTools/ToolNCC.py:3868 +#: appTools/ToolNCC.py:3878 appTools/ToolPaint.py:2844 #: appTools/ToolPaint.py:2854 msgid "" "This set the way that the tools in the tools table are used.\n" @@ -12204,9 +12226,9 @@ msgstr "" #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:50 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:63 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:165 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:151 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:149 #: appTools/ToolDrilling.py:2091 appTools/ToolIsolation.py:3067 -#: appTools/ToolMilling.py:1696 appTools/ToolNCC.py:3829 +#: appTools/ToolMilling.py:1696 appTools/ToolNCC.py:3876 #: appTools/ToolPaint.py:2852 msgid "Forward" msgstr "Vorwärts" @@ -12214,9 +12236,9 @@ msgstr "Vorwärts" #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:51 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:64 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:166 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:152 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:150 #: appTools/ToolDrilling.py:2092 appTools/ToolIsolation.py:3068 -#: appTools/ToolMilling.py:1697 appTools/ToolNCC.py:3830 +#: appTools/ToolMilling.py:1697 appTools/ToolNCC.py:3877 #: appTools/ToolPaint.py:2853 msgid "Reverse" msgstr "Rückwärts" @@ -12516,7 +12538,7 @@ msgstr "Optionen für das Isolationswerkzeug" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:48 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:49 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:57 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:55 msgid "Comma separated values" msgstr "Komma-getrennte Werte" @@ -12524,7 +12546,7 @@ msgstr "Komma-getrennte Werte" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:80 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:55 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:63 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:64 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:62 msgid "" "Default tool type:\n" "- 'V-shape'\n" @@ -12536,7 +12558,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:77 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:60 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:69 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 msgid "V-shape" msgstr "V-Form" @@ -12561,7 +12583,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:136 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:119 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:125 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:123 #: appTools/ToolPaint.py:2884 msgid "" "Diameter for the new tool to add in the Tool Table.\n" @@ -12574,9 +12596,9 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:243 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:288 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:244 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:245 -#: appTools/ToolIsolation.py:3286 appTools/ToolNCC.py:4115 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:242 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:243 +#: appTools/ToolIsolation.py:3286 appTools/ToolNCC.py:4162 #: appTools/ToolPaint.py:3069 msgid "Rest" msgstr "Rest" @@ -12627,12 +12649,14 @@ msgstr "" "wird von der Isolationsgeometrie abgezogen." #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:275 -#: appTools/ToolIsolation.py:3320 +#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:350 +#: appTools/ToolIsolation.py:3320 appTools/ToolNCC.py:4298 msgid "Check validity" msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:277 -#: appTools/ToolIsolation.py:3322 +#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:352 +#: appTools/ToolIsolation.py:3322 appTools/ToolNCC.py:4300 msgid "" "If checked then the tools diameters are verified\n" "if they will provide a complete isolation." @@ -12655,7 +12679,7 @@ msgstr "" "Bereich." #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:295 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:278 #: appTools/ToolIsolation.py:831 appTools/ToolIsolation.py:1454 #: appTools/ToolIsolation.py:3378 appTools/ToolPaint.py:1038 #: appTools/ToolPaint.py:3127 appTools/ToolPaint.py:3243 @@ -12698,20 +12722,20 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:337 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:339 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:303 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:301 msgid "Normal" msgstr "NormalFormat" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:338 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:340 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:304 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:302 msgid "Progressive" msgstr "Progressiv" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:339 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:341 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:305 -#: appObjects/AppObject.py:439 appObjects/FlatCAMObj.py:266 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:303 +#: appObjects/AppObject.py:453 appObjects/FlatCAMObj.py:266 #: appObjects/FlatCAMObj.py:297 appObjects/FlatCAMObj.py:313 #: appObjects/FlatCAMObj.py:393 appTools/ToolCopperThieving.py:1038 #: appTools/ToolCorners.py:263 appTools/ToolFiducials.py:530 @@ -12721,7 +12745,7 @@ msgstr "Plotten" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:341 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:343 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:307 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:305 msgid "" "- 'Normal' - normal plotting, done at the end of the job\n" "- 'Progressive' - each shape is plotted after it is generated" @@ -12758,7 +12782,7 @@ msgstr "" "zu den Kupferflächen enden.\n" "Der Wert kann zwischen 0 und 10 FlatCAM-Einheiten liegen." -#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:290 appTools/ToolNCC.py:4119 +#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:290 appTools/ToolNCC.py:4166 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -12776,7 +12800,7 @@ msgstr "" "kein kupfer mehr zum löschen oder es gibt keine werkzeuge mehr.\n" "Wenn nicht aktiviert, verwenden Sie den Standardalgorithmus." -#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:313 appTools/ToolNCC.py:4199 +#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:313 appTools/ToolNCC.py:4246 msgid "" "Selection of area to be processed.\n" "- 'Itself' - the processing extent is based on the object that is " @@ -12801,8 +12825,8 @@ msgstr "Paint werkzeug-Optionen" msgid "Parameters:" msgstr "Parameter:" -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:107 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:116 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:105 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:114 msgid "" "Depth of cut into material. Negative value.\n" "In application units." @@ -12810,7 +12834,7 @@ msgstr "" "Schnitttiefe in Material. Negativer Wert.\n" "In Anwendungseinheiten." -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:247 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:245 #: appTools/ToolPaint.py:3072 msgid "" "If checked, use 'rest machining'.\n" @@ -12831,7 +12855,7 @@ msgstr "" "\n" "Wenn nicht aktiviert, verwenden Sie den Standardalgorithmus." -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:260 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:258 #: appTools/ToolPaint.py:3099 msgid "" "Selection of area to be processed.\n" @@ -12914,16 +12938,16 @@ msgstr "Anzahl der Zeilen des gewünschten Panels" #: appTools/ToolCalibration.py:891 appTools/ToolCalibration.py:1326 #: appTools/ToolCalibration.py:1343 appTools/ToolCopperThieving.py:163 #: appTools/ToolCopperThieving.py:1237 appTools/ToolCopperThieving.py:1251 -#: appTools/ToolCutOut.py:2009 appTools/ToolDblSided.py:528 -#: appTools/ToolDblSided.py:772 appTools/ToolFilm.py:928 +#: appTools/ToolCutOut.py:2009 appTools/ToolDblSided.py:525 +#: appTools/ToolDblSided.py:765 appTools/ToolFilm.py:928 #: appTools/ToolFilm.py:951 appTools/ToolImage.py:117 appTools/ToolImage.py:138 #: appTools/ToolImage.py:191 appTools/ToolIsolation.py:802 #: appTools/ToolIsolation.py:3339 appTools/ToolIsolation.py:3391 -#: appTools/ToolNCC.py:793 appTools/ToolNCC.py:3742 appTools/ToolNCC.py:4216 +#: appTools/ToolNCC.py:803 appTools/ToolNCC.py:3789 appTools/ToolNCC.py:4263 #: appTools/ToolPaint.py:167 appTools/ToolPaint.py:3143 #: appTools/ToolPanelize.py:147 appTools/ToolPanelize.py:167 #: appTools/ToolPanelize.py:715 appTools/ToolPanelize.py:809 -#: appTools/ToolTransform.py:126 appTools/ToolTransform.py:585 defaults.py:566 +#: appTools/ToolTransform.py:126 appTools/ToolTransform.py:585 defaults.py:567 msgid "Gerber" msgstr "Gerber" @@ -13400,7 +13424,7 @@ msgstr "GCode-Dateizuordnungen" msgid "Gerber File associations" msgstr "Gerber Dateizuordnungen" -#: appObjects/AppObject.py:157 +#: appObjects/AppObject.py:165 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" @@ -13409,32 +13433,32 @@ msgstr "" "Objekt ({kind}) gescheitert weil: {error} \n" "\n" -#: appObjects/AppObject.py:176 +#: appObjects/AppObject.py:184 msgid "Converting units to " msgstr "Einheiten umrechnen in " -#: appObjects/AppObject.py:248 appObjects/FlatCAMGeometry.py:128 +#: appObjects/AppObject.py:259 appObjects/FlatCAMGeometry.py:128 #: appObjects/FlatCAMGeometry.py:519 appObjects/FlatCAMGeometry.py:1053 -#: appObjects/FlatCAMGerber.py:539 appObjects/FlatCAMGerber.py:682 +#: appObjects/FlatCAMGerber.py:542 appObjects/FlatCAMGerber.py:685 #: appTools/ToolCutOut.py:448 appTools/ToolIsolation.py:1623 #: appTools/ToolIsolation.py:1785 appTools/ToolIsolation.py:1978 camlib.py:1231 #: camlib.py:1292 msgid "Rough" msgstr "Rau" -#: appObjects/AppObject.py:302 +#: appObjects/AppObject.py:313 msgid "CREATE A NEW FLATCAM TCL SCRIPT" msgstr "NEUES FLATCAL TCL SCRIPT ERZEUGEN" -#: appObjects/AppObject.py:303 +#: appObjects/AppObject.py:314 msgid "TCL Tutorial is here" msgstr "Das TCL Tutorial ist hier" -#: appObjects/AppObject.py:305 +#: appObjects/AppObject.py:316 msgid "FlatCAM commands list" msgstr "FlatCAM Befehlsliste" -#: appObjects/AppObject.py:306 +#: appObjects/AppObject.py:317 msgid "" "Type >help< followed by Run Code for a list of FlatCAM Tcl Commands " "(displayed in Tcl Shell)." @@ -13442,33 +13466,39 @@ msgstr "" "Geben Sie >help< gefolgt von Run Code ein, um eine Liste der FlatCAM Tcl-" "Befehle anzuzeigen (angezeigt in der Tcl-Shell)." -#: appObjects/AppObject.py:357 appObjects/AppObject.py:363 -#: appObjects/AppObject.py:369 appObjects/AppObject.py:375 -#: appObjects/AppObject.py:381 appObjects/AppObject.py:387 +#: appObjects/AppObject.py:371 appObjects/AppObject.py:377 +#: appObjects/AppObject.py:383 appObjects/AppObject.py:389 +#: appObjects/AppObject.py:395 appObjects/AppObject.py:401 msgid "created/selected" msgstr "erstellt / ausgewählt" -#: appObjects/FlatCAMCNCJob.py:636 appObjects/FlatCAMDocument.py:71 +#: appObjects/FlatCAMCNCJob.py:637 appObjects/FlatCAMDocument.py:71 #: appObjects/FlatCAMScript.py:82 msgid "Basic" msgstr "Basic" -#: appObjects/FlatCAMCNCJob.py:643 appObjects/FlatCAMDocument.py:75 +#: appObjects/FlatCAMCNCJob.py:644 appObjects/FlatCAMDocument.py:75 #: appObjects/FlatCAMScript.py:86 msgid "Advanced" msgstr "Erweitert" -#: appObjects/FlatCAMCNCJob.py:803 +#: appObjects/FlatCAMCNCJob.py:780 appObjects/FlatCAMCNCJob.py:1058 +msgid "" +"Voronoi function can not be loaded.\n" +"Shapely >= 1.8 is required" +msgstr "" + +#: appObjects/FlatCAMCNCJob.py:808 #, fuzzy #| msgid "Click on Start point ..." msgid "Click on canvas to add a Probe Point..." msgstr "Klicken Sie auf Startpunkt ..." -#: appObjects/FlatCAMCNCJob.py:999 +#: appObjects/FlatCAMCNCJob.py:1004 msgid "Point is not within the object area. Choose another point." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1019 +#: appObjects/FlatCAMCNCJob.py:1024 #, fuzzy #| msgid "" #| "Zone added. Click to start adding next zone or right click to finish." @@ -13479,139 +13509,139 @@ msgstr "" "Zone hinzugefügt. Klicken Sie, um die nächste Zone hinzuzufügen, oder " "klicken Sie mit der rechten Maustaste, um den Vorgang abzuschließen." -#: appObjects/FlatCAMCNCJob.py:1041 +#: appObjects/FlatCAMCNCJob.py:1046 #, fuzzy #| msgid "Finished G-Code processing..." msgid "Finished adding Probe Points..." msgstr "Fertige G-Code Verarbeitung ..." -#: appObjects/FlatCAMCNCJob.py:1251 +#: appObjects/FlatCAMCNCJob.py:1260 #, fuzzy #| msgid "Click to place ..." msgid "COM list updated ..." msgstr "Klicken um zu platzieren ..." -#: appObjects/FlatCAMCNCJob.py:1287 +#: appObjects/FlatCAMCNCJob.py:1296 #, fuzzy #| msgid "Connect" msgid "Connected" msgstr "Verbinden" -#: appObjects/FlatCAMCNCJob.py:1298 +#: appObjects/FlatCAMCNCJob.py:1307 msgid "Port connected" msgstr "" -#: appObjects/FlatCAMCNCJob.py:1302 +#: appObjects/FlatCAMCNCJob.py:1311 msgid "Could not connect to GRBL on port" msgstr "" -#: appObjects/FlatCAMCNCJob.py:1319 +#: appObjects/FlatCAMCNCJob.py:1328 msgid "Port is connected. Disconnecting" msgstr "" -#: appObjects/FlatCAMCNCJob.py:1321 +#: appObjects/FlatCAMCNCJob.py:1330 #, fuzzy #| msgid "Could not retrieve box object" msgid "Could not connect to port" msgstr "Box-Objekt konnte nicht abgerufen werden" -#: appObjects/FlatCAMCNCJob.py:1351 appObjects/FlatCAMCNCJob.py:1781 +#: appObjects/FlatCAMCNCJob.py:1360 appObjects/FlatCAMCNCJob.py:1790 #, fuzzy #| msgid "Opening G-Code." msgid "Sending GCode..." msgstr "G-Code öffnen." -#: appObjects/FlatCAMCNCJob.py:1480 +#: appObjects/FlatCAMCNCJob.py:1489 msgid "GRBL is doing a home cycle." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1486 +#: appObjects/FlatCAMCNCJob.py:1495 msgid "GRBL software reset was sent." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1494 +#: appObjects/FlatCAMCNCJob.py:1503 msgid "GRBL resumed." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1498 +#: appObjects/FlatCAMCNCJob.py:1507 msgid "GRBL paused." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1640 appObjects/FlatCAMCNCJob.py:1830 -#: appObjects/FlatCAMCNCJob.py:1915 appTools/ToolSolderPaste.py:1066 +#: appObjects/FlatCAMCNCJob.py:1649 appObjects/FlatCAMCNCJob.py:1839 +#: appObjects/FlatCAMCNCJob.py:1924 appTools/ToolSolderPaste.py:1066 msgid "Export cancelled ..." msgstr "Export abgebrochen ..." -#: appObjects/FlatCAMCNCJob.py:1664 appObjects/FlatCAMCNCJob.py:1951 +#: appObjects/FlatCAMCNCJob.py:1673 appObjects/FlatCAMCNCJob.py:1960 #: appObjects/FlatCAMScript.py:134 app_Main.py:7824 msgid "Loading..." msgstr "Wird geladen..." -#: appObjects/FlatCAMCNCJob.py:1668 +#: appObjects/FlatCAMCNCJob.py:1677 #, fuzzy #| msgid "There is no such parameter" msgid "There is nothing to view" msgstr "Es gibt keinen solchen Parameter" -#: appObjects/FlatCAMCNCJob.py:1674 +#: appObjects/FlatCAMCNCJob.py:1683 #, fuzzy #| msgid "Gcode Viewer" msgid "Code Viewer" msgstr "GCode Anzeige" -#: appObjects/FlatCAMCNCJob.py:1712 +#: appObjects/FlatCAMCNCJob.py:1721 #, fuzzy #| msgid "Loaded Machine Code into Code Editor" msgid "Loaded Machine Code into Code Viewer" msgstr "Maschinencode in den Code-Editor geladen" -#: appObjects/FlatCAMCNCJob.py:1757 +#: appObjects/FlatCAMCNCJob.py:1766 #, fuzzy #| msgid "Failed to open config file" msgid "Failed to open height map file" msgstr "Fehler beim Öffnen der Konfigurationsdatei" -#: appObjects/FlatCAMCNCJob.py:1807 +#: appObjects/FlatCAMCNCJob.py:1816 msgid "Finished probing. Doing the autolevelling." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1812 +#: appObjects/FlatCAMCNCJob.py:1821 msgid "Sending probing GCode to the GRBL controller." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1853 +#: appObjects/FlatCAMCNCJob.py:1862 msgid "Empty GRBL heightmap." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1857 +#: appObjects/FlatCAMCNCJob.py:1866 #, fuzzy #| msgid "Finished G-Code processing..." msgid "Finished autolevelling." msgstr "Fertige G-Code Verarbeitung ..." -#: appObjects/FlatCAMCNCJob.py:1871 +#: appObjects/FlatCAMCNCJob.py:1880 msgid "Plotting..." msgstr "Zeichnung..." -#: appObjects/FlatCAMCNCJob.py:1941 +#: appObjects/FlatCAMCNCJob.py:1950 msgid "File saved to" msgstr "Datei gespeichert in" -#: appObjects/FlatCAMCNCJob.py:1965 +#: appObjects/FlatCAMCNCJob.py:1974 #, fuzzy #| msgid "Gcode Viewer" msgid "Code Review" msgstr "GCode Anzeige" -#: appObjects/FlatCAMCNCJob.py:2148 +#: appObjects/FlatCAMCNCJob.py:2157 msgid "This CNCJob object can't be processed because it is a" msgstr "Dieses CNCJob-Objekt kann nicht verarbeitet werden, da es sich um ein" -#: appObjects/FlatCAMCNCJob.py:2150 +#: appObjects/FlatCAMCNCJob.py:2159 msgid "CNCJob object" msgstr "CNCJob-Objekt" -#: appObjects/FlatCAMCNCJob.py:2260 +#: appObjects/FlatCAMCNCJob.py:2269 msgid "" "G-code does not have a G94 code.\n" "Append Code snippet will not be used.." @@ -13621,7 +13651,7 @@ msgstr "" msgid "Document Editor" msgstr "Dokumenteditor" -#: appObjects/FlatCAMExcellon.py:872 appObjects/FlatCAMExcellon.py:980 +#: appObjects/FlatCAMExcellon.py:874 appObjects/FlatCAMExcellon.py:982 #: appTools/ToolDrilling.py:1612 appTools/ToolMilling.py:1038 #: appTools/ToolMilling.py:1154 appTools/ToolMilling.py:1340 msgid "Please select one or more tools from the list and try again." @@ -13629,32 +13659,32 @@ msgstr "" "Bitte wählen Sie ein oder mehrere Werkzeuge aus der Liste aus und versuchen " "Sie es erneut." -#: appObjects/FlatCAMExcellon.py:877 appTools/ToolMilling.py:1045 +#: appObjects/FlatCAMExcellon.py:879 appTools/ToolMilling.py:1045 msgid "Milling tool for DRILLS is larger than hole size. Cancelled." msgstr "Das Fräswerkzeug für BOHRER ist größer als die Lochgröße. Abgebrochen." -#: appObjects/FlatCAMExcellon.py:900 appObjects/FlatCAMExcellon.py:1000 +#: appObjects/FlatCAMExcellon.py:902 appObjects/FlatCAMExcellon.py:1002 #: appTools/ToolDrilling.py:1762 appTools/ToolDrilling.py:1827 #: appTools/ToolMilling.py:1071 appTools/ToolMilling.py:1175 #: appTools/ToolMilling.py:1360 tclCommands/TclCommandDrillcncjob.py:195 msgid "Tool_nr" msgstr "Werkzeugnummer" -#: appObjects/FlatCAMExcellon.py:900 appObjects/FlatCAMExcellon.py:1000 +#: appObjects/FlatCAMExcellon.py:902 appObjects/FlatCAMExcellon.py:1002 #: appTools/ToolDrilling.py:1762 appTools/ToolDrilling.py:1827 #: appTools/ToolMilling.py:1071 appTools/ToolMilling.py:1175 #: appTools/ToolMilling.py:1360 tclCommands/TclCommandDrillcncjob.py:195 msgid "Drills_Nr" msgstr "Bohrnummer" -#: appObjects/FlatCAMExcellon.py:900 appObjects/FlatCAMExcellon.py:1000 +#: appObjects/FlatCAMExcellon.py:902 appObjects/FlatCAMExcellon.py:1002 #: appTools/ToolDrilling.py:1762 appTools/ToolDrilling.py:1827 #: appTools/ToolMilling.py:1071 appTools/ToolMilling.py:1175 #: appTools/ToolMilling.py:1360 tclCommands/TclCommandDrillcncjob.py:195 msgid "Slots_Nr" msgstr "Schlitznummer" -#: appObjects/FlatCAMExcellon.py:989 appTools/ToolMilling.py:1163 +#: appObjects/FlatCAMExcellon.py:991 appTools/ToolMilling.py:1163 msgid "Milling tool for SLOTS is larger than hole size. Cancelled." msgstr "" "Das Fräswerkzeug für SCHLITZ ist größer als die Lochgröße. Abgebrochen." @@ -13674,7 +13704,7 @@ msgstr "Oberfläche" #: appTools/ToolIsolation.py:531 appTools/ToolIsolation.py:644 #: appTools/ToolIsolation.py:710 appTools/ToolMilling.py:628 #: appTools/ToolMilling.py:749 appTools/ToolMilling.py:794 -#: appTools/ToolNCC.py:271 appTools/ToolNCC.py:337 appTools/ToolNCC.py:701 +#: appTools/ToolNCC.py:276 appTools/ToolNCC.py:342 appTools/ToolNCC.py:711 #: appTools/ToolPaint.py:252 appTools/ToolPaint.py:316 #: appTools/ToolPaint.py:655 msgid "Multiple Tools" @@ -13688,7 +13718,7 @@ msgstr "Werkzeug aus Werkzeugdatenbank hinzufügen" #: appTools/ToolDrilling.py:754 appTools/ToolDrilling.py:983 #: appTools/ToolDrilling.py:1021 appTools/ToolIsolation.py:639 #: appTools/ToolIsolation.py:674 appTools/ToolMilling.py:744 -#: appTools/ToolMilling.py:779 appTools/ToolNCC.py:266 appTools/ToolNCC.py:301 +#: appTools/ToolMilling.py:779 appTools/ToolNCC.py:271 appTools/ToolNCC.py:306 #: appTools/ToolPaint.py:247 appTools/ToolPaint.py:282 app_Main.py:2188 msgid "No Tool Selected" msgstr "Kein Werkzeug ausgewählt" @@ -13844,31 +13874,31 @@ msgstr "Löschen fehlgeschlagen. Es sind keine Ausschlussbereiche zu löschen." msgid "Delete failed. Nothing is selected." msgstr "Löschen fehlgeschlagen. Es ist nichts ausgewählt." -#: appObjects/FlatCAMGerber.py:364 appTools/ToolIsolation.py:1337 +#: appObjects/FlatCAMGerber.py:367 appTools/ToolIsolation.py:1337 msgid "Buffering solid geometry" msgstr "Festkörpergeometrie puffern" -#: appObjects/FlatCAMGerber.py:371 appTools/ToolIsolation.py:1359 +#: appObjects/FlatCAMGerber.py:374 appTools/ToolIsolation.py:1359 msgid "Done" msgstr "Fertig" -#: appObjects/FlatCAMGerber.py:397 appObjects/FlatCAMGerber.py:423 +#: appObjects/FlatCAMGerber.py:400 appObjects/FlatCAMGerber.py:426 msgid "Operation could not be done." msgstr "Operation konnte nicht durchgeführt werden." -#: appObjects/FlatCAMGerber.py:555 appObjects/FlatCAMGerber.py:629 +#: appObjects/FlatCAMGerber.py:558 appObjects/FlatCAMGerber.py:632 #: appTools/ToolIsolation.py:1583 appTools/ToolIsolation.py:1951 -#: appTools/ToolNCC.py:1807 appTools/ToolNCC.py:2772 appTools/ToolNCC.py:3151 +#: appTools/ToolNCC.py:1854 appTools/ToolNCC.py:2819 appTools/ToolNCC.py:3198 msgid "Isolation geometry could not be generated." msgstr "Isolationsgeometrie konnte nicht generiert werden." -#: appObjects/FlatCAMGerber.py:580 appObjects/FlatCAMGerber.py:707 +#: appObjects/FlatCAMGerber.py:583 appObjects/FlatCAMGerber.py:710 #: appTools/ToolIsolation.py:1650 appTools/ToolIsolation.py:1846 #: appTools/ToolIsolation.py:2035 msgid "Isolation geometry created" msgstr "Isolationsgeometrie erstellt" -#: appObjects/FlatCAMGerber.py:989 +#: appObjects/FlatCAMGerber.py:992 msgid "Plotting Apertures" msgstr "Plotten Apertures" @@ -13908,82 +13938,82 @@ msgstr "Dimensionen" msgid "Calculating dimensions ... Please wait." msgstr "Bemaßung wird berechnet ... Bitte warten." -#: appObjects/FlatCAMObj.py:721 appObjects/FlatCAMObj.py:789 +#: appObjects/FlatCAMObj.py:724 appObjects/FlatCAMObj.py:792 #: appTools/ToolProperties.py:422 appTools/ToolProperties.py:490 msgid "Drills number" msgstr "Bohrernummer" -#: appObjects/FlatCAMObj.py:722 appObjects/FlatCAMObj.py:791 +#: appObjects/FlatCAMObj.py:725 appObjects/FlatCAMObj.py:794 #: appTools/ToolProperties.py:423 appTools/ToolProperties.py:492 msgid "Slots number" msgstr "Slotnummer" -#: appObjects/FlatCAMObj.py:724 appTools/ToolProperties.py:425 +#: appObjects/FlatCAMObj.py:727 appTools/ToolProperties.py:425 msgid "Drills total number:" msgstr "Gesamtzahl Bohrer:" -#: appObjects/FlatCAMObj.py:725 appTools/ToolProperties.py:426 +#: appObjects/FlatCAMObj.py:728 appTools/ToolProperties.py:426 msgid "Slots total number:" msgstr "Gesamtzahl der slots:" -#: appObjects/FlatCAMObj.py:752 appObjects/FlatCAMObj.py:755 -#: appObjects/FlatCAMObj.py:758 appObjects/FlatCAMObj.py:786 -#: appObjects/FlatCAMObj.py:793 appObjects/FlatCAMObj.py:796 +#: appObjects/FlatCAMObj.py:755 appObjects/FlatCAMObj.py:758 +#: appObjects/FlatCAMObj.py:761 appObjects/FlatCAMObj.py:789 +#: appObjects/FlatCAMObj.py:796 appObjects/FlatCAMObj.py:799 #: appTools/ToolProperties.py:453 appTools/ToolProperties.py:456 #: appTools/ToolProperties.py:459 appTools/ToolProperties.py:487 #: appTools/ToolProperties.py:494 appTools/ToolProperties.py:497 msgid "Present" msgstr "Vorhanden" -#: appObjects/FlatCAMObj.py:753 appObjects/FlatCAMObj.py:787 +#: appObjects/FlatCAMObj.py:756 appObjects/FlatCAMObj.py:790 #: appTools/ToolProperties.py:454 appTools/ToolProperties.py:488 msgid "Solid Geometry" msgstr "Festkörpergeometrie" -#: appObjects/FlatCAMObj.py:756 appObjects/FlatCAMObj.py:794 +#: appObjects/FlatCAMObj.py:759 appObjects/FlatCAMObj.py:797 #: appTools/ToolProperties.py:457 appTools/ToolProperties.py:495 msgid "GCode Text" msgstr "GCode Text" -#: appObjects/FlatCAMObj.py:759 appObjects/FlatCAMObj.py:797 +#: appObjects/FlatCAMObj.py:762 appObjects/FlatCAMObj.py:800 #: appTools/ToolProperties.py:460 appTools/ToolProperties.py:498 msgid "GCode Geometry" msgstr "GCode Geometrie" -#: appObjects/FlatCAMObj.py:767 appObjects/FlatCAMObj.py:840 +#: appObjects/FlatCAMObj.py:770 appObjects/FlatCAMObj.py:843 #: appTools/ToolProperties.py:468 appTools/ToolProperties.py:541 #, fuzzy #| msgid "Tool Dia" msgid "Tool Data" msgstr "Werkzeugdurchm" -#: appObjects/FlatCAMObj.py:804 appTools/ToolProperties.py:505 +#: appObjects/FlatCAMObj.py:807 appTools/ToolProperties.py:505 msgid "Depth of Cut" msgstr "Tiefe des Schnitts" -#: appObjects/FlatCAMObj.py:816 appTools/ToolProperties.py:517 +#: appObjects/FlatCAMObj.py:819 appTools/ToolProperties.py:517 msgid "Clearance Height" msgstr "Freilaufhöhe" -#: appObjects/FlatCAMObj.py:854 appTools/ToolProperties.py:555 +#: appObjects/FlatCAMObj.py:857 appTools/ToolProperties.py:555 msgid "Routing time" msgstr "Berechnungszeit" -#: appObjects/FlatCAMObj.py:879 appTools/ToolProperties.py:580 +#: appObjects/FlatCAMObj.py:882 appTools/ToolProperties.py:580 msgid "Width" msgstr "Breite" -#: appObjects/FlatCAMObj.py:885 appObjects/FlatCAMObj.py:893 +#: appObjects/FlatCAMObj.py:888 appObjects/FlatCAMObj.py:896 #: appTools/ToolProperties.py:586 appTools/ToolProperties.py:594 msgid "Box Area" msgstr "Feld Bereich" -#: appObjects/FlatCAMObj.py:888 appObjects/FlatCAMObj.py:896 +#: appObjects/FlatCAMObj.py:891 appObjects/FlatCAMObj.py:899 #: appTools/ToolProperties.py:589 appTools/ToolProperties.py:597 msgid "Convex_Hull Area" msgstr "Konvexer Rumpfbereich" -#: appObjects/FlatCAMObj.py:903 appObjects/FlatCAMObj.py:906 +#: appObjects/FlatCAMObj.py:906 appObjects/FlatCAMObj.py:909 #: appTools/ToolProperties.py:604 appTools/ToolProperties.py:607 msgid "Copper Area" msgstr "Kupferareal" @@ -14274,15 +14304,15 @@ msgstr "" #: appTools/ToolAlignObjects.py:498 appTools/ToolCalculators.py:372 #: appTools/ToolCalibration.py:1378 appTools/ToolCopperThieving.py:1577 #: appTools/ToolCorners.py:444 appTools/ToolCutOut.py:2394 -#: appTools/ToolDblSided.py:947 appTools/ToolDrilling.py:2649 +#: appTools/ToolDblSided.py:938 appTools/ToolDrilling.py:2649 #: appTools/ToolEtchCompensation.py:458 appTools/ToolExtractDrills.py:702 #: appTools/ToolFiducials.py:932 appTools/ToolFilm.py:1383 #: appTools/ToolInvertGerber.py:286 appTools/ToolIsolation.py:3477 -#: appTools/ToolMilling.py:2324 appTools/ToolNCC.py:4271 +#: appTools/ToolMilling.py:2324 appTools/ToolNCC.py:4328 #: appTools/ToolOptimal.py:593 appTools/ToolPaint.py:3194 #: appTools/ToolPanelize.py:889 appTools/ToolPunchGerber.py:993 #: appTools/ToolQRCode.py:904 appTools/ToolRulesCheck.py:1618 -#: appTools/ToolSolderPaste.py:1557 appTools/ToolSub.py:752 +#: appTools/ToolSolderPaste.py:1557 appTools/ToolSub.py:754 #: appTools/ToolTransform.py:920 msgid "Reset Tool" msgstr "Reset Werkzeug" @@ -14290,15 +14320,15 @@ msgstr "Reset Werkzeug" #: appTools/ToolAlignObjects.py:501 appTools/ToolCalculators.py:375 #: appTools/ToolCalibration.py:1381 appTools/ToolCopperThieving.py:1580 #: appTools/ToolCorners.py:447 appTools/ToolCutOut.py:2397 -#: appTools/ToolDblSided.py:950 appTools/ToolDrilling.py:2652 +#: appTools/ToolDblSided.py:941 appTools/ToolDrilling.py:2652 #: appTools/ToolEtchCompensation.py:461 appTools/ToolExtractDrills.py:705 #: appTools/ToolFiducials.py:935 appTools/ToolFilm.py:1386 #: appTools/ToolInvertGerber.py:289 appTools/ToolIsolation.py:3480 -#: appTools/ToolMilling.py:2327 appTools/ToolNCC.py:4274 +#: appTools/ToolMilling.py:2327 appTools/ToolNCC.py:4331 #: appTools/ToolOptimal.py:596 appTools/ToolPaint.py:3197 #: appTools/ToolPanelize.py:892 appTools/ToolPunchGerber.py:996 #: appTools/ToolQRCode.py:907 appTools/ToolRulesCheck.py:1621 -#: appTools/ToolSolderPaste.py:1560 appTools/ToolSub.py:755 +#: appTools/ToolSolderPaste.py:1560 appTools/ToolSub.py:757 #: appTools/ToolTransform.py:923 msgid "Will reset the tool parameters." msgstr "Wird die Werkzeugeinstellungen zurücksetzen." @@ -14484,8 +14514,8 @@ msgstr "" "Enthalten die erwarteten Kalibrierungspunkte sowie\n" "die gemessenen." -#: appTools/ToolCalibration.py:930 appTools/ToolSub.py:652 -#: appTools/ToolSub.py:707 +#: appTools/ToolCalibration.py:930 appTools/ToolSub.py:654 +#: appTools/ToolSub.py:706 msgid "Target" msgstr "Ziel" @@ -14742,8 +14772,8 @@ msgstr "'Copper Thieving' Werkzeug fertig." #: appTools/ToolIsolation.py:908 appTools/ToolIsolation.py:1345 #: appTools/ToolIsolation.py:1372 appTools/ToolMilling.py:424 #: appTools/ToolMilling.py:639 appTools/ToolMilling.py:1322 -#: appTools/ToolNCC.py:830 appTools/ToolNCC.py:1262 appTools/ToolNCC.py:1308 -#: appTools/ToolNCC.py:1341 appTools/ToolPaint.py:1086 +#: appTools/ToolNCC.py:844 appTools/ToolNCC.py:1306 appTools/ToolNCC.py:1355 +#: appTools/ToolNCC.py:1388 appTools/ToolPaint.py:1086 #: appTools/ToolPanelize.py:191 appTools/ToolPanelize.py:205 #: appTools/ToolSub.py:157 appTools/ToolSub.py:170 appTools/ToolSub.py:359 #: appTools/ToolSub.py:372 tclCommands/TclCommandCopperClear.py:97 @@ -14774,7 +14804,7 @@ msgstr "Copper Thieving Tool: Areale zur Kupferfüllung vorbereiten." #: appTools/ToolCopperThieving.py:599 appTools/ToolFilm.py:631 #: appTools/ToolFilm.py:879 appTools/ToolIsolation.py:916 -#: appTools/ToolNCC.py:837 appTools/ToolOptimal.py:145 +#: appTools/ToolNCC.py:851 appTools/ToolOptimal.py:145 #: appTools/ToolPanelize.py:612 appTools/ToolRulesCheck.py:626 msgid "Working..." msgstr "Arbeiten..." @@ -14783,13 +14813,13 @@ msgstr "Arbeiten..." msgid "Geometry not supported for bounding box" msgstr "Geometrie für Umriss nicht unterstützt" -#: appTools/ToolCopperThieving.py:632 appTools/ToolNCC.py:1632 -#: appTools/ToolNCC.py:1687 appTools/ToolNCC.py:2627 appTools/ToolPaint.py:2457 +#: appTools/ToolCopperThieving.py:632 appTools/ToolNCC.py:1679 +#: appTools/ToolNCC.py:1734 appTools/ToolNCC.py:2674 appTools/ToolPaint.py:2457 msgid "No object available." msgstr "Kein Objekt vorhanden." -#: appTools/ToolCopperThieving.py:669 appTools/ToolNCC.py:1657 -#: appTools/ToolNCC.py:1710 appTools/ToolNCC.py:2669 +#: appTools/ToolCopperThieving.py:669 appTools/ToolNCC.py:1704 +#: appTools/ToolNCC.py:1757 appTools/ToolNCC.py:2716 msgid "The reference object type is not supported." msgstr "Der Referenzobjekttyp wird nicht unterstützt." @@ -14851,7 +14881,7 @@ msgstr "" "Objekt angegebenen Bereichs." #: appTools/ToolCopperThieving.py:1231 appTools/ToolIsolation.py:3385 -#: appTools/ToolNCC.py:4210 appTools/ToolPaint.py:3137 +#: appTools/ToolNCC.py:4257 appTools/ToolPaint.py:3137 msgid "Ref. Type" msgstr "Ref. Typ" @@ -14865,12 +14895,12 @@ msgstr "" "Es kann Gerber, Excellon oder Geometry sein." #: appTools/ToolCopperThieving.py:1242 appTools/ToolIsolation.py:3396 -#: appTools/ToolNCC.py:4220 appTools/ToolPaint.py:3147 +#: appTools/ToolNCC.py:4267 appTools/ToolPaint.py:3147 msgid "Ref. Object" msgstr "Ref. Objekt" #: appTools/ToolCopperThieving.py:1244 appTools/ToolIsolation.py:3398 -#: appTools/ToolNCC.py:4222 appTools/ToolPaint.py:3149 +#: appTools/ToolNCC.py:4269 appTools/ToolPaint.py:3149 msgid "The FlatCAM object to be used as non copper clearing reference." msgstr "" "Das FlatCAM-Objekt, das als Nicht-Kupfer-Clearing-Referenz verwendet werden " @@ -15006,7 +15036,7 @@ msgstr "Fügt der ausgewählten Gerber-Datei Eckmarkierungen hinzu." #: appTools/ToolCutOut.py:281 appTools/ToolIsolation.py:791 #: appTools/ToolIsolation.py:1049 appTools/ToolIsolation.py:1185 -#: appTools/ToolNCC.py:458 appTools/ToolNCC.py:946 appTools/ToolNCC.py:1084 +#: appTools/ToolNCC.py:463 appTools/ToolNCC.py:990 appTools/ToolNCC.py:1128 #: appTools/ToolPaint.py:395 appTools/ToolPaint.py:686 #: appTools/ToolPaint.py:823 appTools/ToolSolderPaste.py:131 #: appTools/ToolSolderPaste.py:464 app_Main.py:4490 @@ -15015,14 +15045,14 @@ msgstr "" "Bitte geben Sie einen Werkzeugdurchmesser ungleich Null im Float-Format ein." #: appTools/ToolCutOut.py:357 appTools/ToolIsolation.py:1130 -#: appTools/ToolNCC.py:1029 appTools/ToolPaint.py:767 +#: appTools/ToolNCC.py:1073 appTools/ToolPaint.py:767 #, fuzzy #| msgid "Tools in Tools Database edited but not saved." msgid "Tool not in Tools Database. Adding a default tool." msgstr "Werkzeugdatenbank geschlossen ohne zu speichern." #: appTools/ToolCutOut.py:364 appTools/ToolDrilling.py:955 -#: appTools/ToolIsolation.py:1137 appTools/ToolNCC.py:1036 +#: appTools/ToolIsolation.py:1137 appTools/ToolNCC.py:1080 #: appTools/ToolPaint.py:775 msgid "" "Cancelled.\n" @@ -15042,7 +15072,7 @@ msgid "Default tool added." msgstr "Standardwerte" #: appTools/ToolCutOut.py:466 appTools/ToolIsolation.py:2577 -#: appTools/ToolNCC.py:3602 appTools/ToolPaint.py:2620 +#: appTools/ToolNCC.py:3649 appTools/ToolPaint.py:2620 msgid "Selected tool can't be used here. Pick another." msgstr "" @@ -15097,7 +15127,7 @@ msgstr "Jede Form CutOut-Operation ist abgeschlossen." #: appTools/ToolEtchCompensation.py:158 appTools/ToolInvertGerber.py:105 #: appTools/ToolIsolation.py:912 appTools/ToolIsolation.py:1349 #: appTools/ToolIsolation.py:1376 appTools/ToolMilling.py:1326 -#: appTools/ToolNCC.py:834 appTools/ToolNCC.py:1266 appTools/ToolPaint.py:1003 +#: appTools/ToolNCC.py:848 appTools/ToolNCC.py:1310 appTools/ToolPaint.py:1003 #: appTools/ToolPanelize.py:196 tclCommands/TclCommandBbox.py:71 #: tclCommands/TclCommandNregions.py:71 msgid "Object not found" @@ -15193,7 +15223,7 @@ msgstr "Auszuschneidendes Objekt" msgid "Kind" msgstr "Typ" -#: appTools/ToolCutOut.py:2015 appTools/ToolDblSided.py:521 +#: appTools/ToolCutOut.py:2015 msgid "" "Specify the type of object to be cutout.\n" "It can be of type: Gerber or Geometry.\n" @@ -15206,7 +15236,7 @@ msgstr "" "von Objekten, die die Combobox 'Object' füllen." #: appTools/ToolCutOut.py:2074 appTools/ToolIsolation.py:3125 -#: appTools/ToolNCC.py:3892 appTools/ToolPaint.py:2901 +#: appTools/ToolNCC.py:3939 appTools/ToolPaint.py:2901 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above.\n" @@ -15391,11 +15421,15 @@ msgstr "2-seitige PCB" msgid "Objects to be mirrored" msgstr "Zu spiegelnde Objekte" -#: appTools/ToolDblSided.py:560 +#: appTools/ToolDblSided.py:521 +msgid "Select the type of application object to be processed in this tool." +msgstr "" + +#: appTools/ToolDblSided.py:555 msgid "Bounds Values" msgstr "Grenzen Werte" -#: appTools/ToolDblSided.py:562 +#: appTools/ToolDblSided.py:557 msgid "" "Select on canvas the object(s)\n" "for which to calculate bounds values." @@ -15403,39 +15437,39 @@ msgstr "" "Wählen Sie auf der Leinwand die Objekte aus.\n" "für die Grenzwerte berechnet werden sollen." -#: appTools/ToolDblSided.py:572 +#: appTools/ToolDblSided.py:567 msgid "X min" msgstr "X min" -#: appTools/ToolDblSided.py:574 appTools/ToolDblSided.py:588 +#: appTools/ToolDblSided.py:569 appTools/ToolDblSided.py:583 msgid "Minimum location." msgstr "Mindeststandort." -#: appTools/ToolDblSided.py:586 +#: appTools/ToolDblSided.py:581 msgid "Y min" msgstr "Y min" -#: appTools/ToolDblSided.py:600 +#: appTools/ToolDblSided.py:595 msgid "X max" msgstr "X max" -#: appTools/ToolDblSided.py:602 appTools/ToolDblSided.py:616 +#: appTools/ToolDblSided.py:597 appTools/ToolDblSided.py:611 msgid "Maximum location." msgstr "Maximaler Standort." -#: appTools/ToolDblSided.py:614 +#: appTools/ToolDblSided.py:609 msgid "Y max" msgstr "Y max" -#: appTools/ToolDblSided.py:625 +#: appTools/ToolDblSided.py:620 msgid "Center point coordinates" msgstr "Mittelpunktskoordinaten" -#: appTools/ToolDblSided.py:627 +#: appTools/ToolDblSided.py:622 msgid "Centroid" msgstr "Schwerpunkt" -#: appTools/ToolDblSided.py:629 +#: appTools/ToolDblSided.py:624 msgid "" "The center point location for the rectangular\n" "bounding shape. Centroid. Format is (x, y)." @@ -15443,11 +15477,11 @@ msgstr "" "Die Mittelpunktposition für das Rechteck\n" "begrenzende Form. Centroid. Das Format ist (x, y)." -#: appTools/ToolDblSided.py:638 +#: appTools/ToolDblSided.py:633 msgid "Calculate Bounds Values" msgstr "Berechnen Sie Grenzwerte" -#: appTools/ToolDblSided.py:640 +#: appTools/ToolDblSided.py:635 msgid "" "Calculate the enveloping rectangular shape coordinates,\n" "for the selection of objects.\n" @@ -15457,15 +15491,15 @@ msgstr "" "zur Auswahl von Objekten.\n" "Die Hüllkurvenform verläuft parallel zur X- und Y-Achse." -#: appTools/ToolDblSided.py:667 +#: appTools/ToolDblSided.py:660 msgid "Mirror Operation" msgstr "Spiegelbetrieb" -#: appTools/ToolDblSided.py:668 +#: appTools/ToolDblSided.py:661 msgid "Parameters for the mirror operation" msgstr "Parameter für die Spiegeloperation" -#: appTools/ToolDblSided.py:690 +#: appTools/ToolDblSided.py:683 #, fuzzy #| msgid "" #| "The coordinates used as reference for the mirror operation.\n" @@ -15492,11 +15526,11 @@ msgstr "" "werden\n" "Begrenzungsrahmen eines anderen unten ausgewählten Objekts" -#: appTools/ToolDblSided.py:710 +#: appTools/ToolDblSided.py:703 msgid "Point coordinates" msgstr "Punktkoordinaten" -#: appTools/ToolDblSided.py:715 +#: appTools/ToolDblSided.py:708 msgid "" "Add the coordinates in format (x, y) through which the mirroring " "axis\n" @@ -15512,21 +15546,21 @@ msgstr "" "und klicken Sie mit der linken Maustaste auf die Leinwand oder Sie können " "die Koordinaten manuell eingeben." -#: appTools/ToolDblSided.py:733 +#: appTools/ToolDblSided.py:726 msgid "Object that holds holes that can be picked as reference for mirroing." msgstr "" -#: appTools/ToolDblSided.py:748 +#: appTools/ToolDblSided.py:741 msgid "Pick hole" msgstr "" -#: appTools/ToolDblSided.py:750 +#: appTools/ToolDblSided.py:743 msgid "" "Click inside a drill hole that belong to the selected Excellon object,\n" "and the hole center coordinates will be copied to the Point field." msgstr "" -#: appTools/ToolDblSided.py:766 +#: appTools/ToolDblSided.py:759 msgid "" "It can be of type: Gerber or Excellon or Geometry.\n" "The coordinates of the center of the bounding box are used\n" @@ -15536,11 +15570,11 @@ msgstr "" "Die Koordinaten der Mitte des Begrenzungsrahmens werden verwendet\n" "als Referenz für den Spiegelbetrieb." -#: appTools/ToolDblSided.py:792 +#: appTools/ToolDblSided.py:785 msgid "Mirror" msgstr "Spiegeln" -#: appTools/ToolDblSided.py:794 +#: appTools/ToolDblSided.py:787 msgid "" "Mirrors (flips) the specified object around \n" "the specified axis. Does not create a new \n" @@ -15550,11 +15584,11 @@ msgstr "" "die angegebene Achse. Erstellt kein neues\n" "Objekt, ändert es aber." -#: appTools/ToolDblSided.py:822 +#: appTools/ToolDblSided.py:813 msgid "PCB Alignment" msgstr "PCB-Ausrichtung" -#: appTools/ToolDblSided.py:824 appTools/ToolDblSided.py:932 +#: appTools/ToolDblSided.py:815 appTools/ToolDblSided.py:923 msgid "" "Creates an Excellon Object containing the\n" "specified alignment holes and their mirror\n" @@ -15564,11 +15598,11 @@ msgstr "" "spezifizierte Ausrichtungslöcher und deren Spiegel\n" "Bilder." -#: appTools/ToolDblSided.py:831 +#: appTools/ToolDblSided.py:822 msgid "Drill Diameter" msgstr "Bohrdurchmesser" -#: appTools/ToolDblSided.py:866 appTools/ToolDblSided.py:873 +#: appTools/ToolDblSided.py:857 appTools/ToolDblSided.py:864 msgid "" "The reference point used to create the second alignment drill\n" "from the first alignment drill, by doing mirror.\n" @@ -15579,11 +15613,11 @@ msgstr "" "vom ersten Ausrichtungsbohrer durch Spiegeln.\n" "Sie kann im Abschnitt Spiegelparameter -> Referenz geändert werden" -#: appTools/ToolDblSided.py:886 +#: appTools/ToolDblSided.py:877 msgid "Alignment Drill Coordinates" msgstr "Ausrichtungsbohrkoordinaten" -#: appTools/ToolDblSided.py:888 +#: appTools/ToolDblSided.py:879 msgid "" "Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For " "each set of (x, y) coordinates\n" @@ -15601,11 +15635,11 @@ msgstr "" "- Ein Bohrer in Spiegelposition über der oben in 'Achse ausrichten' " "ausgewählten Achse." -#: appTools/ToolDblSided.py:896 +#: appTools/ToolDblSided.py:887 msgid "Drill coordinates" msgstr "Bohrkoordinaten" -#: appTools/ToolDblSided.py:903 +#: appTools/ToolDblSided.py:894 msgid "" "Add alignment drill holes coordinates in the format: (x1, y1), (x2, " "y2), ... \n" @@ -15632,15 +15666,15 @@ msgstr "" "die Leinwand. Klicken Sie dann in das Feld und dann auf Einfügen.\n" "- durch manuelle Eingabe der Koordinaten im Format: (x1, y1), (x2, y2), ..." -#: appTools/ToolDblSided.py:918 +#: appTools/ToolDblSided.py:909 msgid "Delete Last" msgstr "Letzte löschen" -#: appTools/ToolDblSided.py:920 +#: appTools/ToolDblSided.py:911 msgid "Delete the last coordinates tuple in the list." msgstr "Delete the last coordinates tuple in the list." -#: appTools/ToolDblSided.py:930 +#: appTools/ToolDblSided.py:921 msgid "Create Excellon Object" msgstr "Excellon-Objekt erstellen" @@ -15818,7 +15852,7 @@ msgid "Jump to Half Point" msgstr "Springe zum halben Punkt" #: appTools/ToolDrilling.py:1195 appTools/ToolIsolation.py:778 -#: appTools/ToolMilling.py:962 appTools/ToolNCC.py:444 +#: appTools/ToolMilling.py:962 appTools/ToolNCC.py:449 #: appTools/ToolPaint.py:381 msgid "Current Tool parameters were applied to all tools." msgstr "Aktuelle Werkzeugparameter wurden auf alle Werkzeuge angewendet." @@ -16455,17 +16489,17 @@ msgstr "" "wird leer von Kupfer sein und der vorherige leere Bereich wird leer sein\n" "mit Kupfer gefüllt." -#: appTools/ToolIsolation.py:782 appTools/ToolNCC.py:449 +#: appTools/ToolIsolation.py:782 appTools/ToolNCC.py:454 #: appTools/ToolPaint.py:386 appTools/ToolSolderPaste.py:122 msgid "New Tool" msgstr "Neues Werkzeug" -#: appTools/ToolIsolation.py:795 appTools/ToolNCC.py:462 +#: appTools/ToolIsolation.py:795 appTools/ToolNCC.py:467 #: appTools/ToolPaint.py:399 appTools/ToolSolderPaste.py:135 app_Main.py:4494 msgid "Adding Tool cancelled" msgstr "Addierwerkzeug abgebrochen" -#: appTools/ToolIsolation.py:941 appTools/ToolNCC.py:865 +#: appTools/ToolIsolation.py:941 appTools/ToolNCC.py:879 #: appTools/ToolOptimal.py:179 msgid "" "The Gerber object has one Polygon as geometry.\n" @@ -16474,7 +16508,7 @@ msgstr "" "Das Gerber-Objekt hat ein Polygon als Geometrie.\n" "Es sind keine Abstände zwischen Geometrieelementen zu finden." -#: appTools/ToolIsolation.py:988 appTools/ToolNCC.py:908 +#: appTools/ToolIsolation.py:988 appTools/ToolNCC.py:924 #, fuzzy #| msgid "tooldia = tool diameter" msgid "Optimal tool diameter found" @@ -16482,7 +16516,7 @@ msgstr "tooldia = Werkzeugdurchmesser" #: appTools/ToolIsolation.py:1000 appTools/ToolIsolation.py:1508 #: appTools/ToolIsolation.py:1710 appTools/ToolIsolation.py:1897 -#: appTools/ToolNCC.py:1296 appTools/ToolPaint.py:1031 +#: appTools/ToolNCC.py:935 appTools/ToolNCC.py:1343 appTools/ToolPaint.py:1031 #: appTools/ToolPaint.py:1744 #, fuzzy #| msgid "Failed. No tool selected in the tool table ..." @@ -16496,45 +16530,45 @@ msgstr "" #: appTools/ToolIsolation.py:1057 appTools/ToolIsolation.py:1144 #: appTools/ToolIsolation.py:1206 appTools/ToolIsolation.py:2626 -#: appTools/ToolNCC.py:955 appTools/ToolNCC.py:1043 appTools/ToolNCC.py:1105 -#: appTools/ToolNCC.py:3651 appTools/ToolPaint.py:694 appTools/ToolPaint.py:782 +#: appTools/ToolNCC.py:999 appTools/ToolNCC.py:1087 appTools/ToolNCC.py:1149 +#: appTools/ToolNCC.py:3698 appTools/ToolPaint.py:694 appTools/ToolPaint.py:782 #: appTools/ToolPaint.py:844 appTools/ToolPaint.py:2676 #: appTools/ToolSolderPaste.py:488 msgid "Cancelled. Tool already in Tool Table." msgstr "Abgebrochen. Werkzeug bereits in der Werkzeugtabelle." -#: appTools/ToolIsolation.py:1172 appTools/ToolNCC.py:1071 +#: appTools/ToolIsolation.py:1172 appTools/ToolNCC.py:1115 #: appTools/ToolPaint.py:810 #, fuzzy #| msgid "New tool added to Tool Table." msgid "New tool added to Tool Table from Tools Database." msgstr "Neues Werkzeug zur Werkzeugtabelle hinzugefügt." -#: appTools/ToolIsolation.py:1236 appTools/ToolNCC.py:1135 +#: appTools/ToolIsolation.py:1236 appTools/ToolNCC.py:1179 #: appTools/ToolPaint.py:873 #, fuzzy #| msgid "New tool added to Tool Table." msgid "Default tool added to Tool Table." msgstr "Neues Werkzeug zur Werkzeugtabelle hinzugefügt." -#: appTools/ToolIsolation.py:1262 appTools/ToolNCC.py:1161 +#: appTools/ToolIsolation.py:1262 appTools/ToolNCC.py:1205 #: appTools/ToolPaint.py:898 msgid "Tool from Tool Table was edited." msgstr "Werkzeug aus Werkzeugtabelle wurde bearbeitet." -#: appTools/ToolIsolation.py:1275 appTools/ToolNCC.py:1174 +#: appTools/ToolIsolation.py:1275 appTools/ToolNCC.py:1218 #: appTools/ToolPaint.py:911 appTools/ToolSolderPaste.py:548 msgid "Cancelled. New diameter value is already in the Tool Table." msgstr "" "Abgebrochen. Der neue Durchmesserwert befindet sich bereits in der " "Werkzeugtabelle." -#: appTools/ToolIsolation.py:1326 appTools/ToolNCC.py:1225 +#: appTools/ToolIsolation.py:1326 appTools/ToolNCC.py:1269 #: appTools/ToolPaint.py:961 msgid "Delete failed. Select a tool to delete." msgstr "Löschen fehlgeschlagen. Wählen Sie ein Werkzeug zum Löschen aus." -#: appTools/ToolIsolation.py:1332 appTools/ToolNCC.py:1231 +#: appTools/ToolIsolation.py:1332 appTools/ToolNCC.py:1275 #: appTools/ToolPaint.py:967 msgid "Tool(s) deleted from Tool Table." msgstr "Werkzeug(e) aus der Werkzeugtabelle gelöscht." @@ -16630,12 +16664,12 @@ msgstr "Kein Polygon in der Auswahl." msgid "Click the end point of the paint area." msgstr "Klicken Sie auf den Endpunkt des Malbereichs." -#: appTools/ToolIsolation.py:2590 appTools/ToolNCC.py:3615 +#: appTools/ToolIsolation.py:2590 appTools/ToolNCC.py:3662 #: appTools/ToolPaint.py:2633 app_Main.py:5773 app_Main.py:5783 msgid "Tool from DB added in Tool Table." msgstr "Werkzeug aus Werkzeugdatenbank zur Werkzeugtabelle hinzugefügt." -#: appTools/ToolIsolation.py:2644 appTools/ToolNCC.py:3668 +#: appTools/ToolIsolation.py:2644 appTools/ToolNCC.py:3715 #: appTools/ToolPaint.py:2693 msgid "New tool added to Tool Table." msgstr "Neues Werkzeug zur Werkzeugtabelle hinzugefügt." @@ -16644,7 +16678,7 @@ msgstr "Neues Werkzeug zur Werkzeugtabelle hinzugefügt." msgid "Gerber object for isolation routing." msgstr "Gerber-Objekt für Isolationsrouting." -#: appTools/ToolIsolation.py:3012 appTools/ToolNCC.py:3768 +#: appTools/ToolIsolation.py:3012 appTools/ToolNCC.py:3815 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for copper clearing." @@ -16670,7 +16704,7 @@ msgstr "" "Werkzeugen\n" "Diese Funktion kann keine Routing-Geometrie erstellen." -#: appTools/ToolIsolation.py:3036 appTools/ToolNCC.py:3792 +#: appTools/ToolIsolation.py:3036 appTools/ToolNCC.py:3839 msgid "" "Tool Diameter. It's value (in current FlatCAM units)\n" "is the cut width into the material." @@ -16678,7 +16712,7 @@ msgstr "" "Werkzeugdurchmesser. Wert (in aktuellen FlatCAM-Einheiten)\n" "ist die Schnittbreite in das Material." -#: appTools/ToolIsolation.py:3040 appTools/ToolNCC.py:3796 +#: appTools/ToolIsolation.py:3040 appTools/ToolNCC.py:3843 msgid "" "The Tool Type (TT) can be:\n" "- Circular with 1 ... 4 teeth -> it is informative only. Being circular,\n" @@ -16713,19 +16747,19 @@ msgstr "" "Operationstyp ausgewählt\n" "in der resultierenden Geometrie als Isolation." -#: appTools/ToolIsolation.py:3108 appTools/ToolNCC.py:3876 +#: appTools/ToolIsolation.py:3108 appTools/ToolNCC.py:3923 #, fuzzy #| msgid "Optimal Tool" msgid "Optimal" msgstr "Optimierungswerkzeug" -#: appTools/ToolIsolation.py:3112 appTools/ToolNCC.py:3880 +#: appTools/ToolIsolation.py:3112 appTools/ToolNCC.py:3927 msgid "" "Find a tool diameter that is guaranteed\n" "to do a complete isolation." msgstr "" -#: appTools/ToolIsolation.py:3153 appTools/ToolNCC.py:3920 +#: appTools/ToolIsolation.py:3153 appTools/ToolNCC.py:3967 #: appTools/ToolPaint.py:2929 appTools/ToolSolderPaste.py:1211 msgid "" "Delete a selection of tools in the Tool Table\n" @@ -16750,7 +16784,7 @@ msgstr "" msgid "Object whose area will be removed from isolation geometry." msgstr "Objekt, dessen Bereich aus der Isolationsgeometrie entfernt wird." -#: appTools/ToolIsolation.py:3387 appTools/ToolNCC.py:4212 +#: appTools/ToolIsolation.py:3387 appTools/ToolNCC.py:4259 msgid "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." @@ -16839,95 +16873,109 @@ msgstr "Keine Objekte ausgewählt." msgid "Error when mouse left click." msgstr "Fehler beim Klicken mit der linken Maustaste." -#: appTools/ToolNCC.py:1675 appTools/ToolNCC.py:2599 +#: appTools/ToolNCC.py:835 +msgid "NCC Tool. Checking tools for validity." +msgstr "" + +#: appTools/ToolNCC.py:947 +msgid "" +"Incomplete isolation. None of the selected tools could do a complete " +"isolation." +msgstr "" + +#: appTools/ToolNCC.py:950 +msgid "At least one of the selected tools can do a complete isolation." +msgstr "" + +#: appTools/ToolNCC.py:1722 appTools/ToolNCC.py:2646 msgid "NCC Tool. Preparing non-copper polygons." msgstr "NCC-Tool. Vorbereitung von kupferfreien Polygonen." -#: appTools/ToolNCC.py:1735 appTools/ToolNCC.py:2727 +#: appTools/ToolNCC.py:1782 appTools/ToolNCC.py:2774 msgid "NCC Tool. Calculate 'empty' area." msgstr "NCC-Tool. Berechnen Sie die \"leere\" Fläche." -#: appTools/ToolNCC.py:1746 appTools/ToolNCC.py:1775 appTools/ToolNCC.py:1881 -#: appTools/ToolNCC.py:1894 appTools/ToolNCC.py:2740 appTools/ToolNCC.py:2845 -#: appTools/ToolNCC.py:2860 appTools/ToolNCC.py:3126 appTools/ToolNCC.py:3227 -#: appTools/ToolNCC.py:3242 +#: appTools/ToolNCC.py:1793 appTools/ToolNCC.py:1822 appTools/ToolNCC.py:1928 +#: appTools/ToolNCC.py:1941 appTools/ToolNCC.py:2787 appTools/ToolNCC.py:2892 +#: appTools/ToolNCC.py:2907 appTools/ToolNCC.py:3173 appTools/ToolNCC.py:3274 +#: appTools/ToolNCC.py:3289 msgid "Buffering finished" msgstr "Pufferung beendet" -#: appTools/ToolNCC.py:1750 appTools/ToolNCC.py:1779 appTools/ToolNCC.py:1885 -#: appTools/ToolNCC.py:1897 appTools/ToolNCC.py:2748 appTools/ToolNCC.py:2867 -#: appTools/ToolNCC.py:3133 appTools/ToolNCC.py:3249 +#: appTools/ToolNCC.py:1797 appTools/ToolNCC.py:1826 appTools/ToolNCC.py:1932 +#: appTools/ToolNCC.py:1944 appTools/ToolNCC.py:2795 appTools/ToolNCC.py:2914 +#: appTools/ToolNCC.py:3180 appTools/ToolNCC.py:3296 msgid "Could not get the extent of the area to be non copper cleared." msgstr "" "Die Ausdehnung des nicht kupferhaltigen Bereichs konnte nicht gelöscht " "werden." -#: appTools/ToolNCC.py:1758 appTools/ToolNCC.py:1908 appTools/ToolNCC.py:2878 +#: appTools/ToolNCC.py:1805 appTools/ToolNCC.py:1955 appTools/ToolNCC.py:2925 msgid "NCC Tool. Finished calculation of 'empty' area." msgstr "NCC-Tool. Berechnung der 'leeren' Fläche beendet." -#: appTools/ToolNCC.py:1811 appTools/ToolNCC.py:2775 appTools/ToolNCC.py:2852 -#: appTools/ToolNCC.py:3153 appTools/ToolNCC.py:3234 +#: appTools/ToolNCC.py:1858 appTools/ToolNCC.py:2822 appTools/ToolNCC.py:2899 +#: appTools/ToolNCC.py:3200 appTools/ToolNCC.py:3281 msgid "" "Isolation geometry is broken. Margin is less than isolation tool diameter." msgstr "" "Die Isolationsgeometrie ist gebrochen. Der Rand ist kleiner als der " "Durchmesser des Isolationswerkzeugs." -#: appTools/ToolNCC.py:1901 appTools/ToolNCC.py:2871 appTools/ToolNCC.py:3252 +#: appTools/ToolNCC.py:1948 appTools/ToolNCC.py:2918 appTools/ToolNCC.py:3299 msgid "The selected object is not suitable for copper clearing." msgstr "Das ausgewählte Objekt ist nicht zum Löschen von Kupfer geeignet." -#: appTools/ToolNCC.py:1951 +#: appTools/ToolNCC.py:1998 msgid "Clearing the polygon with the method: lines." msgstr "Löschen des Polygons mit der Methode: Linien." -#: appTools/ToolNCC.py:1961 +#: appTools/ToolNCC.py:2008 msgid "Failed. Clearing the polygon with the method: seed." msgstr "Gescheitert. Löschen des Polygons mit der Methode: seed." -#: appTools/ToolNCC.py:1970 +#: appTools/ToolNCC.py:2017 msgid "Failed. Clearing the polygon with the method: standard." msgstr "Gescheitert. Löschen des Polygons mit der Methode: Standard." -#: appTools/ToolNCC.py:1986 +#: appTools/ToolNCC.py:2033 #, fuzzy #| msgid "Geometry could not be cleared completely" msgid "Polygon could not be cleared. Location:" msgstr "Die Geometrie konnte nicht vollständig gelöscht werden" -#: appTools/ToolNCC.py:2018 appTools/ToolNCC.py:2020 appTools/ToolNCC.py:2548 -#: appTools/ToolNCC.py:2550 +#: appTools/ToolNCC.py:2065 appTools/ToolNCC.py:2067 appTools/ToolNCC.py:2595 +#: appTools/ToolNCC.py:2597 msgid "Non-Copper clearing ..." msgstr "Nicht-Kupfer-Clearing ..." -#: appTools/ToolNCC.py:2039 +#: appTools/ToolNCC.py:2086 msgid "" "There is no copper clearing tool in the selection and at least one is needed." msgstr "" -#: appTools/ToolNCC.py:2054 appTools/ToolNCC.py:2695 +#: appTools/ToolNCC.py:2101 appTools/ToolNCC.py:2742 msgid "" "NCC Tool. Finished non-copper polygons. Normal copper clearing task started." msgstr "" "NCC-Tool. Fertige kupferfreie Polygone. Normale Kupferentfernungsaufgabe " "gestartet." -#: appTools/ToolNCC.py:2082 appTools/ToolNCC.py:2316 +#: appTools/ToolNCC.py:2129 appTools/ToolNCC.py:2363 msgid "NCC Tool failed creating bounding box." msgstr "Das NCC-Tool konnte keinen Begrenzungsrahmen erstellen." -#: appTools/ToolNCC.py:2102 appTools/ToolNCC.py:2352 appTools/ToolNCC.py:2891 -#: appTools/ToolNCC.py:3277 +#: appTools/ToolNCC.py:2149 appTools/ToolNCC.py:2399 appTools/ToolNCC.py:2938 +#: appTools/ToolNCC.py:3324 msgid "NCC Tool clearing with tool diameter" msgstr "Das NCC-Werkzeug wird mit dem Werkzeugdurchmesser gelöscht" -#: appTools/ToolNCC.py:2102 appTools/ToolNCC.py:2352 appTools/ToolNCC.py:2891 -#: appTools/ToolNCC.py:3277 +#: appTools/ToolNCC.py:2149 appTools/ToolNCC.py:2399 appTools/ToolNCC.py:2938 +#: appTools/ToolNCC.py:3324 msgid "started." msgstr "gestartet." -#: appTools/ToolNCC.py:2230 +#: appTools/ToolNCC.py:2277 #, fuzzy #| msgid "Could not get the extent of the area to be non copper cleared." msgid "Could not use the tool for copper clear." @@ -16935,7 +16983,7 @@ msgstr "" "Die Ausdehnung des nicht kupferhaltigen Bereichs konnte nicht gelöscht " "werden." -#: appTools/ToolNCC.py:2252 appTools/ToolNCC.py:3052 +#: appTools/ToolNCC.py:2299 appTools/ToolNCC.py:3099 msgid "" "There is no NCC Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -16947,32 +16995,32 @@ msgstr "" "Geometrie zu groß ist.\n" "Ändern Sie die Malparameter und versuchen Sie es erneut." -#: appTools/ToolNCC.py:2262 appTools/ToolNCC.py:3061 +#: appTools/ToolNCC.py:2309 appTools/ToolNCC.py:3108 msgid "NCC Tool clear all done." msgstr "NCC Tool löschen alles erledigt." -#: appTools/ToolNCC.py:2265 appTools/ToolNCC.py:3064 +#: appTools/ToolNCC.py:2312 appTools/ToolNCC.py:3111 msgid "NCC Tool clear all done but the copper features isolation is broken for" msgstr "" "Das NCC-Tool löscht alles, aber die Isolierung der Kupfermerkmale ist " "unterbrochen" -#: appTools/ToolNCC.py:2267 appTools/ToolNCC.py:2463 appTools/ToolNCC.py:3066 -#: appTools/ToolNCC.py:3449 +#: appTools/ToolNCC.py:2314 appTools/ToolNCC.py:2510 appTools/ToolNCC.py:3113 +#: appTools/ToolNCC.py:3496 msgid "tools" msgstr "Werkzeuge" -#: appTools/ToolNCC.py:2294 +#: appTools/ToolNCC.py:2341 #, fuzzy #| msgid "Paint Tool. Rest machining painting area task started." msgid "NCC Tool. Rest machining copper clearing task started." msgstr "Malwerkzeug. Restbearbeitung Lackierbereich Aufgabe gestartet." -#: appTools/ToolNCC.py:2459 appTools/ToolNCC.py:3445 +#: appTools/ToolNCC.py:2506 appTools/ToolNCC.py:3492 msgid "NCC Tool Rest Machining clear all done." msgstr "Die Bearbeitung der NCC-Werkzeugablagen ist abgeschlossen." -#: appTools/ToolNCC.py:2462 appTools/ToolNCC.py:3448 +#: appTools/ToolNCC.py:2509 appTools/ToolNCC.py:3495 msgid "" "NCC Tool Rest Machining clear all done but the copper features isolation is " "broken for" @@ -16980,11 +17028,11 @@ msgstr "" "Die Bearbeitung der NCC-Werkzeugablagen ist abgeschlossen, die Isolierung " "der Kupferelemente ist jedoch unterbrochen" -#: appTools/ToolNCC.py:2560 +#: appTools/ToolNCC.py:2607 msgid "NCC Tool started. Reading parameters." msgstr "NCC Tool gestartet. Parameter lesen." -#: appTools/ToolNCC.py:3547 +#: appTools/ToolNCC.py:3594 msgid "" "Try to use the Buffering Type = Full in Preferences -> Gerber General. " "Reload the Gerber file after this change." @@ -16992,15 +17040,15 @@ msgstr "" "Versuchen Sie, den Puffertyp = Voll in Einstellungen -> Allgemein zu " "verwenden. Laden Sie die Gerber-Datei nach dieser Änderung neu." -#: appTools/ToolNCC.py:3703 +#: appTools/ToolNCC.py:3750 msgid "Non-Copper Clearing" msgstr "Nicht-Kupfer-Clearing" -#: appTools/ToolNCC.py:3732 appTools/ToolPaint.py:2765 +#: appTools/ToolNCC.py:3779 appTools/ToolPaint.py:2765 msgid "Obj Type" msgstr "Obj-Typ" -#: appTools/ToolNCC.py:3734 +#: appTools/ToolNCC.py:3781 msgid "" "Specify the type of object to be cleared of excess copper.\n" "It can be of type: Gerber or Geometry.\n" @@ -17013,11 +17061,11 @@ msgstr "" "Was hier ausgewählt wird, bestimmt die Art\n" "von Objekten, die das Kombinationsfeld \"Objekt\" füllen." -#: appTools/ToolNCC.py:3756 +#: appTools/ToolNCC.py:3803 msgid "Object to be cleared of excess copper." msgstr "Objekt, das von überschüssigem Kupfer befreit werden soll." -#: appTools/ToolNCC.py:3784 +#: appTools/ToolNCC.py:3831 msgid "" "This is the Tool Number.\n" "Non copper clearing will start with the tool with the biggest \n" @@ -18471,7 +18519,7 @@ msgstr "Analyse von solid_geometry ..." msgid "Parsing solid_geometry for tool" msgstr "Analysieren der solid_geometry für das Werkzeug" -#: appTools/ToolSub.py:654 +#: appTools/ToolSub.py:656 msgid "" "Gerber object from which to subtract\n" "the subtractor Gerber object." @@ -18479,11 +18527,11 @@ msgstr "" "Gerber-Objekt, von dem subtrahiert werden soll\n" "der Subtrahierer Gerber Objekt." -#: appTools/ToolSub.py:667 appTools/ToolSub.py:722 +#: appTools/ToolSub.py:670 appTools/ToolSub.py:722 msgid "Subtractor" msgstr "Subtraktor" -#: appTools/ToolSub.py:669 +#: appTools/ToolSub.py:672 msgid "" "Gerber object that will be subtracted\n" "from the target Gerber object." @@ -18491,11 +18539,11 @@ msgstr "" "Gerber-Objekt, das abgezogen wird\n" "vom Zielobjekt Gerber." -#: appTools/ToolSub.py:676 +#: appTools/ToolSub.py:679 msgid "Subtract Gerber" msgstr "Gerber abziehen" -#: appTools/ToolSub.py:678 +#: appTools/ToolSub.py:681 msgid "" "Will remove the area occupied by the subtractor\n" "Gerber from the Target Gerber.\n" @@ -18507,7 +18555,7 @@ msgstr "" "Kann verwendet werden, um den überlappenden Siebdruck zu entfernen\n" "über der Lötmaske." -#: appTools/ToolSub.py:709 +#: appTools/ToolSub.py:708 msgid "" "Geometry object from which to subtract\n" "the subtractor Geometry object." @@ -18530,11 +18578,11 @@ msgstr "" "Wenn Sie dies aktivieren, werden die vom Geometrie-Subtrahierer-Objekt " "geschnittenen Pfade geschlossen." -#: appTools/ToolSub.py:735 +#: appTools/ToolSub.py:736 msgid "Subtract Geometry" msgstr "Geometrie subtrahieren" -#: appTools/ToolSub.py:737 +#: appTools/ToolSub.py:738 msgid "" "Will remove the area occupied by the subtractor\n" "Geometry from the Target Geometry." @@ -20139,11 +20187,11 @@ msgstr "Erstellen von Geometrie aus der analysierten GCode-Datei. " msgid "G91 coordinates not implemented ..." msgstr "G91 Koordinaten nicht implementiert ..." -#: defaults.py:858 +#: defaults.py:859 msgid "Could not load defaults file." msgstr "Voreinstellungen konnte nicht geladen werden." -#: defaults.py:871 +#: defaults.py:872 msgid "Failed to parse defaults file." msgstr "Fehler beim Einlesen der Voreinstellungen." diff --git a/locale/en/LC_MESSAGES/strings.mo b/locale/en/LC_MESSAGES/strings.mo index eee9006654409bd2e4e0374b003875d023fe1283..7bcb945ce60981f3124b581ed990e9e09aa4851b 100644 GIT binary patch delta 72856 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 bWeuA>AX~2dS@Z0S(b6w@p8tPq+^zY4>7Nnv delta 72434 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 BwMGB{ diff --git a/locale/en/LC_MESSAGES/strings.po b/locale/en/LC_MESSAGES/strings.po index 9450f204..1abd8b9d 100644 --- a/locale/en/LC_MESSAGES/strings.po +++ b/locale/en/LC_MESSAGES/strings.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2020-10-21 16:05+0300\n" -"PO-Revision-Date: 2020-10-21 16:05+0300\n" +"POT-Creation-Date: 2020-10-22 15:07+0300\n" +"PO-Revision-Date: 2020-10-22 15:07+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: en\n" @@ -108,7 +108,7 @@ msgstr "Bookmarks" #: appDatabase.py:2998 appDatabase.py:3044 appEditors/AppExcEditor.py:1023 #: appEditors/AppExcEditor.py:1091 appEditors/AppTextEditor.py:263 #: appGUI/MainGUI.py:2878 appGUI/MainGUI.py:3100 appGUI/MainGUI.py:3315 -#: appObjects/FlatCAMCNCJob.py:1736 appObjects/ObjectCollection.py:126 +#: appObjects/FlatCAMCNCJob.py:1745 appObjects/ObjectCollection.py:126 #: appTools/ToolFilm.py:238 appTools/ToolFilm.py:384 appTools/ToolImage.py:112 #: appTools/ToolMove.py:269 appTools/ToolPcbWizard.py:189 #: appTools/ToolPcbWizard.py:212 appTools/ToolQRCode.py:526 @@ -124,8 +124,8 @@ msgid "Cancelled." msgstr "Cancelled." #: Bookmark.py:308 appDatabase.py:673 appDatabase.py:3006 -#: appEditors/AppTextEditor.py:318 appObjects/FlatCAMCNCJob.py:1658 -#: appObjects/FlatCAMCNCJob.py:1848 appObjects/FlatCAMCNCJob.py:2297 +#: appEditors/AppTextEditor.py:318 appObjects/FlatCAMCNCJob.py:1667 +#: appObjects/FlatCAMCNCJob.py:1857 appObjects/FlatCAMCNCJob.py:2306 #: appTools/ToolFilm.py:582 appTools/ToolFilm.py:830 #: appTools/ToolSolderPaste.py:1097 app_Main.py:2666 app_Main.py:8451 #: app_Main.py:8499 app_Main.py:8628 app_Main.py:8765 app_Main.py:8833 @@ -161,24 +161,24 @@ msgid "The user requested a graceful exit of the current task." msgstr "The user requested a graceful exit of the current task." #: appCommon/Common.py:292 appTools/ToolCopperThieving.py:328 -#: appTools/ToolIsolation.py:1436 appTools/ToolNCC.py:1317 +#: appTools/ToolIsolation.py:1436 appTools/ToolNCC.py:1364 msgid "Click the start point of the area." msgstr "Click the start point of the area." -#: appCommon/Common.py:351 appTools/ToolNCC.py:1376 appTools/ToolPaint.py:1210 +#: appCommon/Common.py:351 appTools/ToolNCC.py:1423 appTools/ToolPaint.py:1210 msgid "Click the end point of the area." msgstr "Click the end point of the area." #: appCommon/Common.py:357 appCommon/Common.py:459 #: appTools/ToolCopperThieving.py:385 appTools/ToolIsolation.py:2348 -#: appTools/ToolIsolation.py:2400 appTools/ToolNCC.py:1382 -#: appTools/ToolNCC.py:1434 appTools/ToolPaint.py:1216 +#: appTools/ToolIsolation.py:2400 appTools/ToolNCC.py:1429 +#: appTools/ToolNCC.py:1481 appTools/ToolPaint.py:1216 #: appTools/ToolPaint.py:1267 msgid "Zone added. Click to start adding next zone or right click to finish." msgstr "Zone added. Click to start adding next zone or right click to finish." #: appCommon/Common.py:404 appEditors/AppGeoEditor.py:2352 -#: appTools/ToolIsolation.py:2371 appTools/ToolNCC.py:1405 +#: appTools/ToolIsolation.py:2371 appTools/ToolNCC.py:1452 #: appTools/ToolPaint.py:1238 msgid "Click on next Point or click right mouse button to complete ..." msgstr "Click on next Point or click right mouse button to complete ..." @@ -268,7 +268,7 @@ msgstr "" "in the Tools Database." #: appDatabase.py:130 appDatabase.py:2281 appGUI/MainGUI.py:1438 -#: appGUI/preferences/PreferencesUIManager.py:931 app_Main.py:2291 +#: appGUI/preferences/PreferencesUIManager.py:932 app_Main.py:2291 #: app_Main.py:3386 app_Main.py:4341 app_Main.py:4587 app_Main.py:6895 msgid "Cancel" msgstr "Cancel" @@ -278,15 +278,15 @@ msgid "Tool Name" msgstr "Tool Name" #: appDatabase.py:161 appDatabase.py:837 appEditors/AppExcEditor.py:3765 -#: appGUI/ObjectUI.py:1038 appGUI/ObjectUI.py:1606 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:132 +#: appGUI/ObjectUI.py:1082 appGUI/ObjectUI.py:1650 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:130 #: appTools/ToolCutOut.py:2060 appTools/ToolIsolation.py:3091 -#: appTools/ToolNCC.py:3859 appTools/ToolNCC.py:3870 appTools/ToolPaint.py:2882 +#: appTools/ToolNCC.py:3906 appTools/ToolNCC.py:3917 appTools/ToolPaint.py:2882 msgid "Tool Dia" msgstr "Tool Dia" #: appDatabase.py:162 appDatabase.py:839 appDatabase.py:1273 -#: appGUI/ObjectUI.py:1013 +#: appGUI/ObjectUI.py:1057 msgid "Tool Offset" msgstr "Tool Offset" @@ -297,8 +297,8 @@ msgstr "Custom Offset" #: appDatabase.py:164 appDatabase.py:843 appDatabase.py:1257 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:70 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:53 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:62 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:72 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:60 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:70 msgid "Tool Type" msgstr "Tool Type" @@ -307,16 +307,16 @@ msgid "Tool Shape" msgstr "Tool Shape" #: appDatabase.py:166 appDatabase.py:848 appDatabase.py:1309 -#: appDatabase.py:1834 appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:1169 -#: appGUI/ObjectUI.py:1962 +#: appDatabase.py:1834 appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:1213 +#: appGUI/ObjectUI.py:2019 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:49 #: appGUI/preferences/tools/ToolsCalculatorsPrefGroupUI.py:78 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:58 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:57 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:115 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:98 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:105 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:113 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:103 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:111 #: appTools/ToolCalculators.py:240 appTools/ToolCutOut.py:2104 #: appTools/ToolDrilling.py:2143 appTools/ToolMilling.py:1793 msgid "Cut Z" @@ -341,7 +341,7 @@ msgid "V-Angle" msgstr "V-Angle" #: appDatabase.py:171 appDatabase.py:858 appDatabase.py:1350 -#: appDatabase.py:1903 appGUI/ObjectUI.py:1216 +#: appDatabase.py:1903 appGUI/ObjectUI.py:1260 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:198 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:102 #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:61 @@ -370,7 +370,7 @@ msgid "Spindle Speed" msgstr "Spindle Speed" #: appDatabase.py:176 appDatabase.py:868 appDatabase.py:1467 -#: appDatabase.py:1984 appGUI/ObjectUI.py:1323 appTools/ToolDrilling.py:2264 +#: appDatabase.py:1984 appGUI/ObjectUI.py:1367 appTools/ToolDrilling.py:2264 #: appTools/ToolMilling.py:1957 msgid "Dwell" msgstr "Dwell" @@ -380,7 +380,7 @@ msgstr "Dwell" msgid "Dwelltime" msgstr "Dwelltime" -#: appDatabase.py:178 appDatabase.py:872 appGUI/ObjectUI.py:1482 +#: appDatabase.py:178 appDatabase.py:872 appGUI/ObjectUI.py:1526 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:255 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:221 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:237 @@ -694,13 +694,13 @@ msgstr "" #: appDatabase.py:307 appDatabase.py:684 appDatabase.py:718 appDatabase.py:2647 #: appDatabase.py:3017 appDatabase.py:3051 appTools/ToolCutOut.py:294 #: appTools/ToolDrilling.py:895 appTools/ToolIsolation.py:1067 -#: appTools/ToolNCC.py:965 appTools/ToolPaint.py:704 +#: appTools/ToolNCC.py:1009 appTools/ToolPaint.py:704 msgid "Could not load Tools DB file." msgstr "Could not load Tools DB file." #: appDatabase.py:315 appDatabase.py:726 appDatabase.py:2655 #: appDatabase.py:3059 appTools/ToolCutOut.py:305 appTools/ToolDrilling.py:903 -#: appTools/ToolIsolation.py:1078 appTools/ToolNCC.py:976 +#: appTools/ToolIsolation.py:1078 appTools/ToolNCC.py:1020 #: appTools/ToolPaint.py:715 msgid "Failed to parse Tools DB file." msgstr "Failed to parse Tools DB file." @@ -759,7 +759,7 @@ msgstr "Import FlatCAM Tools DB" #: appDatabase.py:3464 appObjects/FlatCAMGeometry.py:1089 #: appTools/ToolCutOut.py:484 appTools/ToolCutOut.py:525 #: appTools/ToolIsolation.py:2583 appTools/ToolIsolation.py:2667 -#: appTools/ToolNCC.py:3608 appTools/ToolNCC.py:3688 appTools/ToolPaint.py:2626 +#: appTools/ToolNCC.py:3655 appTools/ToolNCC.py:3735 appTools/ToolPaint.py:2626 #: appTools/ToolPaint.py:2715 app_Main.py:5676 app_Main.py:5718 #: app_Main.py:5749 app_Main.py:5769 app_Main.py:5779 msgid "Tools Database" @@ -806,21 +806,21 @@ msgid "Cutout Parameters" msgstr "Cutout Parameters" #: appDatabase.py:1124 appEditors/AppGeoEditor.py:3287 appGUI/ObjectUI.py:219 -#: appGUI/ObjectUI.py:544 appGUI/ObjectUI.py:850 appGUI/ObjectUI.py:1819 -#: appGUI/ObjectUI.py:2624 appGUI/ObjectUI.py:2691 +#: appGUI/ObjectUI.py:570 appGUI/ObjectUI.py:894 appGUI/ObjectUI.py:1876 +#: appGUI/ObjectUI.py:2681 appGUI/ObjectUI.py:2748 #: appTools/ToolCalibration.py:929 appTools/ToolFiducials.py:681 msgid "Name" msgstr "Name" #: appDatabase.py:1137 appEditors/AppExcEditor.py:2567 -#: appEditors/AppExcEditor.py:3732 appGUI/ObjectUI.py:640 -#: appObjects/FlatCAMExcellon.py:900 appObjects/FlatCAMExcellon.py:1000 -#: appObjects/FlatCAMObj.py:716 appObjects/FlatCAMObj.py:779 +#: appEditors/AppExcEditor.py:3732 appGUI/ObjectUI.py:666 +#: appObjects/FlatCAMExcellon.py:902 appObjects/FlatCAMExcellon.py:1002 +#: appObjects/FlatCAMObj.py:719 appObjects/FlatCAMObj.py:782 #: appTools/ToolDrilling.py:1762 appTools/ToolDrilling.py:1827 #: appTools/ToolDrilling.py:2065 appTools/ToolIsolation.py:3022 #: appTools/ToolMilling.py:1071 appTools/ToolMilling.py:1175 #: appTools/ToolMilling.py:1360 appTools/ToolMilling.py:1670 -#: appTools/ToolNCC.py:3778 appTools/ToolPaint.py:2813 +#: appTools/ToolNCC.py:3825 appTools/ToolPaint.py:2813 #: appTools/ToolPcbWizard.py:404 appTools/ToolProperties.py:417 #: appTools/ToolProperties.py:480 appTools/ToolSolderPaste.py:1166 #: tclCommands/TclCommandDrillcncjob.py:195 @@ -857,7 +857,7 @@ msgstr "Set the tool tolerance maximum." #: appDatabase.py:1186 appDatabase.py:1504 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:46 -#: appTools/ToolMilling.py:1738 appTools/ToolNCC.py:3943 +#: appTools/ToolMilling.py:1738 appTools/ToolNCC.py:3990 msgid "Operation" msgstr "Operation" @@ -884,7 +884,7 @@ msgstr "Drilling" #: appDatabase.py:1192 appDatabase.py:1514 appDatabase.py:2761 #: appDatabase.py:3095 appTools/ToolIsolation.py:1101 -#: appTools/ToolIsolation.py:2576 appTools/ToolNCC.py:3953 +#: appTools/ToolIsolation.py:2576 appTools/ToolNCC.py:4000 msgid "Isolation" msgstr "Isolation" @@ -895,7 +895,7 @@ msgid "Paint" msgstr "Paint" #: appDatabase.py:1192 appDatabase.py:2773 appDatabase.py:3111 -#: appTools/ToolNCC.py:1000 appTools/ToolNCC.py:3601 +#: appTools/ToolNCC.py:1044 appTools/ToolNCC.py:3648 msgid "NCC" msgstr "NCC" @@ -909,13 +909,13 @@ msgstr "Cutout" #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:418 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:303 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:322 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:286 -#: appTools/ToolIsolation.py:3425 appTools/ToolNCC.py:4236 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:284 +#: appTools/ToolIsolation.py:3425 appTools/ToolNCC.py:4283 #: appTools/ToolPaint.py:3163 msgid "Shape" msgstr "Shape" -#: appDatabase.py:1403 appGUI/ObjectUI.py:1235 +#: appDatabase.py:1403 appGUI/ObjectUI.py:1279 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:186 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:148 #: appTools/ToolMilling.py:1860 appTools/ToolSolderPaste.py:1325 @@ -930,7 +930,7 @@ msgstr "" "Feedrate X-Y. Feedrate\n" "The speed on XY plane used while cutting into material." -#: appDatabase.py:1417 appDatabase.py:1929 appGUI/ObjectUI.py:1249 +#: appDatabase.py:1417 appDatabase.py:1929 appGUI/ObjectUI.py:1293 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:201 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:171 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:161 @@ -947,7 +947,7 @@ msgstr "" "Feedrate Z\n" "The speed on Z plane." -#: appDatabase.py:1506 appTools/ToolNCC.py:3945 +#: appDatabase.py:1506 appTools/ToolNCC.py:3992 msgid "" "The 'Operation' can be:\n" "- Isolation -> will ensure that the non-copper clearing is always complete.\n" @@ -960,7 +960,7 @@ msgstr "" "- Clear -> the regular non-copper clearing." #: appDatabase.py:1513 appEditors/AppGerberEditor.py:2749 -#: appGUI/GUIElements.py:3021 appTools/ToolNCC.py:3952 +#: appGUI/GUIElements.py:3021 appTools/ToolNCC.py:3999 msgid "Clear" msgstr "Clear" @@ -970,7 +970,7 @@ msgstr "Clear" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:182 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:137 #: appTools/ToolIsolation.py:3204 appTools/ToolMilling.py:1760 -#: appTools/ToolNCC.py:3961 +#: appTools/ToolNCC.py:4008 msgid "Milling Type" msgstr "Milling Type" @@ -980,7 +980,7 @@ msgstr "Milling Type" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:139 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:147 #: appTools/ToolIsolation.py:3206 appTools/ToolIsolation.py:3214 -#: appTools/ToolNCC.py:3963 appTools/ToolNCC.py:3971 +#: appTools/ToolNCC.py:4010 appTools/ToolNCC.py:4018 msgid "" "Milling type when the selected tool is of type: 'iso_op':\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -994,7 +994,7 @@ msgstr "" #: appGUI/preferences/geometry/GeometryEditorPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:189 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:144 -#: appTools/ToolIsolation.py:3211 appTools/ToolNCC.py:3968 +#: appTools/ToolIsolation.py:3211 appTools/ToolNCC.py:4015 msgid "Climb" msgstr "Climb" @@ -1002,23 +1002,23 @@ msgstr "Climb" #: appGUI/preferences/geometry/GeometryEditorPrefGroupUI.py:63 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:190 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:145 -#: appTools/ToolIsolation.py:3212 appTools/ToolNCC.py:3969 +#: appTools/ToolIsolation.py:3212 appTools/ToolNCC.py:4016 msgid "Conventional" msgstr "Conventional" #: appDatabase.py:1542 appDatabase.py:1651 appDatabase.py:1753 -#: appDatabase.py:2027 appEditors/AppGeoEditor.py:450 appGUI/ObjectUI.py:1633 +#: appDatabase.py:2027 appEditors/AppGeoEditor.py:450 appGUI/ObjectUI.py:1677 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:250 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:167 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:182 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:163 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:161 #: appTools/ToolDrilling.py:2312 appTools/ToolIsolation.py:3189 -#: appTools/ToolNCC.py:3984 appTools/ToolPaint.py:2955 +#: appTools/ToolNCC.py:4031 appTools/ToolPaint.py:2955 msgid "Overlap" msgstr "Overlap" #: appDatabase.py:1544 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:184 -#: appTools/ToolNCC.py:3986 +#: appTools/ToolNCC.py:4033 msgid "" "How much (percentage) of the tool width to overlap each tool pass.\n" "Adjust the value starting with lower values\n" @@ -1045,12 +1045,12 @@ msgstr "" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:66 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:115 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:202 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:183 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:181 #: appTools/ToolCopperThieving.py:1204 appTools/ToolCopperThieving.py:1455 #: appTools/ToolCorners.py:411 appTools/ToolCutOut.py:2157 #: appTools/ToolFiducials.py:786 appTools/ToolInvertGerber.py:234 -#: appTools/ToolInvertGerber.py:242 appTools/ToolNCC.py:4028 -#: appTools/ToolNCC.py:4131 +#: appTools/ToolInvertGerber.py:242 appTools/ToolNCC.py:4075 +#: appTools/ToolNCC.py:4178 msgid "Margin" msgstr "Margin" @@ -1061,25 +1061,25 @@ msgstr "Margin" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:68 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:204 #: appTools/ToolCopperThieving.py:1206 appTools/ToolCorners.py:413 -#: appTools/ToolFiducials.py:788 appTools/ToolNCC.py:4030 -#: appTools/ToolNCC.py:4133 +#: appTools/ToolFiducials.py:788 appTools/ToolNCC.py:4077 +#: appTools/ToolNCC.py:4180 msgid "Bounding box margin." msgstr "Bounding box margin." #: appDatabase.py:1576 appDatabase.py:1687 appEditors/AppGeoEditor.py:484 -#: appGUI/ObjectUI.py:1648 appGUI/ObjectUI.py:2115 +#: appGUI/ObjectUI.py:1692 appGUI/ObjectUI.py:2172 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:85 #: appGUI/preferences/tools/Tools2EDrillsPrefGroupUI.py:105 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:106 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:215 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:198 -#: appTools/ToolExtractDrills.py:520 appTools/ToolNCC.py:4005 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:196 +#: appTools/ToolExtractDrills.py:520 appTools/ToolNCC.py:4052 #: appTools/ToolPaint.py:2991 appTools/ToolPunchGerber.py:793 msgid "Method" msgstr "Method" #: appDatabase.py:1578 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:217 -#: appTools/ToolNCC.py:4007 +#: appTools/ToolNCC.py:4054 msgid "" "Algorithm for copper clearing:\n" "- Standard: Fixed step inwards.\n" @@ -1092,9 +1092,9 @@ msgstr "" "- Line-based: Parallel lines." #: appDatabase.py:1586 appDatabase.py:1701 appEditors/AppGeoEditor.py:498 -#: appGUI/ObjectUI.py:1658 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 -#: appTools/ToolNCC.py:1916 appTools/ToolNCC.py:4020 appTools/ToolPaint.py:1456 +#: appGUI/ObjectUI.py:1702 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 +#: appTools/ToolNCC.py:1963 appTools/ToolNCC.py:4067 appTools/ToolPaint.py:1456 #: appTools/ToolPaint.py:3016 defaults.py:346 #: tclCommands/TclCommandCopperClear.py:126 #: tclCommands/TclCommandCopperClear.py:134 tclCommands/TclCommandPaint.py:125 @@ -1103,20 +1103,20 @@ msgstr "Standard" #: appDatabase.py:1586 appDatabase.py:1701 appEditors/AppGeoEditor.py:498 #: appEditors/AppGeoEditor.py:568 appEditors/AppGeoEditor.py:5113 -#: appGUI/ObjectUI.py:1658 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 -#: appTools/ToolNCC.py:1927 appTools/ToolNCC.py:4020 appTools/ToolPaint.py:1470 -#: appTools/ToolPaint.py:3016 defaults.py:469 defaults.py:506 +#: appGUI/ObjectUI.py:1702 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 +#: appTools/ToolNCC.py:1974 appTools/ToolNCC.py:4067 appTools/ToolPaint.py:1470 +#: appTools/ToolPaint.py:3016 defaults.py:469 defaults.py:507 #: tclCommands/TclCommandCopperClear.py:128 #: tclCommands/TclCommandCopperClear.py:136 tclCommands/TclCommandPaint.py:127 msgid "Seed" msgstr "Seed" #: appDatabase.py:1586 appDatabase.py:1701 appEditors/AppGeoEditor.py:498 -#: appEditors/AppGeoEditor.py:5117 appGUI/ObjectUI.py:1658 +#: appEditors/AppGeoEditor.py:5117 appGUI/ObjectUI.py:1702 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 -#: appTools/ToolNCC.py:1938 appTools/ToolNCC.py:4020 appTools/ToolPaint.py:160 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 +#: appTools/ToolNCC.py:1985 appTools/ToolNCC.py:4067 appTools/ToolPaint.py:160 #: appTools/ToolPaint.py:1484 appTools/ToolPaint.py:3016 #: tclCommands/TclCommandCopperClear.py:130 tclCommands/TclCommandPaint.py:129 msgid "Lines" @@ -1124,25 +1124,25 @@ msgstr "Lines" #: appDatabase.py:1586 appDatabase.py:1701 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 -#: appTools/ToolNCC.py:1949 appTools/ToolNCC.py:4020 appTools/ToolPaint.py:1649 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 +#: appTools/ToolNCC.py:1996 appTools/ToolNCC.py:4067 appTools/ToolPaint.py:1649 #: appTools/ToolPaint.py:3016 tclCommands/TclCommandPaint.py:133 msgid "Combo" msgstr "Combo" #: appDatabase.py:1594 appDatabase.py:1712 appEditors/AppGeoEditor.py:505 -#: appGUI/ObjectUI.py:2200 appGUI/ObjectUI.py:2223 +#: appGUI/ObjectUI.py:2257 appGUI/ObjectUI.py:2280 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:237 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:224 -#: appObjects/FlatCAMCNCJob.py:1291 appObjects/FlatCAMCNCJob.py:1313 -#: appTools/ToolNCC.py:4041 appTools/ToolNCC.py:4144 appTools/ToolPaint.py:3027 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:222 +#: appObjects/FlatCAMCNCJob.py:1300 appObjects/FlatCAMCNCJob.py:1322 +#: appTools/ToolNCC.py:4088 appTools/ToolNCC.py:4191 appTools/ToolPaint.py:3027 msgid "Connect" msgstr "Connect" #: appDatabase.py:1598 appDatabase.py:1715 appEditors/AppGeoEditor.py:507 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:239 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:226 -#: appTools/ToolNCC.py:4045 appTools/ToolNCC.py:4146 appTools/ToolPaint.py:3030 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:224 +#: appTools/ToolNCC.py:4092 appTools/ToolNCC.py:4193 appTools/ToolPaint.py:3030 msgid "" "Draw lines between resulting\n" "segments to minimize tool lifts." @@ -1152,15 +1152,15 @@ msgstr "" #: appDatabase.py:1604 appDatabase.py:1719 appEditors/AppGeoEditor.py:515 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:246 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:232 -#: appTools/ToolNCC.py:4051 appTools/ToolNCC.py:4152 appTools/ToolPaint.py:3034 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:230 +#: appTools/ToolNCC.py:4098 appTools/ToolNCC.py:4199 appTools/ToolPaint.py:3034 msgid "Contour" msgstr "Contour" #: appDatabase.py:1608 appDatabase.py:1722 appEditors/AppGeoEditor.py:517 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:248 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:234 -#: appTools/ToolNCC.py:4055 appTools/ToolNCC.py:4154 appTools/ToolPaint.py:3037 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:232 +#: appTools/ToolNCC.py:4102 appTools/ToolNCC.py:4201 appTools/ToolPaint.py:3037 msgid "" "Cut around the perimeter of the polygon\n" "to trim rough edges." @@ -1170,17 +1170,17 @@ msgstr "" #: appDatabase.py:1614 appDatabase.py:1672 appEditors/AppGeoEditor.py:611 #: appEditors/AppGerberEditor.py:5321 appEditors/appGCodeEditor.py:692 -#: appGUI/ObjectUI.py:143 appGUI/ObjectUI.py:955 appGUI/ObjectUI.py:1952 +#: appGUI/ObjectUI.py:143 appGUI/ObjectUI.py:999 appGUI/ObjectUI.py:2009 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:255 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:183 #: appTools/ToolEtchCompensation.py:417 appTools/ToolEtchCompensation.py:425 -#: appTools/ToolNCC.py:4061 appTools/ToolNCC.py:4160 appTools/ToolPaint.py:2976 +#: appTools/ToolNCC.py:4108 appTools/ToolNCC.py:4207 appTools/ToolPaint.py:2976 #: appTools/ToolPaint.py:3083 appTools/ToolTransform.py:517 msgid "Offset" msgstr "Offset" #: appDatabase.py:1618 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:257 -#: appTools/ToolNCC.py:4065 appTools/ToolNCC.py:4162 +#: appTools/ToolNCC.py:4112 appTools/ToolNCC.py:4209 msgid "" "If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -1193,7 +1193,7 @@ msgstr "" "The value can be between 0 and 10 FlatCAM units." #: appDatabase.py:1653 appEditors/AppGeoEditor.py:452 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:165 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:163 #: appTools/ToolPaint.py:2957 msgid "" "How much (percentage) of the tool width to overlap each tool pass.\n" @@ -1213,7 +1213,7 @@ msgstr "" "due of too many paths." #: appDatabase.py:1674 appEditors/AppGeoEditor.py:472 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:185 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:183 #: appTools/ToolPaint.py:2978 appTools/ToolPaint.py:3085 msgid "" "Distance by which to avoid\n" @@ -1224,7 +1224,7 @@ msgstr "" "the edges of the polygon to\n" "be painted." -#: appDatabase.py:1689 appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:200 +#: appDatabase.py:1689 appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:198 #: appTools/ToolPaint.py:2993 msgid "" "Algorithm for painting:\n" @@ -1246,7 +1246,7 @@ msgstr "" "in the order specified." #: appDatabase.py:1701 appDatabase.py:1703 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 #: appTools/ToolPaint.py:154 appTools/ToolPaint.py:159 #: appTools/ToolPaint.py:1498 appTools/ToolPaint.py:3016 #: appTools/ToolPaint.py:3018 tclCommands/TclCommandPaint.py:131 @@ -1267,7 +1267,7 @@ msgstr "" "Width of the isolation gap in\n" "number (integer) of tool widths." -#: appDatabase.py:1755 appGUI/ObjectUI.py:1635 +#: appDatabase.py:1755 appGUI/ObjectUI.py:1679 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:169 #: appTools/ToolIsolation.py:3191 msgid "How much (percentage) of the tool width to overlap each tool pass." @@ -1360,7 +1360,7 @@ msgstr "" "to create the desired exit hole diameter due of the tip shape.\n" "The value here can compensate the Cut Z parameter." -#: appDatabase.py:1874 appGUI/ObjectUI.py:1193 +#: appDatabase.py:1874 appGUI/ObjectUI.py:1237 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:72 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:82 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:80 @@ -1377,7 +1377,7 @@ msgstr "" "cut multiple times until Cut Z is\n" "reached." -#: appDatabase.py:1896 appGUI/ObjectUI.py:1207 +#: appDatabase.py:1896 appGUI/ObjectUI.py:1251 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:92 #: appTools/ToolCutOut.py:2142 appTools/ToolDrilling.py:2180 @@ -1407,7 +1407,7 @@ msgstr "" "So called 'Plunge' feedrate.\n" "This is for linear move G01." -#: appDatabase.py:1946 appGUI/ObjectUI.py:1264 +#: appDatabase.py:1946 appGUI/ObjectUI.py:1308 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:67 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:317 #: appTools/ToolDrilling.py:2227 appTools/ToolMilling.py:1892 @@ -1429,7 +1429,7 @@ msgstr "" "It is useful only for Marlin,\n" "ignore for any other cases." -#: appDatabase.py:1969 appGUI/ObjectUI.py:1307 +#: appDatabase.py:1969 appGUI/ObjectUI.py:1351 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:217 #: appObjects/FlatCAMGeometry.py:1827 appTools/ToolDrilling.py:1310 #: appTools/ToolDrilling.py:2249 appTools/ToolMilling.py:1307 @@ -1651,7 +1651,7 @@ msgstr "" #: appTools/ToolCopperThieving.py:1595 appTools/ToolCopperThieving.py:1606 #: appTools/ToolCorners.py:462 appTools/ToolCorners.py:473 #: appTools/ToolCutOut.py:2437 appTools/ToolCutOut.py:2448 -#: appTools/ToolDblSided.py:965 appTools/ToolDblSided.py:976 +#: appTools/ToolDblSided.py:956 appTools/ToolDblSided.py:967 #: appTools/ToolDistance.py:659 appTools/ToolDistance.py:670 #: appTools/ToolDistanceMin.py:324 appTools/ToolDistanceMin.py:335 #: appTools/ToolDrilling.py:2666 appTools/ToolDrilling.py:2677 @@ -1663,7 +1663,7 @@ msgstr "" #: appTools/ToolInvertGerber.py:304 appTools/ToolInvertGerber.py:315 #: appTools/ToolIsolation.py:3494 appTools/ToolIsolation.py:3505 #: appTools/ToolMilling.py:2341 appTools/ToolMilling.py:2352 -#: appTools/ToolNCC.py:4391 appTools/ToolNCC.py:4402 +#: appTools/ToolNCC.py:4448 appTools/ToolNCC.py:4459 #: appTools/ToolOptimal.py:614 appTools/ToolOptimal.py:625 #: appTools/ToolPaint.py:3267 appTools/ToolPaint.py:3278 #: appTools/ToolPanelize.py:914 appTools/ToolPanelize.py:925 @@ -1672,7 +1672,7 @@ msgstr "" #: appTools/ToolQRCode.py:922 appTools/ToolQRCode.py:933 #: appTools/ToolRulesCheck.py:1655 appTools/ToolRulesCheck.py:1666 #: appTools/ToolSolderPaste.py:1575 appTools/ToolSolderPaste.py:1586 -#: appTools/ToolSub.py:770 appTools/ToolSub.py:781 +#: appTools/ToolSub.py:772 appTools/ToolSub.py:783 #: appTools/ToolTransform.py:964 appTools/ToolTransform.py:975 msgid "Edited value is out of range" msgstr "Edited value is out of range" @@ -1687,7 +1687,7 @@ msgstr "Edited value is out of range" #: appTools/ToolCopperThieving.py:1601 appTools/ToolCopperThieving.py:1608 #: appTools/ToolCorners.py:468 appTools/ToolCorners.py:475 #: appTools/ToolCutOut.py:2443 appTools/ToolCutOut.py:2450 -#: appTools/ToolDblSided.py:971 appTools/ToolDblSided.py:978 +#: appTools/ToolDblSided.py:962 appTools/ToolDblSided.py:969 #: appTools/ToolDistance.py:665 appTools/ToolDistance.py:672 #: appTools/ToolDistanceMin.py:330 appTools/ToolDistanceMin.py:337 #: appTools/ToolDrilling.py:2672 appTools/ToolDrilling.py:2679 @@ -1699,7 +1699,7 @@ msgstr "Edited value is out of range" #: appTools/ToolInvertGerber.py:310 appTools/ToolInvertGerber.py:317 #: appTools/ToolIsolation.py:3500 appTools/ToolIsolation.py:3507 #: appTools/ToolMilling.py:2347 appTools/ToolMilling.py:2354 -#: appTools/ToolNCC.py:4397 appTools/ToolNCC.py:4404 +#: appTools/ToolNCC.py:4454 appTools/ToolNCC.py:4461 #: appTools/ToolOptimal.py:620 appTools/ToolOptimal.py:627 #: appTools/ToolPaint.py:3273 appTools/ToolPaint.py:3280 #: appTools/ToolPanelize.py:920 appTools/ToolPanelize.py:927 @@ -1708,7 +1708,7 @@ msgstr "Edited value is out of range" #: appTools/ToolQRCode.py:928 appTools/ToolQRCode.py:935 #: appTools/ToolRulesCheck.py:1661 appTools/ToolRulesCheck.py:1668 #: appTools/ToolSolderPaste.py:1581 appTools/ToolSolderPaste.py:1588 -#: appTools/ToolSub.py:776 appTools/ToolSub.py:783 +#: appTools/ToolSub.py:778 appTools/ToolSub.py:785 #: appTools/ToolTransform.py:970 appTools/ToolTransform.py:977 msgid "Edited value is within limits." msgstr "Edited value is within limits." @@ -1835,12 +1835,12 @@ msgstr "Done. Drill(s) Move completed." msgid "Done. Drill(s) copied." msgstr "Done. Drill(s) copied." -#: appEditors/AppExcEditor.py:1897 appObjects/FlatCAMExcellon.py:328 +#: appEditors/AppExcEditor.py:1897 appObjects/FlatCAMExcellon.py:330 #: appTools/ToolDrilling.py:571 appTools/ToolMilling.py:494 msgid "Total Drills" msgstr "Total Drills" -#: appEditors/AppExcEditor.py:1929 appObjects/FlatCAMExcellon.py:362 +#: appEditors/AppExcEditor.py:1929 appObjects/FlatCAMExcellon.py:364 #: appTools/ToolDrilling.py:598 appTools/ToolMilling.py:521 msgid "Total Slots" msgstr "Total Slots" @@ -1848,8 +1848,8 @@ msgstr "Total Slots" #: appEditors/AppExcEditor.py:2003 appObjects/FlatCAMGeometry.py:706 #: appObjects/FlatCAMGeometry.py:1232 appObjects/FlatCAMGeometry.py:1974 #: appObjects/FlatCAMGeometry.py:2633 appTools/ToolIsolation.py:1252 -#: appTools/ToolIsolation.py:1705 appTools/ToolNCC.py:1151 -#: appTools/ToolNCC.py:1285 appTools/ToolPaint.py:889 +#: appTools/ToolIsolation.py:1705 appTools/ToolNCC.py:1195 +#: appTools/ToolNCC.py:1332 appTools/ToolPaint.py:889 #: appTools/ToolPaint.py:1027 appTools/ToolPaint.py:1740 #: appTools/ToolSolderPaste.py:455 appTools/ToolSolderPaste.py:527 msgid "Wrong value format entered, use a number." @@ -1920,7 +1920,7 @@ msgstr "Done. Drill(s) deleted." msgid "Click on the circular array Center position" msgstr "Click on the circular array Center position" -#: appEditors/AppExcEditor.py:3705 appGUI/ObjectUI.py:553 +#: appEditors/AppExcEditor.py:3705 appGUI/ObjectUI.py:579 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:26 msgid "Excellon Editor" msgstr "Excellon Editor" @@ -1930,14 +1930,14 @@ msgstr "Excellon Editor" msgid "Name:" msgstr "Name:" -#: appEditors/AppExcEditor.py:3718 appGUI/ObjectUI.py:594 -#: appGUI/ObjectUI.py:923 appTools/ToolIsolation.py:3010 -#: appTools/ToolNCC.py:3766 appTools/ToolPaint.py:2800 +#: appEditors/AppExcEditor.py:3718 appGUI/ObjectUI.py:620 +#: appGUI/ObjectUI.py:967 appTools/ToolIsolation.py:3010 +#: appTools/ToolNCC.py:3813 appTools/ToolPaint.py:2800 #: appTools/ToolSolderPaste.py:1155 msgid "Tools Table" msgstr "Tools Table" -#: appEditors/AppExcEditor.py:3720 appGUI/ObjectUI.py:596 +#: appEditors/AppExcEditor.py:3720 appGUI/ObjectUI.py:622 msgid "" "Tools in this Excellon object\n" "when are used for drilling." @@ -1965,9 +1965,9 @@ msgstr "" "Add/Delete a tool to the tool list\n" "for this Excellon object." -#: appEditors/AppExcEditor.py:3767 appGUI/ObjectUI.py:1040 +#: appEditors/AppExcEditor.py:3767 appGUI/ObjectUI.py:1084 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:57 -#: appTools/ToolIsolation.py:3093 appTools/ToolNCC.py:3861 +#: appTools/ToolIsolation.py:3093 appTools/ToolNCC.py:3908 msgid "Diameter for the new tool" msgstr "Diameter for the new tool" @@ -2050,7 +2050,7 @@ msgstr "Linear" #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:151 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:78 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:61 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:70 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:68 #: appTools/ToolExtractDrills.py:470 appTools/ToolExtractDrills.py:593 #: appTools/ToolFiducials.py:834 appTools/ToolPunchGerber.py:743 #: appTools/ToolPunchGerber.py:883 @@ -2219,7 +2219,7 @@ msgstr "" #: appEditors/AppExcEditor.py:4007 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:162 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 -#: appObjects/FlatCAMObj.py:874 appTools/ToolCorners.py:398 +#: appObjects/FlatCAMObj.py:877 appTools/ToolCorners.py:398 #: appTools/ToolProperties.py:575 msgid "Length" msgstr "Length" @@ -2291,7 +2291,6 @@ msgid "Exit from Editor." msgstr "Exit from Editor." #: appEditors/AppGeoEditor.py:49 -#| msgid "Area Selection" msgid "Buffer Selection" msgstr "Buffer Selection" @@ -2322,7 +2321,7 @@ msgid "Round" msgstr "Round" #: appEditors/AppGeoEditor.py:94 appEditors/AppGerberEditor.py:2639 -#: appGUI/ObjectUI.py:1570 +#: appGUI/ObjectUI.py:1614 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:223 #: appGUI/preferences/tools/Tools2EDrillsPrefGroupUI.py:68 #: appGUI/preferences/tools/Tools2EDrillsPrefGroupUI.py:175 @@ -2333,10 +2332,10 @@ msgstr "Round" #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:423 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:308 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:327 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:291 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:289 #: appTools/ToolDrilling.py:2588 appTools/ToolExtractDrills.py:486 #: appTools/ToolExtractDrills.py:619 appTools/ToolIsolation.py:3430 -#: appTools/ToolMilling.py:2264 appTools/ToolNCC.py:4241 +#: appTools/ToolMilling.py:2264 appTools/ToolNCC.py:4288 #: appTools/ToolPaint.py:3168 appTools/ToolPunchGerber.py:759 #: appTools/ToolPunchGerber.py:909 appTools/ToolQRCode.py:788 msgid "Square" @@ -2372,7 +2371,6 @@ msgid "Buffer distance value is missing or wrong format. Add it and retry." msgstr "Buffer distance value is missing or wrong format. Add it and retry." #: appEditors/AppGeoEditor.py:194 -#| msgid "Text Tool" msgid "Text Input Tool" msgstr "Text Input Tool" @@ -2393,19 +2391,19 @@ msgid "Text Tool" msgstr "Text Tool" #: appEditors/AppGeoEditor.py:404 appGUI/MainGUI.py:511 appGUI/MainGUI.py:1245 -#: appGUI/ObjectUI.py:1128 appObjects/FlatCAMExcellon.py:878 +#: appGUI/ObjectUI.py:1172 appObjects/FlatCAMExcellon.py:880 #: appObjects/FlatCAMGeometry.py:950 appTools/ToolDrilling.py:711 #: appTools/ToolDrilling.py:1033 appTools/ToolDrilling.py:2116 #: appTools/ToolIsolation.py:697 appTools/ToolIsolation.py:3166 #: appTools/ToolMilling.py:790 appTools/ToolMilling.py:1046 -#: appTools/ToolMilling.py:1711 appTools/ToolNCC.py:324 -#: appTools/ToolNCC.py:2231 appTools/ToolNCC.py:3933 appTools/ToolPaint.py:304 +#: appTools/ToolMilling.py:1711 appTools/ToolNCC.py:329 +#: appTools/ToolNCC.py:2278 appTools/ToolNCC.py:3980 appTools/ToolPaint.py:304 #: appTools/ToolPaint.py:2940 msgid "Tool" msgstr "Tool" #: appEditors/AppGeoEditor.py:412 appEditors/AppGeoEditor.py:546 -#: appGUI/MainGUI.py:935 appGUI/MainGUI.py:2090 appGUI/ObjectUI.py:1723 +#: appGUI/MainGUI.py:935 appGUI/MainGUI.py:2090 appGUI/ObjectUI.py:1783 #: appTools/ToolPaint.py:228 appTools/ToolPaint.py:2730 msgid "Paint Tool" msgstr "Paint Tool" @@ -2490,7 +2488,7 @@ msgstr "Buffer" #: appGUI/GUIElements.py:2957 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:169 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:44 -#: appTools/ToolDblSided.py:688 appTools/ToolDblSided.py:864 +#: appTools/ToolDblSided.py:681 appTools/ToolDblSided.py:855 #: appTools/ToolFilm.py:1060 appTools/ToolTransform.py:547 msgid "Reference" msgstr "Reference" @@ -2525,10 +2523,10 @@ msgstr "Origin" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:250 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:285 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:311 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:258 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:256 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:54 -#: appTools/ToolIsolation.py:3368 appTools/ToolNCC.py:4197 -#: appTools/ToolPaint.py:3097 appTools/ToolTransform.py:557 defaults.py:565 +#: appTools/ToolIsolation.py:3368 appTools/ToolNCC.py:4244 +#: appTools/ToolPaint.py:3097 appTools/ToolTransform.py:557 defaults.py:566 msgid "Selection" msgstr "Selection" @@ -2536,7 +2534,7 @@ msgstr "Selection" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:85 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:54 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:60 -#: appTools/ToolDblSided.py:699 appTools/ToolTransform.py:557 +#: appTools/ToolDblSided.py:692 appTools/ToolTransform.py:557 msgid "Point" msgstr "Point" @@ -2563,8 +2561,8 @@ msgid "A point of reference in format X,Y." msgstr "A point of reference in format X,Y." #: appEditors/AppGeoEditor.py:668 appEditors/AppGerberEditor.py:2590 -#: appEditors/AppGerberEditor.py:5378 appGUI/ObjectUI.py:2281 -#: appTools/ToolDblSided.py:713 appTools/ToolDblSided.py:901 +#: appEditors/AppGerberEditor.py:5378 appGUI/ObjectUI.py:2338 +#: appTools/ToolDblSided.py:706 appTools/ToolDblSided.py:892 #: appTools/ToolNCC.py:63 appTools/ToolPaint.py:137 #: appTools/ToolSolderPaste.py:160 appTools/ToolSolderPaste.py:1203 #: appTools/ToolTransform.py:572 app_Main.py:6121 @@ -2774,7 +2772,7 @@ msgid "Offset Y" msgstr "Offset Y" #: appEditors/AppGeoEditor.py:920 appEditors/AppGerberEditor.py:5630 -#: appGUI/ObjectUI.py:436 appGUI/ObjectUI.py:473 +#: appGUI/ObjectUI.py:462 appGUI/ObjectUI.py:499 #: appGUI/preferences/tools/Tools2InvertPrefGroupUI.py:67 #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:142 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:216 @@ -2862,12 +2860,12 @@ msgstr "" "element from the selected object, using the factor." #: appEditors/AppGeoEditor.py:1043 appEditors/AppGerberEditor.py:5753 -#: appGUI/ObjectUI.py:1524 appGUI/preferences/tools/Tools2CalPrefGroupUI.py:48 +#: appGUI/ObjectUI.py:1568 appGUI/preferences/tools/Tools2CalPrefGroupUI.py:48 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:54 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:70 #: appTools/ToolCalibration.py:881 appTools/ToolDrilling.py:2540 #: appTools/ToolFilm.py:931 appTools/ToolMilling.py:2218 -#: appTools/ToolNCC.py:3755 appTools/ToolPaint.py:2788 +#: appTools/ToolNCC.py:3802 appTools/ToolPaint.py:2788 #: appTools/ToolPanelize.py:697 appTools/ToolTransform.py:557 msgid "Object" msgstr "Object" @@ -3249,14 +3247,14 @@ msgstr "Create Paint geometry ..." msgid "Shape transformations ..." msgstr "Shape transformations ..." -#: appEditors/AppGeoEditor.py:3281 appGUI/ObjectUI.py:857 +#: appEditors/AppGeoEditor.py:3281 appGUI/ObjectUI.py:901 #: appGUI/preferences/geometry/GeometryEditorPrefGroupUI.py:27 msgid "Geometry Editor" msgstr "Geometry Editor" #: appEditors/AppGeoEditor.py:3287 appEditors/AppGerberEditor.py:2495 #: appEditors/AppGerberEditor.py:3968 appEditors/appGCodeEditor.py:692 -#: appGUI/ObjectUI.py:316 appGUI/ObjectUI.py:955 appGUI/ObjectUI.py:1952 +#: appGUI/ObjectUI.py:316 appGUI/ObjectUI.py:999 appGUI/ObjectUI.py:2009 #: appTools/ToolCutOut.py:2013 appTools/ToolDblSided.py:519 #: appTools/ToolTransform.py:579 msgid "Type" @@ -3271,14 +3269,14 @@ msgid "Line" msgstr "Line" #: appEditors/AppGeoEditor.py:3561 appGUI/MainGUI.py:1496 -#: appGUI/ObjectUI.py:1571 +#: appGUI/ObjectUI.py:1615 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:224 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:424 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:309 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:328 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:292 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:290 #: appTools/ToolDrilling.py:2589 appTools/ToolIsolation.py:3431 -#: appTools/ToolMilling.py:2265 appTools/ToolNCC.py:4242 +#: appTools/ToolMilling.py:2265 appTools/ToolNCC.py:4289 #: appTools/ToolPaint.py:3169 msgid "Polygon" msgstr "Polygon" @@ -3313,7 +3311,7 @@ msgstr "Click on target point." msgid "Editing MultiGeo Geometry, tool" msgstr "Editing MultiGeo Geometry, tool" -#: appEditors/AppGeoEditor.py:4681 appTools/ToolNCC.py:2233 +#: appEditors/AppGeoEditor.py:4681 appTools/ToolNCC.py:2280 msgid "with diameter" msgstr "with diameter" @@ -3640,10 +3638,10 @@ msgstr "Add a new aperture to the aperture list." #: appEditors/AppGerberEditor.py:2595 appEditors/AppGerberEditor.py:2743 #: appGUI/MainGUI.py:757 appGUI/MainGUI.py:1093 appGUI/MainGUI.py:1577 -#: appGUI/MainGUI.py:2247 appGUI/MainGUI.py:4683 appGUI/ObjectUI.py:1088 +#: appGUI/MainGUI.py:2247 appGUI/MainGUI.py:4683 appGUI/ObjectUI.py:1132 #: appObjects/FlatCAMGeometry.py:560 appTools/ToolIsolation.py:70 #: appTools/ToolIsolation.py:3150 appTools/ToolNCC.py:69 -#: appTools/ToolNCC.py:3917 appTools/ToolPaint.py:143 +#: appTools/ToolNCC.py:3964 appTools/ToolPaint.py:143 #: appTools/ToolPaint.py:2926 appTools/ToolSolderPaste.py:163 #: appTools/ToolSolderPaste.py:1209 app_Main.py:6123 msgid "Delete" @@ -3858,7 +3856,7 @@ msgid "" msgstr "" "There are no Aperture definitions in the file. Aborting Gerber creation." -#: appEditors/AppGerberEditor.py:4364 appObjects/AppObject.py:156 +#: appEditors/AppGerberEditor.py:4364 appObjects/AppObject.py:164 #: appObjects/FlatCAMGeometry.py:1916 appParsers/ParseExcellon.py:972 #: appTools/ToolPcbWizard.py:318 app_Main.py:9004 app_Main.py:9064 #: app_Main.py:9195 app_Main.py:9260 app_Main.py:9816 @@ -3994,12 +3992,12 @@ msgid "String to replace the one in the Find box throughout the text." msgstr "String to replace the one in the Find box throughout the text." #: appEditors/AppTextEditor.py:101 appGUI/GUIElements.py:3508 -#: appGUI/ObjectUI.py:1807 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:61 +#: appGUI/ObjectUI.py:1864 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:61 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:295 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:278 #: appTools/ToolIsolation.py:808 appTools/ToolIsolation.py:1433 #: appTools/ToolIsolation.py:3378 appTools/ToolPaint.py:1035 -#: appTools/ToolPaint.py:3127 defaults.py:420 defaults.py:507 +#: appTools/ToolPaint.py:3127 defaults.py:420 defaults.py:508 #: tclCommands/TclCommandPaint.py:162 msgid "All" msgstr "All" @@ -4053,20 +4051,20 @@ msgid "Open file" msgstr "Open file" #: appEditors/AppTextEditor.py:255 appEditors/AppTextEditor.py:260 -#: appObjects/FlatCAMCNCJob.py:1632 appObjects/FlatCAMCNCJob.py:1637 -#: appObjects/FlatCAMCNCJob.py:1822 appObjects/FlatCAMCNCJob.py:1827 -#: appObjects/FlatCAMCNCJob.py:1900 appObjects/FlatCAMCNCJob.py:1905 +#: appObjects/FlatCAMCNCJob.py:1641 appObjects/FlatCAMCNCJob.py:1646 +#: appObjects/FlatCAMCNCJob.py:1831 appObjects/FlatCAMCNCJob.py:1836 +#: appObjects/FlatCAMCNCJob.py:1909 appObjects/FlatCAMCNCJob.py:1914 #: appTools/ToolSolderPaste.py:1063 app_Main.py:7038 app_Main.py:7043 msgid "Export Code ..." msgstr "Export Code ..." -#: appEditors/AppTextEditor.py:314 appObjects/FlatCAMCNCJob.py:1654 -#: appObjects/FlatCAMCNCJob.py:1844 appObjects/FlatCAMCNCJob.py:2293 +#: appEditors/AppTextEditor.py:314 appObjects/FlatCAMCNCJob.py:1663 +#: appObjects/FlatCAMCNCJob.py:1853 appObjects/FlatCAMCNCJob.py:2302 #: appTools/ToolSolderPaste.py:1093 msgid "No such file or directory" msgstr "No such file or directory" -#: appEditors/AppTextEditor.py:326 appObjects/FlatCAMCNCJob.py:2307 +#: appEditors/AppTextEditor.py:326 appObjects/FlatCAMCNCJob.py:2316 msgid "Saved to" msgstr "Saved to" @@ -4090,30 +4088,30 @@ msgstr "Header GCode" msgid "Start GCode" msgstr "Start GCode" -#: appEditors/appGCodeEditor.py:577 appObjects/FlatCAMCNCJob.py:1998 +#: appEditors/appGCodeEditor.py:577 appObjects/FlatCAMCNCJob.py:2007 #: appTools/ToolCalibration.py:447 msgid "Loaded Machine Code into Code Editor" msgstr "Loaded Machine Code into Code Editor" -#: appEditors/appGCodeEditor.py:667 appGUI/ObjectUI.py:1827 +#: appEditors/appGCodeEditor.py:667 appGUI/ObjectUI.py:1884 msgid "GCode Editor" msgstr "GCode Editor" #: appEditors/appGCodeEditor.py:692 appEditors/appGCodeEditor.py:703 -#: appGUI/ObjectUI.py:955 appGUI/ObjectUI.py:1952 appGUI/ObjectUI.py:1962 +#: appGUI/ObjectUI.py:999 appGUI/ObjectUI.py:2009 appGUI/ObjectUI.py:2019 #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:138 #: appTools/ToolCopperThieving.py:1314 msgid "Dia" msgstr "Dia" -#: appEditors/appGCodeEditor.py:692 appGUI/ObjectUI.py:955 -#: appGUI/ObjectUI.py:1952 appTools/ToolIsolation.py:3022 -#: appTools/ToolNCC.py:3778 appTools/ToolPaint.py:2813 +#: appEditors/appGCodeEditor.py:692 appGUI/ObjectUI.py:999 +#: appGUI/ObjectUI.py:2009 appTools/ToolIsolation.py:3022 +#: appTools/ToolNCC.py:3825 appTools/ToolPaint.py:2813 msgid "TT" msgstr "TT" -#: appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:640 -#: appGUI/ObjectUI.py:1962 +#: appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:666 +#: appGUI/ObjectUI.py:2019 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:71 #: appObjects/FlatCAMObj.py:499 appTools/ToolDrilling.py:2065 #: appTools/ToolMilling.py:1670 appTools/ToolMilling.py:1769 @@ -4121,8 +4119,8 @@ msgstr "TT" msgid "Drills" msgstr "Drills" -#: appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:640 -#: appGUI/ObjectUI.py:1962 +#: appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:666 +#: appGUI/ObjectUI.py:2019 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:158 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:72 #: appObjects/FlatCAMObj.py:501 appTools/ToolDrilling.py:2065 @@ -4484,7 +4482,7 @@ msgstr "Import Preferences from file ..." msgid "Export Preferences to file ..." msgstr "Export Preferences to file ..." -#: appGUI/MainGUI.py:295 appGUI/preferences/PreferencesUIManager.py:1172 +#: appGUI/MainGUI.py:295 appGUI/preferences/PreferencesUIManager.py:1173 msgid "Save Preferences" msgstr "Save Preferences" @@ -5004,7 +5002,7 @@ msgstr "View Source" #: appGUI/MainGUI.py:755 appGUI/MainGUI.py:874 appGUI/MainGUI.py:1091 #: appGUI/MainGUI.py:1575 appGUI/MainGUI.py:2032 appGUI/MainGUI.py:2245 -#: appGUI/MainGUI.py:4680 appGUI/ObjectUI.py:1081 +#: appGUI/MainGUI.py:4680 appGUI/ObjectUI.py:1125 #: appObjects/FlatCAMGeometry.py:557 appTools/ToolPanelize.py:325 #: appTools/ToolPanelize.py:351 appTools/ToolPanelize.py:448 #: appTools/ToolPanelize.py:477 appTools/ToolPanelize.py:538 @@ -5164,7 +5162,7 @@ msgid "Cutout Tool" msgstr "Cutout Tool" #: appGUI/MainGUI.py:933 appGUI/MainGUI.py:2088 appGUI/ObjectUI.py:372 -#: appGUI/ObjectUI.py:1742 appTools/ToolNCC.py:197 +#: appGUI/ObjectUI.py:1799 appTools/ToolNCC.py:202 msgid "NCC Tool" msgstr "NCC Tool" @@ -5173,7 +5171,7 @@ msgstr "NCC Tool" msgid "Isolation Tool" msgstr "Isolation Tool" -#: appGUI/MainGUI.py:939 appGUI/MainGUI.py:2094 appGUI/ObjectUI.py:695 +#: appGUI/MainGUI.py:939 appGUI/MainGUI.py:2094 appGUI/ObjectUI.py:721 #: appTools/ToolDrilling.py:245 appTools/ToolDrilling.py:1979 #: appTools/ToolMilling.py:169 msgid "Drilling Tool" @@ -5427,10 +5425,10 @@ msgstr "Max. magnet distance" msgid "Toggle the display of axis on canvas" msgstr "Toggle the display of axis on canvas" -#: appGUI/MainGUI.py:1148 appGUI/preferences/PreferencesUIManager.py:898 -#: appGUI/preferences/PreferencesUIManager.py:991 -#: appGUI/preferences/PreferencesUIManager.py:1019 -#: appGUI/preferences/PreferencesUIManager.py:1124 app_Main.py:5579 +#: appGUI/MainGUI.py:1148 appGUI/preferences/PreferencesUIManager.py:899 +#: appGUI/preferences/PreferencesUIManager.py:992 +#: appGUI/preferences/PreferencesUIManager.py:1020 +#: appGUI/preferences/PreferencesUIManager.py:1125 app_Main.py:5579 #: app_Main.py:5584 app_Main.py:5599 msgid "Preferences" msgstr "Preferences" @@ -5481,7 +5479,7 @@ msgstr "Plot Area" #: appTools/ToolInvertGerber.py:215 appTools/ToolIsolation.py:2986 #: appTools/ToolOptimal.py:421 appTools/ToolPunchGerber.py:718 #: appTools/ToolQRCode.py:659 appTools/ToolRulesCheck.py:1163 -#: appTools/ToolSolderPaste.py:1143 appTools/ToolSub.py:641 +#: appTools/ToolSolderPaste.py:1143 appTools/ToolSub.py:643 msgid "GERBER" msgstr "GERBER" @@ -5490,7 +5488,7 @@ msgstr "GERBER" msgid "EXCELLON" msgstr "EXCELLON" -#: appGUI/MainGUI.py:1334 appTools/ToolSub.py:696 +#: appGUI/MainGUI.py:1334 appTools/ToolSub.py:695 msgid "GEOMETRY" msgstr "GEOMETRY" @@ -5498,8 +5496,8 @@ msgstr "GEOMETRY" msgid "CNC-JOB" msgstr "CNC-JOB" -#: appGUI/MainGUI.py:1353 appGUI/ObjectUI.py:353 appGUI/ObjectUI.py:691 -#: appGUI/ObjectUI.py:1716 +#: appGUI/MainGUI.py:1353 appGUI/ObjectUI.py:353 appGUI/ObjectUI.py:717 +#: appGUI/ObjectUI.py:1760 msgid "TOOLS" msgstr "TOOLS" @@ -5564,7 +5562,7 @@ msgstr "Will not save the changes and will close the preferences window." msgid "Toggle Visibility" msgstr "Toggle Visibility" -#: appGUI/MainGUI.py:1461 appGUI/ObjectUI.py:2273 +#: appGUI/MainGUI.py:1461 appGUI/ObjectUI.py:2330 msgid "New" msgstr "New" @@ -5573,12 +5571,12 @@ msgstr "New" #: appTools/ToolCalibration.py:171 appTools/ToolCalibration.py:1326 #: appTools/ToolCalibration.py:1343 appTools/ToolCopperThieving.py:163 #: appTools/ToolCopperThieving.py:1237 appTools/ToolCopperThieving.py:1251 -#: appTools/ToolCutOut.py:2010 appTools/ToolDblSided.py:529 -#: appTools/ToolDblSided.py:774 appTools/ToolFilm.py:929 +#: appTools/ToolCutOut.py:2010 appTools/ToolDblSided.py:526 +#: appTools/ToolDblSided.py:767 appTools/ToolFilm.py:929 #: appTools/ToolFilm.py:952 appTools/ToolImage.py:136 appTools/ToolImage.py:191 #: appTools/ToolIsolation.py:802 appTools/ToolIsolation.py:3338 -#: appTools/ToolIsolation.py:3391 appTools/ToolNCC.py:793 -#: appTools/ToolNCC.py:3741 appTools/ToolNCC.py:4216 appTools/ToolPaint.py:167 +#: appTools/ToolIsolation.py:3391 appTools/ToolNCC.py:803 +#: appTools/ToolNCC.py:3788 appTools/ToolNCC.py:4263 appTools/ToolPaint.py:167 #: appTools/ToolPaint.py:3143 appTools/ToolPanelize.py:147 #: appTools/ToolPanelize.py:167 appTools/ToolPanelize.py:715 #: appTools/ToolTransform.py:126 appTools/ToolTransform.py:587 @@ -5593,10 +5591,10 @@ msgstr "Geometry" #: appTools/ToolCalibration.py:892 appTools/ToolCalibration.py:1326 #: appTools/ToolCalibration.py:1343 appTools/ToolCopperThieving.py:163 #: appTools/ToolCopperThieving.py:1237 appTools/ToolCopperThieving.py:1251 -#: appTools/ToolDblSided.py:530 appTools/ToolDblSided.py:731 -#: appTools/ToolDblSided.py:773 appTools/ToolFilm.py:1207 +#: appTools/ToolDblSided.py:527 appTools/ToolDblSided.py:724 +#: appTools/ToolDblSided.py:766 appTools/ToolFilm.py:1207 #: appTools/ToolIsolation.py:802 appTools/ToolIsolation.py:3391 -#: appTools/ToolNCC.py:793 appTools/ToolNCC.py:4216 appTools/ToolPaint.py:167 +#: appTools/ToolNCC.py:803 appTools/ToolNCC.py:4263 appTools/ToolPaint.py:167 #: appTools/ToolPaint.py:3143 appTools/ToolPanelize.py:147 #: appTools/ToolPunchGerber.py:803 appTools/ToolPunchGerber.py:818 #: appTools/ToolTransform.py:126 appTools/ToolTransform.py:586 @@ -5647,7 +5645,7 @@ msgstr "Intersection" msgid "Subtraction" msgstr "Subtraction" -#: appGUI/MainGUI.py:1518 appGUI/ObjectUI.py:1809 +#: appGUI/MainGUI.py:1518 appGUI/ObjectUI.py:1866 #: appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:63 msgid "Cut" msgstr "Cut" @@ -5700,20 +5698,20 @@ msgstr "FlatCAM Preferences Folder opened." msgid "Are you sure you want to delete the GUI Settings? \n" msgstr "Are you sure you want to delete the GUI Settings? \n" -#: appGUI/MainGUI.py:1986 appGUI/preferences/PreferencesUIManager.py:930 -#: appGUI/preferences/PreferencesUIManager.py:1176 appTranslation.py:112 +#: appGUI/MainGUI.py:1986 appGUI/preferences/PreferencesUIManager.py:931 +#: appGUI/preferences/PreferencesUIManager.py:1177 appTranslation.py:112 #: appTranslation.py:214 app_Main.py:2289 app_Main.py:3384 app_Main.py:5809 #: app_Main.py:6893 msgid "Yes" msgstr "Yes" -#: appGUI/MainGUI.py:1987 appGUI/preferences/PreferencesUIManager.py:1177 +#: appGUI/MainGUI.py:1987 appGUI/preferences/PreferencesUIManager.py:1178 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:49 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:164 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:150 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:148 #: appTools/ToolDrilling.py:2090 appTools/ToolIsolation.py:3066 -#: appTools/ToolMilling.py:1695 appTools/ToolNCC.py:3828 +#: appTools/ToolMilling.py:1695 appTools/ToolNCC.py:3875 #: appTools/ToolPaint.py:2851 appTranslation.py:113 appTranslation.py:215 #: app_Main.py:2290 app_Main.py:3385 app_Main.py:5810 app_Main.py:6894 msgid "No" @@ -5796,7 +5794,7 @@ msgstr "Cancelled. Nothing selected to move." msgid "New Tool ..." msgstr "New Tool ..." -#: appGUI/MainGUI.py:3503 appTools/ToolIsolation.py:783 appTools/ToolNCC.py:450 +#: appGUI/MainGUI.py:3503 appTools/ToolIsolation.py:783 appTools/ToolNCC.py:455 #: appTools/ToolPaint.py:387 appTools/ToolSolderPaste.py:123 msgid "Enter a Tool Diameter" msgstr "Enter a Tool Diameter" @@ -5821,7 +5819,7 @@ msgstr "Shell enabled." msgid "Shell disabled." msgstr "Shell disabled." -#: appGUI/MainGUI.py:3875 app_Main.py:9689 +#: appGUI/MainGUI.py:3875 msgid "Shortcut Key List" msgstr "Shortcut Key List" @@ -6333,15 +6331,15 @@ msgstr "Perform the offset operation." msgid "Gerber Object" msgstr "Gerber Object" -#: appGUI/ObjectUI.py:197 appGUI/ObjectUI.py:523 appGUI/ObjectUI.py:833 -#: appGUI/ObjectUI.py:1796 appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:30 +#: appGUI/ObjectUI.py:197 appGUI/ObjectUI.py:549 appGUI/ObjectUI.py:877 +#: appGUI/ObjectUI.py:1853 appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:30 #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:33 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:33 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:31 msgid "Plot Options" msgstr "Plot Options" -#: appGUI/ObjectUI.py:202 appGUI/ObjectUI.py:526 +#: appGUI/ObjectUI.py:202 appGUI/ObjectUI.py:552 #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:47 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:45 #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:119 @@ -6353,26 +6351,26 @@ msgstr "Solid" msgid "Solid color polygons." msgstr "Solid color polygons." -#: appGUI/ObjectUI.py:209 appGUI/ObjectUI.py:532 appGUI/ObjectUI.py:839 +#: appGUI/ObjectUI.py:209 appGUI/ObjectUI.py:558 appGUI/ObjectUI.py:883 msgid "Multi-Color" msgstr "Multi-Color" -#: appGUI/ObjectUI.py:211 appGUI/ObjectUI.py:534 appGUI/ObjectUI.py:841 +#: appGUI/ObjectUI.py:211 appGUI/ObjectUI.py:560 appGUI/ObjectUI.py:885 #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:56 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:49 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:54 msgid "Draw polygons in different colors." msgstr "Draw polygons in different colors." -#: appGUI/ObjectUI.py:226 appGUI/ObjectUI.py:608 +#: appGUI/ObjectUI.py:226 appGUI/ObjectUI.py:634 #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:40 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:40 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:38 msgid "Plot" msgstr "Plot" -#: appGUI/ObjectUI.py:227 appGUI/ObjectUI.py:610 appGUI/ObjectUI.py:944 -#: appGUI/ObjectUI.py:1941 appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:41 +#: appGUI/ObjectUI.py:227 appGUI/ObjectUI.py:636 appGUI/ObjectUI.py:988 +#: appGUI/ObjectUI.py:1998 appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:41 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:42 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:40 msgid "Plot (show) this object." @@ -6382,17 +6380,17 @@ msgstr "Plot (show) this object." msgid "Edit an Gerber object." msgstr "Edit an Gerber object." -#: appGUI/ObjectUI.py:255 appGUI/ObjectUI.py:568 appGUI/ObjectUI.py:872 -#: appGUI/ObjectUI.py:1842 +#: appGUI/ObjectUI.py:255 appGUI/ObjectUI.py:594 appGUI/ObjectUI.py:916 +#: appGUI/ObjectUI.py:1899 msgid "PROPERTIES" msgstr "PROPERTIES" -#: appGUI/ObjectUI.py:257 appGUI/ObjectUI.py:570 appGUI/ObjectUI.py:874 -#: appGUI/ObjectUI.py:1844 +#: appGUI/ObjectUI.py:257 appGUI/ObjectUI.py:596 appGUI/ObjectUI.py:918 +#: appGUI/ObjectUI.py:1901 msgid "Show the Properties." msgstr "Show the Properties." -#: appGUI/ObjectUI.py:291 appGUI/ObjectUI.py:603 +#: appGUI/ObjectUI.py:291 appGUI/ObjectUI.py:629 #: appGUI/preferences/excellon/ExcellonAdvOptPrefGroupUI.py:50 #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:54 msgid "Toggle the display of the Tools Table." @@ -6445,7 +6443,7 @@ msgstr "" "Create a Geometry object with\n" "toolpaths to cut around polygons." -#: appGUI/ObjectUI.py:375 appGUI/ObjectUI.py:1745 appTools/ToolNCC.py:4258 +#: appGUI/ObjectUI.py:375 appGUI/ObjectUI.py:1802 appTools/ToolNCC.py:4315 msgid "" "Create the Geometry Object\n" "for non-copper routing." @@ -6461,11 +6459,21 @@ msgstr "" "Generate the geometry for\n" "the board cutout." -#: appGUI/ObjectUI.py:407 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:32 +#: appGUI/ObjectUI.py:407 appGUI/ObjectUI.py:756 +#| msgid "UTILITIES" +msgid "UTILTIES" +msgstr "UTILTIES" + +#: appGUI/ObjectUI.py:409 appGUI/ObjectUI.py:758 +#| msgid "Show the Properties." +msgid "Show the Utilties." +msgstr "Show the Utilties." + +#: appGUI/ObjectUI.py:433 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:32 msgid "Non-copper regions" msgstr "Non-copper regions" -#: appGUI/ObjectUI.py:409 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:34 +#: appGUI/ObjectUI.py:435 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:34 msgid "" "Create polygons covering the\n" "areas without copper on the PCB.\n" @@ -6479,13 +6487,13 @@ msgstr "" "object. Can be used to remove all\n" "copper from a specified region." -#: appGUI/ObjectUI.py:419 appGUI/ObjectUI.py:460 +#: appGUI/ObjectUI.py:445 appGUI/ObjectUI.py:486 #: appGUI/preferences/gerber/GerberOptPrefGroupUI.py:46 #: appGUI/preferences/gerber/GerberOptPrefGroupUI.py:79 msgid "Boundary Margin" msgstr "Boundary Margin" -#: appGUI/ObjectUI.py:421 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:48 +#: appGUI/ObjectUI.py:447 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:48 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -6497,23 +6505,23 @@ msgstr "" "objects with this minimum\n" "distance." -#: appGUI/ObjectUI.py:438 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:63 +#: appGUI/ObjectUI.py:464 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:63 msgid "Resulting geometry will have rounded corners." msgstr "Resulting geometry will have rounded corners." -#: appGUI/ObjectUI.py:441 appGUI/ObjectUI.py:481 appTools/ToolCutOut.py:2287 +#: appGUI/ObjectUI.py:467 appGUI/ObjectUI.py:507 appTools/ToolCutOut.py:2287 #: appTools/ToolCutOut.py:2302 appTools/ToolIsolation.py:3444 -#: appTools/ToolNCC.py:4255 appTools/ToolPaint.py:3178 +#: appTools/ToolNCC.py:4312 appTools/ToolPaint.py:3178 msgid "Generate Geometry" msgstr "Generate Geometry" -#: appGUI/ObjectUI.py:452 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:73 +#: appGUI/ObjectUI.py:478 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:73 #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:137 #: appTools/ToolPanelize.py:698 appTools/ToolQRCode.py:782 msgid "Bounding Box" msgstr "Bounding Box" -#: appGUI/ObjectUI.py:454 +#: appGUI/ObjectUI.py:480 msgid "" "Create a geometry surrounding the Gerber object.\n" "Square shape." @@ -6521,7 +6529,7 @@ msgstr "" "Create a geometry surrounding the Gerber object.\n" "Square shape." -#: appGUI/ObjectUI.py:462 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:81 +#: appGUI/ObjectUI.py:488 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:81 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." @@ -6529,7 +6537,7 @@ msgstr "" "Distance of the edges of the box\n" "to the nearest polygon." -#: appGUI/ObjectUI.py:475 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:94 +#: appGUI/ObjectUI.py:501 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:94 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -6541,23 +6549,23 @@ msgstr "" "their radius is equal to\n" "the margin." -#: appGUI/ObjectUI.py:484 +#: appGUI/ObjectUI.py:510 msgid "Generate the Geometry object." msgstr "Generate the Geometry object." -#: appGUI/ObjectUI.py:511 +#: appGUI/ObjectUI.py:537 msgid "Excellon Object" msgstr "Excellon Object" -#: appGUI/ObjectUI.py:528 +#: appGUI/ObjectUI.py:554 msgid "Solid circles." msgstr "Solid circles." -#: appGUI/ObjectUI.py:557 +#: appGUI/ObjectUI.py:583 msgid "Edit an Excellon object." msgstr "Edit an Excellon object." -#: appGUI/ObjectUI.py:645 appTools/ToolDrilling.py:2067 +#: appGUI/ObjectUI.py:671 appTools/ToolDrilling.py:2067 #: appTools/ToolMilling.py:1672 msgid "" "This is the Tool Number.\n" @@ -6572,7 +6580,7 @@ msgstr "" "\n" "Here the tools are selected for G-code generation." -#: appGUI/ObjectUI.py:650 appGUI/ObjectUI.py:968 appTools/ToolDrilling.py:2072 +#: appGUI/ObjectUI.py:676 appGUI/ObjectUI.py:1012 appTools/ToolDrilling.py:2072 #: appTools/ToolMilling.py:1677 appTools/ToolPaint.py:2827 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" @@ -6581,7 +6589,7 @@ msgstr "" "Tool Diameter. It's value (in current FlatCAM units) \n" "is the cut width into the material." -#: appGUI/ObjectUI.py:653 appTools/ToolDrilling.py:2075 +#: appGUI/ObjectUI.py:679 appTools/ToolDrilling.py:2075 #: appTools/ToolMilling.py:1680 msgid "" "The number of Drill holes. Holes that are drilled with\n" @@ -6590,7 +6598,7 @@ msgstr "" "The number of Drill holes. Holes that are drilled with\n" "a drill bit." -#: appGUI/ObjectUI.py:656 appTools/ToolDrilling.py:2078 +#: appGUI/ObjectUI.py:682 appTools/ToolDrilling.py:2078 #: appTools/ToolMilling.py:1683 msgid "" "The number of Slot holes. Holes that are created by\n" @@ -6599,11 +6607,11 @@ msgstr "" "The number of Slot holes. Holes that are created by\n" "milling them with an endmill bit." -#: appGUI/ObjectUI.py:659 +#: appGUI/ObjectUI.py:685 msgid "Show the color of the drill holes when using multi-color." msgstr "Show the color of the drill holes when using multi-color." -#: appGUI/ObjectUI.py:661 +#: appGUI/ObjectUI.py:687 msgid "" "Toggle display of the drills for the current tool.\n" "This does not select the tools for G-code generation." @@ -6611,12 +6619,12 @@ msgstr "" "Toggle display of the drills for the current tool.\n" "This does not select the tools for G-code generation." -#: appGUI/ObjectUI.py:670 +#: appGUI/ObjectUI.py:696 #: appGUI/preferences/excellon/ExcellonAdvOptPrefGroupUI.py:55 msgid "Auto load from DB" msgstr "Auto load from DB" -#: appGUI/ObjectUI.py:672 +#: appGUI/ObjectUI.py:698 #: appGUI/preferences/excellon/ExcellonAdvOptPrefGroupUI.py:57 msgid "" "Automatic replacement of the tools from related application tools\n" @@ -6625,23 +6633,23 @@ msgstr "" "Automatic replacement of the tools from related application tools\n" "with tools from DB that have a close diameter value." -#: appGUI/ObjectUI.py:698 +#: appGUI/ObjectUI.py:724 msgid "Generate GCode out of drill holes in an Excellon object." msgstr "Generate GCode out of drill holes in an Excellon object." -#: appGUI/ObjectUI.py:709 +#: appGUI/ObjectUI.py:735 appGUI/ObjectUI.py:1767 msgid "Milling Tool" msgstr "Milling Tool" -#: appGUI/ObjectUI.py:712 +#: appGUI/ObjectUI.py:738 msgid "Generate a Geometry for milling drills or slots in an Excellon object." msgstr "Generate a Geometry for milling drills or slots in an Excellon object." -#: appGUI/ObjectUI.py:738 +#: appGUI/ObjectUI.py:782 msgid "Milling Geometry" msgstr "Milling Geometry" -#: appGUI/ObjectUI.py:740 +#: appGUI/ObjectUI.py:784 msgid "" "Create Geometry for milling holes.\n" "Select from the Tools Table above the hole dias to be\n" @@ -6651,25 +6659,22 @@ msgstr "" "Select from the Tools Table above the hole dias to be\n" "milled. Use the # column to make the selection." -#: appGUI/ObjectUI.py:746 +#: appGUI/ObjectUI.py:790 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:80 #: appTools/ToolMilling.py:1779 msgid "Milling Diameter" msgstr "Milling Diameter" -#: appGUI/ObjectUI.py:748 +#: appGUI/ObjectUI.py:792 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:101 msgid "Diameter of the cutting tool." msgstr "Diameter of the cutting tool." -#: appGUI/ObjectUI.py:758 +#: appGUI/ObjectUI.py:802 msgid "Mill Drills" msgstr "Mill Drills" -#: appGUI/ObjectUI.py:760 -#| msgid "" -#| "Create the Geometry Object\n" -#| "for milling SLOTS toolpaths." +#: appGUI/ObjectUI.py:804 msgid "" "Create the Geometry Object\n" "for milling drills." @@ -6677,14 +6682,11 @@ msgstr "" "Create the Geometry Object\n" "for milling drills." -#: appGUI/ObjectUI.py:778 +#: appGUI/ObjectUI.py:822 msgid "Mill Slots" msgstr "Mill Slots" -#: appGUI/ObjectUI.py:780 -#| msgid "" -#| "Create the Geometry Object\n" -#| "for milling SLOTS toolpaths." +#: appGUI/ObjectUI.py:824 msgid "" "Create the Geometry Object\n" "for milling slots." @@ -6692,15 +6694,15 @@ msgstr "" "Create the Geometry Object\n" "for milling slots." -#: appGUI/ObjectUI.py:822 +#: appGUI/ObjectUI.py:866 msgid "Geometry Object" msgstr "Geometry Object" -#: appGUI/ObjectUI.py:861 +#: appGUI/ObjectUI.py:905 msgid "Edit an Geometry object." msgstr "Edit an Geometry object." -#: appGUI/ObjectUI.py:925 +#: appGUI/ObjectUI.py:969 msgid "" "Tools in this Geometry object used for cutting.\n" "The 'Offset' entry will set an offset for the cut.\n" @@ -6728,12 +6730,12 @@ msgstr "" "grayed out and Cut Z is automatically calculated from the newly \n" "showed UI form entries named V-Tip Dia and V-Tip Angle." -#: appGUI/ObjectUI.py:942 appGUI/ObjectUI.py:1939 +#: appGUI/ObjectUI.py:986 appGUI/ObjectUI.py:1996 #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:40 msgid "Plot Object" msgstr "Plot Object" -#: appGUI/ObjectUI.py:962 +#: appGUI/ObjectUI.py:1006 msgid "" "This is the Tool Number.\n" "When ToolChange is checked, on toolchange event this value\n" @@ -6743,7 +6745,7 @@ msgstr "" "When ToolChange is checked, on toolchange event this value\n" "will be showed as a T1, T2 ... Tn" -#: appGUI/ObjectUI.py:973 +#: appGUI/ObjectUI.py:1017 msgid "" "The value for the Offset can be:\n" "- Path -> There is no offset, the tool cut will be done through the geometry " @@ -6759,7 +6761,7 @@ msgstr "" "'pocket'.\n" "- Out(side) -> The tool cut will follow the geometry line on the outside." -#: appGUI/ObjectUI.py:980 +#: appGUI/ObjectUI.py:1024 msgid "" "The (Operation) Type has only informative value. Usually the UI form " "values \n" @@ -6779,7 +6781,7 @@ msgstr "" "For Isolation we need a lower Feedrate as it use a milling bit with a fine " "tip." -#: appGUI/ObjectUI.py:989 +#: appGUI/ObjectUI.py:1033 msgid "" "The Tool Type (TT) can be:\n" "- Circular with 1 ... 4 teeth -> it is informative only. Being circular the " @@ -6809,7 +6811,7 @@ msgstr "" "Choosing the V-Shape Tool Type automatically will select the Operation Type " "as Isolation." -#: appGUI/ObjectUI.py:1001 +#: appGUI/ObjectUI.py:1045 msgid "" "Plot column. It is visible only for MultiGeo geometries, meaning geometries " "that holds the geometry\n" @@ -6827,7 +6829,7 @@ msgstr "" "plot on canvas\n" "for the corresponding tool." -#: appGUI/ObjectUI.py:1016 +#: appGUI/ObjectUI.py:1060 msgid "" "The value to offset the cut when \n" "the Offset type selected is 'Offset'.\n" @@ -6839,19 +6841,19 @@ msgstr "" "The value can be positive for 'outside'\n" "cut and negative for 'inside' cut." -#: appGUI/ObjectUI.py:1035 appTools/ToolIsolation.py:3087 -#: appTools/ToolNCC.py:66 appTools/ToolNCC.py:3855 appTools/ToolPaint.py:140 +#: appGUI/ObjectUI.py:1079 appTools/ToolIsolation.py:3087 +#: appTools/ToolNCC.py:66 appTools/ToolNCC.py:3902 appTools/ToolPaint.py:140 #: appTools/ToolPaint.py:2878 msgid "Add from DB" msgstr "Add from DB" -#: appGUI/ObjectUI.py:1052 appTools/ToolCutOut.py:2071 +#: appGUI/ObjectUI.py:1096 appTools/ToolCutOut.py:2071 #: appTools/ToolIsolation.py:61 appTools/ToolIsolation.py:3122 -#: appTools/ToolNCC.py:3889 appTools/ToolPaint.py:2898 +#: appTools/ToolNCC.py:3936 appTools/ToolPaint.py:2898 msgid "Search and Add" msgstr "Search and Add" -#: appGUI/ObjectUI.py:1055 +#: appGUI/ObjectUI.py:1099 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above." @@ -6859,14 +6861,14 @@ msgstr "" "Add a new tool to the Tool Table\n" "with the diameter specified above." -#: appGUI/ObjectUI.py:1059 appTools/ToolCutOut.py:2083 +#: appGUI/ObjectUI.py:1103 appTools/ToolCutOut.py:2083 #: appTools/ToolIsolation.py:65 appTools/ToolIsolation.py:3133 -#: appTools/ToolNCC.py:3900 appTools/ToolPaint.py:2909 +#: appTools/ToolNCC.py:3947 appTools/ToolPaint.py:2909 msgid "Pick from DB" msgstr "Pick from DB" -#: appGUI/ObjectUI.py:1062 appTools/ToolCutOut.py:2086 -#: appTools/ToolIsolation.py:3136 appTools/ToolNCC.py:3903 +#: appGUI/ObjectUI.py:1106 appTools/ToolCutOut.py:2086 +#: appTools/ToolIsolation.py:3136 appTools/ToolNCC.py:3950 #: appTools/ToolPaint.py:2912 msgid "" "Add a new tool to the Tool Table\n" @@ -6879,7 +6881,7 @@ msgstr "" "Tools database administration in in:\n" "Menu: Options -> Tools Database" -#: appGUI/ObjectUI.py:1084 +#: appGUI/ObjectUI.py:1128 msgid "" "Copy a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -6887,7 +6889,7 @@ msgstr "" "Copy a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." -#: appGUI/ObjectUI.py:1091 +#: appGUI/ObjectUI.py:1135 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -6895,7 +6897,7 @@ msgstr "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." -#: appGUI/ObjectUI.py:1128 appObjects/FlatCAMGeometry.py:388 +#: appGUI/ObjectUI.py:1172 appObjects/FlatCAMGeometry.py:388 #: appObjects/FlatCAMGeometry.py:886 appObjects/FlatCAMGeometry.py:891 #: appObjects/FlatCAMGeometry.py:925 appObjects/FlatCAMGeometry.py:950 #: appObjects/FlatCAMGeometry.py:954 appTools/ToolDrilling.py:705 @@ -6910,18 +6912,18 @@ msgstr "" #: appTools/ToolMilling.py:744 appTools/ToolMilling.py:749 #: appTools/ToolMilling.py:779 appTools/ToolMilling.py:790 #: appTools/ToolMilling.py:794 appTools/ToolMilling.py:1711 -#: appTools/ToolNCC.py:266 appTools/ToolNCC.py:271 appTools/ToolNCC.py:301 -#: appTools/ToolNCC.py:324 appTools/ToolNCC.py:337 appTools/ToolNCC.py:701 -#: appTools/ToolNCC.py:3933 appTools/ToolPaint.py:247 appTools/ToolPaint.py:252 +#: appTools/ToolNCC.py:271 appTools/ToolNCC.py:276 appTools/ToolNCC.py:306 +#: appTools/ToolNCC.py:329 appTools/ToolNCC.py:342 appTools/ToolNCC.py:711 +#: appTools/ToolNCC.py:3980 appTools/ToolPaint.py:247 appTools/ToolPaint.py:252 #: appTools/ToolPaint.py:282 appTools/ToolPaint.py:304 #: appTools/ToolPaint.py:316 appTools/ToolPaint.py:655 #: appTools/ToolPaint.py:2940 msgid "Parameters for" msgstr "Parameters for" -#: appGUI/ObjectUI.py:1131 appTools/ToolDrilling.py:2119 +#: appGUI/ObjectUI.py:1175 appTools/ToolDrilling.py:2119 #: appTools/ToolIsolation.py:3169 appTools/ToolMilling.py:1714 -#: appTools/ToolNCC.py:3936 appTools/ToolPaint.py:2943 +#: appTools/ToolNCC.py:3983 appTools/ToolPaint.py:2943 msgid "" "The data used for creating GCode.\n" "Each tool store it's own set of such data." @@ -6929,28 +6931,28 @@ msgstr "" "The data used for creating GCode.\n" "Each tool store it's own set of such data." -#: appGUI/ObjectUI.py:1138 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:89 +#: appGUI/ObjectUI.py:1182 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:72 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:78 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:85 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:76 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:83 msgid "V-Tip Dia" msgstr "V-Tip Dia" -#: appGUI/ObjectUI.py:1141 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:91 +#: appGUI/ObjectUI.py:1185 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:91 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:74 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:80 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:78 msgid "The tip diameter for V-Shape Tool" msgstr "The tip diameter for V-Shape Tool" -#: appGUI/ObjectUI.py:1153 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:101 +#: appGUI/ObjectUI.py:1197 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:101 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:84 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:91 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:99 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:89 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:97 msgid "V-Tip Angle" msgstr "V-Tip Angle" -#: appGUI/ObjectUI.py:1156 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:86 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:93 +#: appGUI/ObjectUI.py:1200 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:86 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:91 msgid "" "The tip angle for V-Shape Tool.\n" "In degree." @@ -6958,7 +6960,7 @@ msgstr "" "The tip angle for V-Shape Tool.\n" "In degree." -#: appGUI/ObjectUI.py:1172 +#: appGUI/ObjectUI.py:1216 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:51 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:61 #: appObjects/FlatCAMGeometry.py:1374 appTools/ToolCutOut.py:2107 @@ -6969,7 +6971,7 @@ msgstr "" "Cutting depth (negative)\n" "below the copper surface." -#: appGUI/ObjectUI.py:1190 +#: appGUI/ObjectUI.py:1234 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:69 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:79 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:77 @@ -6978,7 +6980,7 @@ msgstr "" msgid "Multi-Depth" msgstr "Multi-Depth" -#: appGUI/ObjectUI.py:1218 +#: appGUI/ObjectUI.py:1262 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:104 msgid "" "Height of the tool when\n" @@ -6987,7 +6989,7 @@ msgstr "" "Height of the tool when\n" "moving without cutting." -#: appGUI/ObjectUI.py:1237 +#: appGUI/ObjectUI.py:1281 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:188 #: appTools/ToolMilling.py:1862 msgid "" @@ -6997,7 +6999,7 @@ msgstr "" "Cutting speed in the XY\n" "plane in units per minute" -#: appGUI/ObjectUI.py:1251 +#: appGUI/ObjectUI.py:1295 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:203 msgid "" "Cutting speed in the XY\n" @@ -7008,7 +7010,7 @@ msgstr "" "plane in units per minute.\n" "It is called also Plunge." -#: appGUI/ObjectUI.py:1266 +#: appGUI/ObjectUI.py:1310 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:69 msgid "" "Cutting speed in the XY plane\n" @@ -7023,13 +7025,13 @@ msgstr "" "It is useful only for Marlin,\n" "ignore for any other cases." -#: appGUI/ObjectUI.py:1284 +#: appGUI/ObjectUI.py:1328 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:85 #: appTools/ToolMilling.py:1914 msgid "Re-cut" msgstr "Re-cut" -#: appGUI/ObjectUI.py:1286 appGUI/ObjectUI.py:1298 +#: appGUI/ObjectUI.py:1330 appGUI/ObjectUI.py:1342 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:87 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:99 #: appTools/ToolMilling.py:1916 appTools/ToolMilling.py:1929 @@ -7044,7 +7046,7 @@ msgstr "" "meet with last cut, we generate an\n" "extended cut over the first cut section." -#: appGUI/ObjectUI.py:1310 +#: appGUI/ObjectUI.py:1354 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:220 msgid "" "Speed of the spindle in RPM (optional).\n" @@ -7055,7 +7057,7 @@ msgstr "" "If LASER preprocessor is used,\n" "this value is the power of laser." -#: appGUI/ObjectUI.py:1326 +#: appGUI/ObjectUI.py:1370 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:235 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:202 #: appTools/ToolDrilling.py:2266 appTools/ToolMilling.py:1959 @@ -7066,14 +7068,14 @@ msgstr "" "Pause to allow the spindle to reach its\n" "speed before cutting." -#: appGUI/ObjectUI.py:1336 +#: appGUI/ObjectUI.py:1380 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:240 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:210 #: appTools/ToolDrilling.py:2278 appTools/ToolMilling.py:1970 msgid "Number of time units for spindle to dwell." msgstr "Number of time units for spindle to dwell." -#: appGUI/ObjectUI.py:1344 appGUI/ObjectUI.py:2071 +#: appGUI/ObjectUI.py:1388 appGUI/ObjectUI.py:2128 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:131 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:108 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:333 @@ -7081,7 +7083,7 @@ msgstr "Number of time units for spindle to dwell." msgid "Probe Z depth" msgstr "Probe Z depth" -#: appGUI/ObjectUI.py:1346 appGUI/ObjectUI.py:2073 +#: appGUI/ObjectUI.py:1390 appGUI/ObjectUI.py:2130 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:133 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:110 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:335 @@ -7093,14 +7095,14 @@ msgstr "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." -#: appGUI/ObjectUI.py:1361 +#: appGUI/ObjectUI.py:1405 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:346 #: appTools/ToolDrilling.py:2480 appTools/ToolMilling.py:2148 msgid "Feedrate Probe" msgstr "Feedrate Probe" -#: appGUI/ObjectUI.py:1363 appGUI/ObjectUI.py:2086 +#: appGUI/ObjectUI.py:1407 appGUI/ObjectUI.py:2143 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:146 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:125 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:348 @@ -7108,15 +7110,15 @@ msgstr "Feedrate Probe" msgid "The feedrate used while the probe is probing." msgstr "The feedrate used while the probe is probing." -#: appGUI/ObjectUI.py:1390 appTools/ToolDrilling.py:2364 +#: appGUI/ObjectUI.py:1434 appTools/ToolDrilling.py:2364 #: appTools/ToolIsolation.py:3265 appTools/ToolMilling.py:2042 -#: appTools/ToolNCC.py:4094 appTools/ToolPaint.py:3049 +#: appTools/ToolNCC.py:4141 appTools/ToolPaint.py:3049 msgid "Apply parameters to all tools" msgstr "Apply parameters to all tools" -#: appGUI/ObjectUI.py:1393 appTools/ToolDrilling.py:2367 +#: appGUI/ObjectUI.py:1437 appTools/ToolDrilling.py:2367 #: appTools/ToolIsolation.py:3268 appTools/ToolMilling.py:2045 -#: appTools/ToolNCC.py:4097 appTools/ToolPaint.py:3052 +#: appTools/ToolNCC.py:4144 appTools/ToolPaint.py:3052 msgid "" "The parameters in the current form will be applied\n" "on all the tools from the Tool Table." @@ -7124,24 +7126,24 @@ msgstr "" "The parameters in the current form will be applied\n" "on all the tools from the Tool Table." -#: appGUI/ObjectUI.py:1404 appTools/ToolDrilling.py:2378 +#: appGUI/ObjectUI.py:1448 appTools/ToolDrilling.py:2378 #: appTools/ToolIsolation.py:3279 appTools/ToolMilling.py:2056 -#: appTools/ToolNCC.py:4108 appTools/ToolPaint.py:3063 +#: appTools/ToolNCC.py:4155 appTools/ToolPaint.py:3063 msgid "Common Parameters" msgstr "Common Parameters" -#: appGUI/ObjectUI.py:1406 appTools/ToolDrilling.py:2380 +#: appGUI/ObjectUI.py:1450 appTools/ToolDrilling.py:2380 #: appTools/ToolIsolation.py:3281 appTools/ToolMilling.py:2058 -#: appTools/ToolNCC.py:4110 appTools/ToolPaint.py:3065 +#: appTools/ToolNCC.py:4157 appTools/ToolPaint.py:3065 msgid "Parameters that are common for all tools." msgstr "Parameters that are common for all tools." -#: appGUI/ObjectUI.py:1411 appTools/ToolDrilling.py:2394 +#: appGUI/ObjectUI.py:1455 appTools/ToolDrilling.py:2394 #: appTools/ToolMilling.py:2063 msgid "Tool change Z" msgstr "Tool change Z" -#: appGUI/ObjectUI.py:1414 +#: appGUI/ObjectUI.py:1458 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:125 msgid "" "Include tool-change sequence\n" @@ -7150,7 +7152,7 @@ msgstr "" "Include tool-change sequence\n" "in the Machine Code (Pause for tool change)." -#: appGUI/ObjectUI.py:1422 +#: appGUI/ObjectUI.py:1466 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:135 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:126 #: appTools/ToolDrilling.py:2396 appTools/ToolMilling.py:2072 @@ -7161,14 +7163,14 @@ msgstr "" "Z-axis position (height) for\n" "tool change." -#: appGUI/ObjectUI.py:1450 +#: appGUI/ObjectUI.py:1494 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:154 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:142 #: appTools/ToolDrilling.py:2427 appTools/ToolMilling.py:2098 msgid "End move Z" msgstr "End move Z" -#: appGUI/ObjectUI.py:1452 +#: appGUI/ObjectUI.py:1496 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:156 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:144 #: appTools/ToolDrilling.py:2429 appTools/ToolMilling.py:2100 @@ -7179,14 +7181,14 @@ msgstr "" "Height of the tool after\n" "the last move at the end of the job." -#: appGUI/ObjectUI.py:1469 +#: appGUI/ObjectUI.py:1513 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:174 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:159 #: appTools/ToolDrilling.py:2447 appTools/ToolMilling.py:2117 msgid "End move X,Y" msgstr "End move X,Y" -#: appGUI/ObjectUI.py:1471 +#: appGUI/ObjectUI.py:1515 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:176 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:161 #: appTools/ToolDrilling.py:2449 appTools/ToolMilling.py:2119 @@ -7199,12 +7201,12 @@ msgstr "" "If no value is entered then there is no move\n" "on X,Y plane at the end of the job." -#: appGUI/ObjectUI.py:1476 appTools/ToolDrilling.py:2454 +#: appGUI/ObjectUI.py:1520 appTools/ToolDrilling.py:2454 #: appTools/ToolMilling.py:2124 msgid "X,Y coordinates" msgstr "X,Y coordinates" -#: appGUI/ObjectUI.py:1484 +#: appGUI/ObjectUI.py:1528 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:257 msgid "" "The Preprocessor file that dictates\n" @@ -7213,12 +7215,12 @@ msgstr "" "The Preprocessor file that dictates\n" "the Machine Code (like GCode, RML, HPGL) output." -#: appGUI/ObjectUI.py:1500 appTools/ToolDrilling.py:2515 +#: appGUI/ObjectUI.py:1544 appTools/ToolDrilling.py:2515 #: appTools/ToolMilling.py:2194 msgid "Add exclusion areas" msgstr "Add exclusion areas" -#: appGUI/ObjectUI.py:1503 +#: appGUI/ObjectUI.py:1547 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:210 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:410 #: appTools/ToolDrilling.py:2518 appTools/ToolMilling.py:2197 @@ -7231,7 +7233,7 @@ msgstr "" "In those areas the travel of the tools\n" "is forbidden." -#: appGUI/ObjectUI.py:1524 appGUI/ObjectUI.py:1543 +#: appGUI/ObjectUI.py:1568 appGUI/ObjectUI.py:1587 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:230 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:430 #: appTools/ToolDrilling.py:2540 appTools/ToolDrilling.py:2559 @@ -7239,7 +7241,7 @@ msgstr "" msgid "Strategy" msgstr "Strategy" -#: appGUI/ObjectUI.py:1524 appGUI/ObjectUI.py:1555 +#: appGUI/ObjectUI.py:1568 appGUI/ObjectUI.py:1599 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:242 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:442 #: appTools/ToolDrilling.py:2540 appTools/ToolDrilling.py:2572 @@ -7247,17 +7249,17 @@ msgstr "Strategy" msgid "Over Z" msgstr "Over Z" -#: appGUI/ObjectUI.py:1526 appTools/ToolDrilling.py:2542 +#: appGUI/ObjectUI.py:1570 appTools/ToolDrilling.py:2542 #: appTools/ToolMilling.py:2220 msgid "This is the Area ID." msgstr "This is the Area ID." -#: appGUI/ObjectUI.py:1528 appTools/ToolDrilling.py:2544 +#: appGUI/ObjectUI.py:1572 appTools/ToolDrilling.py:2544 #: appTools/ToolMilling.py:2222 msgid "Type of the object where the exclusion area was added." msgstr "Type of the object where the exclusion area was added." -#: appGUI/ObjectUI.py:1530 appTools/ToolDrilling.py:2546 +#: appGUI/ObjectUI.py:1574 appTools/ToolDrilling.py:2546 #: appTools/ToolMilling.py:2224 msgid "" "The strategy used for exclusion area. Go around the exclusion areas or over " @@ -7266,7 +7268,7 @@ msgstr "" "The strategy used for exclusion area. Go around the exclusion areas or over " "it." -#: appGUI/ObjectUI.py:1532 appTools/ToolDrilling.py:2548 +#: appGUI/ObjectUI.py:1576 appTools/ToolDrilling.py:2548 #: appTools/ToolMilling.py:2226 msgid "" "If the strategy is to go over the area then this is the height at which the " @@ -7275,7 +7277,7 @@ msgstr "" "If the strategy is to go over the area then this is the height at which the " "tool will go to avoid the exclusion area." -#: appGUI/ObjectUI.py:1544 +#: appGUI/ObjectUI.py:1588 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:231 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:431 #: appTools/ToolDrilling.py:2560 appTools/ToolMilling.py:2238 @@ -7290,21 +7292,21 @@ msgstr "" "- Over -> when encountering the area, the tool will go to a set height\n" "- Around -> will avoid the exclusion area by going around the area" -#: appGUI/ObjectUI.py:1548 +#: appGUI/ObjectUI.py:1592 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:235 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:435 #: appTools/ToolDrilling.py:2564 appTools/ToolMilling.py:2242 msgid "Over" msgstr "Over" -#: appGUI/ObjectUI.py:1549 +#: appGUI/ObjectUI.py:1593 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:236 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:436 #: appTools/ToolDrilling.py:2565 appTools/ToolMilling.py:2243 msgid "Around" msgstr "Around" -#: appGUI/ObjectUI.py:1556 +#: appGUI/ObjectUI.py:1600 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:243 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:443 #: appTools/ToolDrilling.py:2573 appTools/ToolMilling.py:2250 @@ -7315,29 +7317,29 @@ msgstr "" "The height Z to which the tool will rise in order to avoid\n" "an interdiction area." -#: appGUI/ObjectUI.py:1566 appTools/ToolDrilling.py:2584 +#: appGUI/ObjectUI.py:1610 appTools/ToolDrilling.py:2584 #: appTools/ToolMilling.py:2260 msgid "Add area:" msgstr "Add area:" -#: appGUI/ObjectUI.py:1567 appTools/ToolDrilling.py:2585 +#: appGUI/ObjectUI.py:1611 appTools/ToolDrilling.py:2585 #: appTools/ToolMilling.py:2261 msgid "Add an Exclusion Area." msgstr "Add an Exclusion Area." -#: appGUI/ObjectUI.py:1573 +#: appGUI/ObjectUI.py:1617 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:220 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:420 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:305 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:324 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:288 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:286 #: appTools/ToolDrilling.py:2591 appTools/ToolIsolation.py:3427 -#: appTools/ToolMilling.py:2267 appTools/ToolNCC.py:4238 +#: appTools/ToolMilling.py:2267 appTools/ToolNCC.py:4285 #: appTools/ToolPaint.py:3165 msgid "The kind of selection shape used for area selection." msgstr "The kind of selection shape used for area selection." -#: appGUI/ObjectUI.py:1583 +#: appGUI/ObjectUI.py:1627 #: appGUI/preferences/utilities/AutoCompletePrefGroupUI.py:32 #: appGUI/preferences/utilities/FAExcPrefGroupUI.py:42 #: appGUI/preferences/utilities/FAGcoPrefGroupUI.py:32 @@ -7346,26 +7348,26 @@ msgstr "The kind of selection shape used for area selection." msgid "Delete All" msgstr "Delete All" -#: appGUI/ObjectUI.py:1584 appTools/ToolDrilling.py:2603 +#: appGUI/ObjectUI.py:1628 appTools/ToolDrilling.py:2603 #: appTools/ToolMilling.py:2278 msgid "Delete all exclusion areas." msgstr "Delete all exclusion areas." -#: appGUI/ObjectUI.py:1587 appTools/ToolDrilling.py:2606 +#: appGUI/ObjectUI.py:1631 appTools/ToolDrilling.py:2606 #: appTools/ToolMilling.py:2281 msgid "Delete Selected" msgstr "Delete Selected" -#: appGUI/ObjectUI.py:1588 appTools/ToolDrilling.py:2607 +#: appGUI/ObjectUI.py:1632 appTools/ToolDrilling.py:2607 #: appTools/ToolMilling.py:2282 msgid "Delete all exclusion areas that are selected in the table." msgstr "Delete all exclusion areas that are selected in the table." -#: appGUI/ObjectUI.py:1598 +#: appGUI/ObjectUI.py:1642 msgid "Add Polish" msgstr "Add Polish" -#: appGUI/ObjectUI.py:1600 +#: appGUI/ObjectUI.py:1644 msgid "" "Will add a Paint section at the end of the GCode.\n" "A metallic brush will clean the material after milling." @@ -7373,15 +7375,15 @@ msgstr "" "Will add a Paint section at the end of the GCode.\n" "A metallic brush will clean the material after milling." -#: appGUI/ObjectUI.py:1608 +#: appGUI/ObjectUI.py:1652 msgid "Diameter for the polishing tool." msgstr "Diameter for the polishing tool." -#: appGUI/ObjectUI.py:1619 +#: appGUI/ObjectUI.py:1663 msgid "Pressure" msgstr "Pressure" -#: appGUI/ObjectUI.py:1621 +#: appGUI/ObjectUI.py:1665 msgid "" "Negative value. The higher the absolute value\n" "the stronger the pressure of the brush on the material." @@ -7389,7 +7391,7 @@ msgstr "" "Negative value. The higher the absolute value\n" "the stronger the pressure of the brush on the material." -#: appGUI/ObjectUI.py:1650 +#: appGUI/ObjectUI.py:1694 msgid "" "Algorithm for polishing:\n" "- Standard: Fixed step inwards.\n" @@ -7401,16 +7403,16 @@ msgstr "" "- Seed-based: Outwards from seed.\n" "- Line-based: Parallel lines." -#: appGUI/ObjectUI.py:1694 appTools/ToolDrilling.py:2629 +#: appGUI/ObjectUI.py:1738 appTools/ToolDrilling.py:2629 #: appTools/ToolMilling.py:2304 msgid "Generate CNCJob object" msgstr "Generate CNCJob object" -#: appGUI/ObjectUI.py:1697 +#: appGUI/ObjectUI.py:1741 msgid "Generate CNCJob object." msgstr "Generate CNCJob object." -#: appGUI/ObjectUI.py:1699 +#: appGUI/ObjectUI.py:1743 msgid "" "Add / Select at least one tool in the tool-table.\n" "Click the # header to select all, or Ctrl + LMB\n" @@ -7420,27 +7422,33 @@ msgstr "" "Click the # header to select all, or Ctrl + LMB\n" "for custom selection of tools." -#: appGUI/ObjectUI.py:1718 +#: appGUI/ObjectUI.py:1762 msgid "Launch Paint Tool in Tools Tab." msgstr "Launch Paint Tool in Tools Tab." -#: appGUI/ObjectUI.py:1727 appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:35 +#: appGUI/ObjectUI.py:1770 +#| msgid "Generating slot milling geometry..." +msgid "Generate a CNCJob by milling a Geometry." +msgstr "Generate a CNCJob by milling a Geometry." + +#: appGUI/ObjectUI.py:1786 appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:35 +#| msgid "" +#| "Creates tool paths to cover the\n" +#| "whole area of a polygon (remove\n" +#| "all copper). You will be asked\n" +#| "to click on the desired polygon." msgid "" "Creates tool paths to cover the\n" -"whole area of a polygon (remove\n" -"all copper). You will be asked\n" -"to click on the desired polygon." +"whole area of a polygon." msgstr "" "Creates tool paths to cover the\n" -"whole area of a polygon (remove\n" -"all copper). You will be asked\n" -"to click on the desired polygon." +"whole area of a polygon." -#: appGUI/ObjectUI.py:1783 +#: appGUI/ObjectUI.py:1840 msgid "CNC Job Object" msgstr "CNC Job Object" -#: appGUI/ObjectUI.py:1799 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:54 +#: appGUI/ObjectUI.py:1856 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:54 msgid "" "This selects the kind of geometries on the canvas to plot.\n" "Those can be either of type 'Travel' which means the moves\n" @@ -7452,19 +7460,19 @@ msgstr "" "above the work piece or it can be of type 'Cut',\n" "which means the moves that cut into the material." -#: appGUI/ObjectUI.py:1808 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:62 +#: appGUI/ObjectUI.py:1865 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:62 msgid "Travel" msgstr "Travel" -#: appGUI/ObjectUI.py:1831 +#: appGUI/ObjectUI.py:1888 msgid "Edit an GCode object." msgstr "Edit an GCode object." -#: appGUI/ObjectUI.py:1868 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:71 +#: appGUI/ObjectUI.py:1925 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:71 msgid "Display Annotation" msgstr "Display Annotation" -#: appGUI/ObjectUI.py:1870 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:73 +#: appGUI/ObjectUI.py:1927 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:73 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" @@ -7474,12 +7482,12 @@ msgstr "" "When checked it will display numbers in order for each end\n" "of a travel line." -#: appGUI/ObjectUI.py:1882 appObjects/FlatCAMObj.py:861 +#: appGUI/ObjectUI.py:1939 appObjects/FlatCAMObj.py:864 #: appTools/ToolProperties.py:562 msgid "Travelled distance" msgstr "Travelled distance" -#: appGUI/ObjectUI.py:1884 +#: appGUI/ObjectUI.py:1941 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." @@ -7487,11 +7495,11 @@ msgstr "" "This is the total travelled distance on X-Y plane.\n" "In current units." -#: appGUI/ObjectUI.py:1895 +#: appGUI/ObjectUI.py:1952 msgid "Estimated time" msgstr "Estimated time" -#: appGUI/ObjectUI.py:1897 +#: appGUI/ObjectUI.py:1954 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." @@ -7499,11 +7507,11 @@ msgstr "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." -#: appGUI/ObjectUI.py:1921 +#: appGUI/ObjectUI.py:1978 msgid "CNC Tools Table" msgstr "CNC Tools Table" -#: appGUI/ObjectUI.py:1924 +#: appGUI/ObjectUI.py:1981 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -7525,23 +7533,23 @@ msgstr "" "The 'Tool type'(TT) can be circular with 1 to 4 teeths(C1..C4),\n" "ball(B), or V-Shaped(V)." -#: appGUI/ObjectUI.py:1952 appGUI/ObjectUI.py:1963 +#: appGUI/ObjectUI.py:2009 appGUI/ObjectUI.py:2020 msgid "P" msgstr "P" -#: appGUI/ObjectUI.py:1973 +#: appGUI/ObjectUI.py:2030 msgid "Update Plot" msgstr "Update Plot" -#: appGUI/ObjectUI.py:1975 +#: appGUI/ObjectUI.py:2032 msgid "Update the plot." msgstr "Update the plot." -#: appGUI/ObjectUI.py:1985 +#: appGUI/ObjectUI.py:2042 msgid "Use CNC Code Snippets" msgstr "Use CNC Code Snippets" -#: appGUI/ObjectUI.py:1987 +#: appGUI/ObjectUI.py:2044 msgid "" "When selected, it will include CNC Code snippets (append and prepend)\n" "defined in the Preferences." @@ -7549,44 +7557,44 @@ msgstr "" "When selected, it will include CNC Code snippets (append and prepend)\n" "defined in the Preferences." -#: appGUI/ObjectUI.py:1993 +#: appGUI/ObjectUI.py:2050 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:64 msgid "Autolevelling" msgstr "Autolevelling" -#: appGUI/ObjectUI.py:1995 +#: appGUI/ObjectUI.py:2052 msgid "Enable the autolevelling feature." msgstr "Enable the autolevelling feature." -#: appGUI/ObjectUI.py:2012 +#: appGUI/ObjectUI.py:2069 msgid "Probe Points Table" msgstr "Probe Points Table" -#: appGUI/ObjectUI.py:2013 +#: appGUI/ObjectUI.py:2070 msgid "Generate GCode that will obtain the height map" msgstr "Generate GCode that will obtain the height map" -#: appGUI/ObjectUI.py:2015 +#: appGUI/ObjectUI.py:2072 msgid "Show" msgstr "Show" -#: appGUI/ObjectUI.py:2016 +#: appGUI/ObjectUI.py:2073 msgid "Toggle the display of the Probe Points table." msgstr "Toggle the display of the Probe Points table." -#: appGUI/ObjectUI.py:2029 +#: appGUI/ObjectUI.py:2086 msgid "X-Y Coordinates" msgstr "X-Y Coordinates" -#: appGUI/ObjectUI.py:2029 +#: appGUI/ObjectUI.py:2086 msgid "Height" msgstr "Height" -#: appGUI/ObjectUI.py:2033 +#: appGUI/ObjectUI.py:2090 msgid "Plot probing points" msgstr "Plot probing points" -#: appGUI/ObjectUI.py:2035 +#: appGUI/ObjectUI.py:2092 msgid "" "Plot the probing points in the table.\n" "If a Voronoi method is used then\n" @@ -7596,11 +7604,11 @@ msgstr "" "If a Voronoi method is used then\n" "the Voronoi areas are also plotted." -#: appGUI/ObjectUI.py:2050 +#: appGUI/ObjectUI.py:2107 msgid "Probe GCode Generation" msgstr "Probe GCode Generation" -#: appGUI/ObjectUI.py:2052 +#: appGUI/ObjectUI.py:2109 msgid "" "Will create a GCode which will be sent to the controller,\n" "either through a file or directly, with the intent to get the height map\n" @@ -7610,27 +7618,27 @@ msgstr "" "either through a file or directly, with the intent to get the height map\n" "that is to modify the original GCode to level the cutting height." -#: appGUI/ObjectUI.py:2059 +#: appGUI/ObjectUI.py:2116 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:119 msgid "Probe Z travel" msgstr "Probe Z travel" -#: appGUI/ObjectUI.py:2061 +#: appGUI/ObjectUI.py:2118 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:121 msgid "The safe Z for probe travelling between probe points." msgstr "The safe Z for probe travelling between probe points." -#: appGUI/ObjectUI.py:2084 +#: appGUI/ObjectUI.py:2141 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:144 msgid "Probe Feedrate" msgstr "Probe Feedrate" -#: appGUI/ObjectUI.py:2101 +#: appGUI/ObjectUI.py:2158 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:71 msgid "Mode" msgstr "Mode" -#: appGUI/ObjectUI.py:2102 +#: appGUI/ObjectUI.py:2159 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:72 msgid "" "Choose a mode for height map generation.\n" @@ -7641,19 +7649,19 @@ msgstr "" "- Manual: will pick a selection of probe points by clicking on canvas\n" "- Grid: will automatically generate a grid of probe points" -#: appGUI/ObjectUI.py:2108 +#: appGUI/ObjectUI.py:2165 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:78 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:74 #: appTools/ToolCutOut.py:2324 appTools/ToolFiducials.py:801 msgid "Manual" msgstr "Manual" -#: appGUI/ObjectUI.py:2109 +#: appGUI/ObjectUI.py:2166 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:79 msgid "Grid" msgstr "Grid" -#: appGUI/ObjectUI.py:2116 +#: appGUI/ObjectUI.py:2173 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:86 msgid "" "Choose a method for approximation of heights from autolevelling data.\n" @@ -7664,50 +7672,50 @@ msgstr "" "- Voronoi: will generate a Voronoi diagram\n" "- Bilinear: will use bilinear interpolation. Usable only for grid mode." -#: appGUI/ObjectUI.py:2122 +#: appGUI/ObjectUI.py:2179 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:92 msgid "Voronoi" msgstr "Voronoi" -#: appGUI/ObjectUI.py:2123 +#: appGUI/ObjectUI.py:2180 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:93 msgid "Bilinear" msgstr "Bilinear" -#: appGUI/ObjectUI.py:2136 +#: appGUI/ObjectUI.py:2193 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:101 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:77 #: appTools/ToolPanelize.py:787 msgid "Columns" msgstr "Columns" -#: appGUI/ObjectUI.py:2138 +#: appGUI/ObjectUI.py:2195 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:103 msgid "The number of grid columns." msgstr "The number of grid columns." -#: appGUI/ObjectUI.py:2147 +#: appGUI/ObjectUI.py:2204 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:111 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:89 #: appTools/ToolPanelize.py:797 msgid "Rows" msgstr "Rows" -#: appGUI/ObjectUI.py:2149 +#: appGUI/ObjectUI.py:2206 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:113 msgid "The number of gird rows." msgstr "The number of gird rows." -#: appGUI/ObjectUI.py:2154 +#: appGUI/ObjectUI.py:2211 msgid "Add Probe Points" msgstr "Add Probe Points" -#: appGUI/ObjectUI.py:2162 +#: appGUI/ObjectUI.py:2219 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:160 msgid "Controller" msgstr "Controller" -#: appGUI/ObjectUI.py:2164 +#: appGUI/ObjectUI.py:2221 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:162 msgid "" "The kind of controller for which to generate\n" @@ -7716,147 +7724,147 @@ msgstr "" "The kind of controller for which to generate\n" "height map gcode." -#: appGUI/ObjectUI.py:2210 appGUI/ObjectUI.py:2225 -#: appObjects/FlatCAMCNCJob.py:1293 appObjects/FlatCAMCNCJob.py:1315 +#: appGUI/ObjectUI.py:2267 appGUI/ObjectUI.py:2282 +#: appObjects/FlatCAMCNCJob.py:1302 appObjects/FlatCAMCNCJob.py:1324 msgid "Control" msgstr "Control" -#: appGUI/ObjectUI.py:2220 appGUI/ObjectUI.py:2227 -#: appObjects/FlatCAMCNCJob.py:1295 appObjects/FlatCAMCNCJob.py:1317 +#: appGUI/ObjectUI.py:2277 appGUI/ObjectUI.py:2284 +#: appObjects/FlatCAMCNCJob.py:1304 appObjects/FlatCAMCNCJob.py:1326 msgid "Sender" msgstr "Sender" -#: appGUI/ObjectUI.py:2241 +#: appGUI/ObjectUI.py:2298 msgid "COM list" msgstr "COM list" -#: appGUI/ObjectUI.py:2243 appGUI/ObjectUI.py:2258 +#: appGUI/ObjectUI.py:2300 appGUI/ObjectUI.py:2315 msgid "Lists the available serial ports." msgstr "Lists the available serial ports." -#: appGUI/ObjectUI.py:2247 +#: appGUI/ObjectUI.py:2304 msgid "Search" msgstr "Search" -#: appGUI/ObjectUI.py:2249 +#: appGUI/ObjectUI.py:2306 msgid "Search for the available serial ports." msgstr "Search for the available serial ports." -#: appGUI/ObjectUI.py:2256 +#: appGUI/ObjectUI.py:2313 msgid "Baud rates" msgstr "Baud rates" -#: appGUI/ObjectUI.py:2275 +#: appGUI/ObjectUI.py:2332 msgid "New, custom baudrate." msgstr "New, custom baudrate." -#: appGUI/ObjectUI.py:2283 +#: appGUI/ObjectUI.py:2340 msgid "Add the specified custom baudrate to the list." msgstr "Add the specified custom baudrate to the list." -#: appGUI/ObjectUI.py:2289 +#: appGUI/ObjectUI.py:2346 msgid "Delete selected baudrate" msgstr "Delete selected baudrate" -#: appGUI/ObjectUI.py:2293 +#: appGUI/ObjectUI.py:2350 msgid "Reset" msgstr "Reset" -#: appGUI/ObjectUI.py:2295 +#: appGUI/ObjectUI.py:2352 msgid "Software reset of the controller." msgstr "Software reset of the controller." -#: appGUI/ObjectUI.py:2301 appObjects/FlatCAMCNCJob.py:1309 +#: appGUI/ObjectUI.py:2358 appObjects/FlatCAMCNCJob.py:1318 msgid "Disconnected" msgstr "Disconnected" -#: appGUI/ObjectUI.py:2303 +#: appGUI/ObjectUI.py:2360 msgid "Connect to the selected port with the selected baud rate." msgstr "Connect to the selected port with the selected baud rate." -#: appGUI/ObjectUI.py:2328 +#: appGUI/ObjectUI.py:2385 msgid "Jog" msgstr "Jog" -#: appGUI/ObjectUI.py:2336 +#: appGUI/ObjectUI.py:2393 msgid "Zero Axes" msgstr "Zero Axes" -#: appGUI/ObjectUI.py:2369 +#: appGUI/ObjectUI.py:2426 msgid "Pause/Resume" msgstr "Pause/Resume" -#: appGUI/ObjectUI.py:2391 +#: appGUI/ObjectUI.py:2448 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:172 msgid "Step" msgstr "Step" -#: appGUI/ObjectUI.py:2393 +#: appGUI/ObjectUI.py:2450 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:174 msgid "Each jog action will move the axes with this value." msgstr "Each jog action will move the axes with this value." -#: appGUI/ObjectUI.py:2405 +#: appGUI/ObjectUI.py:2462 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:185 #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:89 -#: appObjects/FlatCAMObj.py:828 appTools/ToolProperties.py:529 +#: appObjects/FlatCAMObj.py:831 appTools/ToolProperties.py:529 msgid "Feedrate" msgstr "Feedrate" -#: appGUI/ObjectUI.py:2407 +#: appGUI/ObjectUI.py:2464 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:187 msgid "Feedrate when jogging." msgstr "Feedrate when jogging." -#: appGUI/ObjectUI.py:2427 +#: appGUI/ObjectUI.py:2484 msgid "Send Command" msgstr "Send Command" -#: appGUI/ObjectUI.py:2429 appGUI/ObjectUI.py:2439 +#: appGUI/ObjectUI.py:2486 appGUI/ObjectUI.py:2496 msgid "Send a custom command to GRBL." msgstr "Send a custom command to GRBL." -#: appGUI/ObjectUI.py:2434 +#: appGUI/ObjectUI.py:2491 msgid "Type GRBL command ..." msgstr "Type GRBL command ..." -#: appGUI/ObjectUI.py:2437 +#: appGUI/ObjectUI.py:2494 msgid "Send" msgstr "Send" -#: appGUI/ObjectUI.py:2445 +#: appGUI/ObjectUI.py:2502 msgid "Get Config parameter" msgstr "Get Config parameter" -#: appGUI/ObjectUI.py:2447 +#: appGUI/ObjectUI.py:2504 msgid "A GRBL configuration parameter." msgstr "A GRBL configuration parameter." -#: appGUI/ObjectUI.py:2452 +#: appGUI/ObjectUI.py:2509 msgid "Type GRBL parameter ..." msgstr "Type GRBL parameter ..." -#: appGUI/ObjectUI.py:2455 +#: appGUI/ObjectUI.py:2512 msgid "Get" msgstr "Get" -#: appGUI/ObjectUI.py:2457 +#: appGUI/ObjectUI.py:2514 msgid "Get the value of a specified GRBL parameter." msgstr "Get the value of a specified GRBL parameter." -#: appGUI/ObjectUI.py:2465 +#: appGUI/ObjectUI.py:2522 msgid "Get Report" msgstr "Get Report" -#: appGUI/ObjectUI.py:2467 +#: appGUI/ObjectUI.py:2524 msgid "Print in shell the GRBL report." msgstr "Print in shell the GRBL report." -#: appGUI/ObjectUI.py:2473 +#: appGUI/ObjectUI.py:2530 msgid "Apply AutoLevelling" msgstr "Apply AutoLevelling" -#: appGUI/ObjectUI.py:2475 +#: appGUI/ObjectUI.py:2532 msgid "" "Will send the probing GCode to the GRBL controller,\n" "wait for the Z probing data and then apply this data\n" @@ -7866,28 +7874,28 @@ msgstr "" "wait for the Z probing data and then apply this data\n" "over the original GCode therefore doing autolevelling." -#: appGUI/ObjectUI.py:2484 +#: appGUI/ObjectUI.py:2541 msgid "Will save the GRBL height map." msgstr "Will save the GRBL height map." -#: appGUI/ObjectUI.py:2494 +#: appGUI/ObjectUI.py:2551 msgid "Save Probing GCode" msgstr "Save Probing GCode" -#: appGUI/ObjectUI.py:2496 +#: appGUI/ObjectUI.py:2553 msgid "Will save the probing GCode." msgstr "Will save the probing GCode." -#: appGUI/ObjectUI.py:2505 +#: appGUI/ObjectUI.py:2562 msgid "View/Edit the probing GCode." msgstr "View/Edit the probing GCode." -#: appGUI/ObjectUI.py:2512 appObjects/FlatCAMCNCJob.py:1726 -#: appObjects/FlatCAMCNCJob.py:1730 +#: appGUI/ObjectUI.py:2569 appObjects/FlatCAMCNCJob.py:1735 +#: appObjects/FlatCAMCNCJob.py:1739 msgid "Import Height Map" msgstr "Import Height Map" -#: appGUI/ObjectUI.py:2514 +#: appGUI/ObjectUI.py:2571 msgid "" "Import the file that has the Z heights\n" "obtained through probing and then apply this data\n" @@ -7899,11 +7907,11 @@ msgstr "" "over the original GCode therefore\n" "doing autolevelling." -#: appGUI/ObjectUI.py:2532 +#: appGUI/ObjectUI.py:2589 msgid "Export CNC Code" msgstr "Export CNC Code" -#: appGUI/ObjectUI.py:2534 +#: appGUI/ObjectUI.py:2591 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:37 #: appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:33 msgid "" @@ -7913,11 +7921,11 @@ msgstr "" "Export and save G-Code to\n" "make this object to a file." -#: appGUI/ObjectUI.py:2543 +#: appGUI/ObjectUI.py:2600 msgid "Save CNC Code" msgstr "Save CNC Code" -#: appGUI/ObjectUI.py:2546 +#: appGUI/ObjectUI.py:2603 msgid "" "Opens dialog to save G-Code\n" "file." @@ -7925,80 +7933,80 @@ msgstr "" "Opens dialog to save G-Code\n" "file." -#: appGUI/ObjectUI.py:2553 +#: appGUI/ObjectUI.py:2610 msgid "Review CNC Code." msgstr "Review CNC Code." -#: appGUI/ObjectUI.py:2614 +#: appGUI/ObjectUI.py:2671 msgid "Script Object" msgstr "Script Object" -#: appGUI/ObjectUI.py:2634 appGUI/ObjectUI.py:2708 +#: appGUI/ObjectUI.py:2691 appGUI/ObjectUI.py:2765 msgid "Auto Completer" msgstr "Auto Completer" -#: appGUI/ObjectUI.py:2636 +#: appGUI/ObjectUI.py:2693 msgid "This selects if the auto completer is enabled in the Script Editor." msgstr "This selects if the auto completer is enabled in the Script Editor." -#: appGUI/ObjectUI.py:2681 +#: appGUI/ObjectUI.py:2738 msgid "Document Object" msgstr "Document Object" -#: appGUI/ObjectUI.py:2710 +#: appGUI/ObjectUI.py:2767 msgid "This selects if the auto completer is enabled in the Document Editor." msgstr "This selects if the auto completer is enabled in the Document Editor." -#: appGUI/ObjectUI.py:2728 +#: appGUI/ObjectUI.py:2785 msgid "Font Type" msgstr "Font Type" -#: appGUI/ObjectUI.py:2745 +#: appGUI/ObjectUI.py:2802 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:189 msgid "Font Size" msgstr "Font Size" -#: appGUI/ObjectUI.py:2781 +#: appGUI/ObjectUI.py:2838 msgid "Alignment" msgstr "Alignment" -#: appGUI/ObjectUI.py:2786 +#: appGUI/ObjectUI.py:2843 msgid "Align Left" msgstr "Align Left" -#: appGUI/ObjectUI.py:2791 app_Main.py:4993 +#: appGUI/ObjectUI.py:2848 app_Main.py:4993 msgid "Center" msgstr "Center" -#: appGUI/ObjectUI.py:2796 +#: appGUI/ObjectUI.py:2853 msgid "Align Right" msgstr "Align Right" -#: appGUI/ObjectUI.py:2801 +#: appGUI/ObjectUI.py:2858 msgid "Justify" msgstr "Justify" -#: appGUI/ObjectUI.py:2808 +#: appGUI/ObjectUI.py:2865 msgid "Font Color" msgstr "Font Color" -#: appGUI/ObjectUI.py:2810 +#: appGUI/ObjectUI.py:2867 msgid "Set the font color for the selected text" msgstr "Set the font color for the selected text" -#: appGUI/ObjectUI.py:2824 +#: appGUI/ObjectUI.py:2881 msgid "Selection Color" msgstr "Selection Color" -#: appGUI/ObjectUI.py:2826 +#: appGUI/ObjectUI.py:2883 msgid "Set the selection color when doing text selection." msgstr "Set the selection color when doing text selection." -#: appGUI/ObjectUI.py:2840 +#: appGUI/ObjectUI.py:2897 msgid "Tab Size" msgstr "Tab Size" -#: appGUI/ObjectUI.py:2842 +#: appGUI/ObjectUI.py:2899 msgid "Set the tab size. In pixels. Default value is 80 pixels." msgstr "Set the tab size. In pixels. Default value is 80 pixels." @@ -8034,41 +8042,41 @@ msgstr "" "Could not annotate due of a difference between the number of text elements " "and the number of text positions." -#: appGUI/preferences/PreferencesUIManager.py:905 +#: appGUI/preferences/PreferencesUIManager.py:906 msgid "Preferences applied." msgstr "Preferences applied." -#: appGUI/preferences/PreferencesUIManager.py:925 +#: appGUI/preferences/PreferencesUIManager.py:926 msgid "Are you sure you want to continue?" msgstr "Are you sure you want to continue?" -#: appGUI/preferences/PreferencesUIManager.py:926 +#: appGUI/preferences/PreferencesUIManager.py:927 msgid "Application will restart" msgstr "Application will restart" -#: appGUI/preferences/PreferencesUIManager.py:1024 +#: appGUI/preferences/PreferencesUIManager.py:1025 msgid "Preferences closed without saving." msgstr "Preferences closed without saving." -#: appGUI/preferences/PreferencesUIManager.py:1036 +#: appGUI/preferences/PreferencesUIManager.py:1037 msgid "Preferences default values are restored." msgstr "Preferences default values are restored." -#: appGUI/preferences/PreferencesUIManager.py:1067 app_Main.py:2622 +#: appGUI/preferences/PreferencesUIManager.py:1068 app_Main.py:2622 #: app_Main.py:2690 msgid "Failed to write defaults to file." msgstr "Failed to write defaults to file." -#: appGUI/preferences/PreferencesUIManager.py:1071 -#: appGUI/preferences/PreferencesUIManager.py:1185 +#: appGUI/preferences/PreferencesUIManager.py:1072 +#: appGUI/preferences/PreferencesUIManager.py:1186 msgid "Preferences saved." msgstr "Preferences saved." -#: appGUI/preferences/PreferencesUIManager.py:1121 +#: appGUI/preferences/PreferencesUIManager.py:1122 msgid "Preferences edited but not saved." msgstr "Preferences edited but not saved." -#: appGUI/preferences/PreferencesUIManager.py:1170 +#: appGUI/preferences/PreferencesUIManager.py:1171 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" @@ -8413,7 +8421,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:55 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:134 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:117 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:123 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:121 msgid "New Dia" msgstr "New Dia" @@ -8830,7 +8838,7 @@ msgstr "MetaHeuristic" #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:171 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:175 #: appObjects/FlatCAMExcellon.py:154 appObjects/FlatCAMGeometry.py:565 -#: appObjects/FlatCAMGerber.py:171 appTools/ToolDrilling.py:306 +#: appObjects/FlatCAMGerber.py:174 appTools/ToolDrilling.py:306 #: appTools/ToolIsolation.py:246 appTools/ToolMilling.py:294 msgid "Basic" msgstr "Basic" @@ -9051,7 +9059,7 @@ msgstr "" "and include the Project, Selected and Tool tabs." #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:214 -#: appTools/ToolDblSided.py:673 appTools/ToolDblSided.py:847 +#: appTools/ToolDblSided.py:666 appTools/ToolDblSided.py:838 msgid "Axis" msgstr "Axis" @@ -9374,7 +9382,7 @@ msgstr "" #: appGUI/preferences/general/GeneralAppPrefGroupUI.py:105 #: appObjects/FlatCAMExcellon.py:163 appObjects/FlatCAMGeometry.py:586 -#: appObjects/FlatCAMGerber.py:179 appTools/ToolDrilling.py:310 +#: appObjects/FlatCAMGerber.py:182 appTools/ToolDrilling.py:310 #: appTools/ToolIsolation.py:273 appTools/ToolMilling.py:305 msgid "Advanced" msgstr "Advanced" @@ -9936,7 +9944,6 @@ msgstr "Area Exclusion" #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:202 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:402 -#| msgid "Add exclusion areas" msgid "Area exclusion parameters." msgstr "Area exclusion parameters." @@ -9985,7 +9992,7 @@ msgstr "" #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:75 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:41 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:41 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:48 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:46 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:42 msgid "Tools Dia" msgstr "Tools Dia" @@ -9994,7 +10001,7 @@ msgstr "Tools Dia" #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:108 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:43 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:43 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:50 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:48 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:44 msgid "" "Diameters of the tools, separated by comma.\n" @@ -10091,12 +10098,12 @@ msgid "\"Follow\"" msgstr "\"Follow\"" #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:64 -#: appObjects/FlatCAMGerber.py:367 appTools/ToolCopperThieving.py:581 +#: appObjects/FlatCAMGerber.py:370 appTools/ToolCopperThieving.py:581 #: appTools/ToolCopperThieving.py:770 appTools/ToolCopperThieving.py:782 -#: appTools/ToolIsolation.py:1353 appTools/ToolNCC.py:1744 -#: appTools/ToolNCC.py:1771 appTools/ToolNCC.py:1879 appTools/ToolNCC.py:1892 -#: appTools/ToolNCC.py:2738 appTools/ToolNCC.py:2843 appTools/ToolNCC.py:2858 -#: appTools/ToolNCC.py:3124 appTools/ToolNCC.py:3225 appTools/ToolNCC.py:3240 +#: appTools/ToolIsolation.py:1353 appTools/ToolNCC.py:1791 +#: appTools/ToolNCC.py:1818 appTools/ToolNCC.py:1926 appTools/ToolNCC.py:1939 +#: appTools/ToolNCC.py:2785 appTools/ToolNCC.py:2890 appTools/ToolNCC.py:2905 +#: appTools/ToolNCC.py:3171 appTools/ToolNCC.py:3272 appTools/ToolNCC.py:3287 #: camlib.py:1113 msgid "Buffering" msgstr "Buffering" @@ -10116,9 +10123,9 @@ msgstr "" #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:71 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:88 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:196 -#: appObjects/FlatCAMObj.py:752 appObjects/FlatCAMObj.py:755 -#: appObjects/FlatCAMObj.py:758 appObjects/FlatCAMObj.py:786 -#: appObjects/FlatCAMObj.py:793 appObjects/FlatCAMObj.py:796 +#: appObjects/FlatCAMObj.py:755 appObjects/FlatCAMObj.py:758 +#: appObjects/FlatCAMObj.py:761 appObjects/FlatCAMObj.py:789 +#: appObjects/FlatCAMObj.py:796 appObjects/FlatCAMObj.py:799 #: appTools/ToolFiducials.py:815 appTools/ToolFilm.py:1102 #: appTools/ToolProperties.py:453 appTools/ToolProperties.py:456 #: appTools/ToolProperties.py:459 appTools/ToolProperties.py:487 @@ -10417,9 +10424,9 @@ msgstr "" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:86 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:309 -#: appTools/ToolCopperThieving.py:1218 appTools/ToolNCC.py:1302 -#: appTools/ToolNCC.py:1618 appTools/ToolNCC.py:1682 appTools/ToolNCC.py:2602 -#: appTools/ToolNCC.py:2611 appTools/ToolNCC.py:4193 appTools/ToolNCC.py:4319 +#: appTools/ToolCopperThieving.py:1218 appTools/ToolNCC.py:1349 +#: appTools/ToolNCC.py:1665 appTools/ToolNCC.py:1729 appTools/ToolNCC.py:2649 +#: appTools/ToolNCC.py:2658 appTools/ToolNCC.py:4240 appTools/ToolNCC.py:4376 #: defaults.py:475 tclCommands/TclCommandCopperClear.py:190 msgid "Itself" msgstr "Itself" @@ -10427,11 +10434,11 @@ msgstr "Itself" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:87 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:295 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:309 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:278 #: appTools/ToolCopperThieving.py:1219 appTools/ToolIsolation.py:819 #: appTools/ToolIsolation.py:1435 appTools/ToolIsolation.py:3378 -#: appTools/ToolNCC.py:1316 appTools/ToolNCC.py:1634 appTools/ToolNCC.py:1689 -#: appTools/ToolNCC.py:4193 appTools/ToolNCC.py:4329 appTools/ToolPaint.py:1061 +#: appTools/ToolNCC.py:1363 appTools/ToolNCC.py:1681 appTools/ToolNCC.py:1736 +#: appTools/ToolNCC.py:4240 appTools/ToolNCC.py:4386 appTools/ToolPaint.py:1061 #: appTools/ToolPaint.py:3127 appTools/ToolPaint.py:3249 msgid "Area Selection" msgstr "Area Selection" @@ -10439,12 +10446,12 @@ msgstr "Area Selection" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:88 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:295 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:309 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 -#: appTools/ToolCopperThieving.py:1220 appTools/ToolDblSided.py:764 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:278 +#: appTools/ToolCopperThieving.py:1220 appTools/ToolDblSided.py:757 #: appTools/ToolIsolation.py:1475 appTools/ToolIsolation.py:3378 -#: appTools/ToolNCC.py:1335 appTools/ToolNCC.py:1640 appTools/ToolNCC.py:1697 -#: appTools/ToolNCC.py:2075 appTools/ToolNCC.py:2309 appTools/ToolNCC.py:2647 -#: appTools/ToolNCC.py:4193 appTools/ToolPaint.py:1080 +#: appTools/ToolNCC.py:1382 appTools/ToolNCC.py:1687 appTools/ToolNCC.py:1744 +#: appTools/ToolNCC.py:2122 appTools/ToolNCC.py:2356 appTools/ToolNCC.py:2694 +#: appTools/ToolNCC.py:4240 appTools/ToolPaint.py:1080 #: appTools/ToolPaint.py:3127 appTools/ToolPaint.py:3232 #: tclCommands/TclCommandCopperClear.py:192 tclCommands/TclCommandPaint.py:166 msgid "Reference Object" @@ -11050,7 +11057,6 @@ msgstr "" "- bevel -> the lines are joined by a third line" #: appGUI/preferences/tools/Tools2InvertPrefGroupUI.py:69 -#| msgid "Beveled" msgid "Bevel" msgstr "Bevel" @@ -11481,7 +11487,7 @@ msgid "Drill dia" msgstr "Drill dia" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:49 -#: appTools/ToolDblSided.py:833 appTools/ToolDblSided.py:838 +#: appTools/ToolDblSided.py:824 appTools/ToolDblSided.py:829 msgid "Diameter of the drill for the alignment holes." msgstr "Diameter of the drill for the alignment holes." @@ -11491,7 +11497,7 @@ msgstr "Align Axis" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:58 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:71 -#: appTools/ToolDblSided.py:674 appTools/ToolDblSided.py:849 +#: appTools/ToolDblSided.py:667 appTools/ToolDblSided.py:840 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "Mirror vertically (X) or horizontally (Y)." @@ -11500,12 +11506,12 @@ msgid "Mirror Axis:" msgstr "Mirror Axis:" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:86 -#: appTools/ToolDblSided.py:700 +#: appTools/ToolDblSided.py:693 msgid "Box" msgstr "Box" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:87 -#: appTools/ToolDblSided.py:701 +#: appTools/ToolDblSided.py:694 msgid "Hole Snap" msgstr "Hole Snap" @@ -11759,9 +11765,9 @@ msgstr "Create CNCJob with toolpaths for drilling or milling holes." #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:41 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:54 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:156 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:142 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:140 #: appTools/ToolDrilling.py:2082 appTools/ToolIsolation.py:3058 -#: appTools/ToolMilling.py:1687 appTools/ToolNCC.py:3820 +#: appTools/ToolMilling.py:1687 appTools/ToolNCC.py:3867 #: appTools/ToolPaint.py:2843 msgid "Tool order" msgstr "Tool order" @@ -11770,10 +11776,10 @@ msgstr "Tool order" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:55 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:157 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:167 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:143 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:141 #: appTools/ToolDrilling.py:2083 appTools/ToolIsolation.py:3059 -#: appTools/ToolMilling.py:1688 appTools/ToolNCC.py:3821 -#: appTools/ToolNCC.py:3831 appTools/ToolPaint.py:2844 +#: appTools/ToolMilling.py:1688 appTools/ToolNCC.py:3868 +#: appTools/ToolNCC.py:3878 appTools/ToolPaint.py:2844 #: appTools/ToolPaint.py:2854 msgid "" "This set the way that the tools in the tools table are used.\n" @@ -11795,9 +11801,9 @@ msgstr "" #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:50 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:63 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:165 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:151 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:149 #: appTools/ToolDrilling.py:2091 appTools/ToolIsolation.py:3067 -#: appTools/ToolMilling.py:1696 appTools/ToolNCC.py:3829 +#: appTools/ToolMilling.py:1696 appTools/ToolNCC.py:3876 #: appTools/ToolPaint.py:2852 msgid "Forward" msgstr "Forward" @@ -11805,9 +11811,9 @@ msgstr "Forward" #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:51 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:64 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:166 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:152 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:150 #: appTools/ToolDrilling.py:2092 appTools/ToolIsolation.py:3068 -#: appTools/ToolMilling.py:1697 appTools/ToolNCC.py:3830 +#: appTools/ToolMilling.py:1697 appTools/ToolNCC.py:3877 #: appTools/ToolPaint.py:2853 msgid "Reverse" msgstr "Reverse" @@ -12102,7 +12108,7 @@ msgstr "Isolation Tool Options" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:48 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:49 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:57 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:55 msgid "Comma separated values" msgstr "Comma separated values" @@ -12110,7 +12116,7 @@ msgstr "Comma separated values" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:80 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:55 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:63 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:64 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:62 msgid "" "Default tool type:\n" "- 'V-shape'\n" @@ -12122,7 +12128,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:77 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:60 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:69 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 msgid "V-shape" msgstr "V-shape" @@ -12147,7 +12153,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:136 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:119 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:125 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:123 #: appTools/ToolPaint.py:2884 msgid "" "Diameter for the new tool to add in the Tool Table.\n" @@ -12160,9 +12166,9 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:243 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:288 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:244 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:245 -#: appTools/ToolIsolation.py:3286 appTools/ToolNCC.py:4115 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:242 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:243 +#: appTools/ToolIsolation.py:3286 appTools/ToolNCC.py:4162 #: appTools/ToolPaint.py:3069 msgid "Rest" msgstr "Rest" @@ -12213,12 +12219,14 @@ msgstr "" "will be subtracted from the isolation geometry." #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:275 -#: appTools/ToolIsolation.py:3320 +#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:350 +#: appTools/ToolIsolation.py:3320 appTools/ToolNCC.py:4298 msgid "Check validity" msgstr "Check validity" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:277 -#: appTools/ToolIsolation.py:3322 +#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:352 +#: appTools/ToolIsolation.py:3322 appTools/ToolNCC.py:4300 msgid "" "If checked then the tools diameters are verified\n" "if they will provide a complete isolation." @@ -12242,7 +12250,7 @@ msgstr "" "- 'Reference Object' - will process the area specified by another object." #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:295 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:278 #: appTools/ToolIsolation.py:831 appTools/ToolIsolation.py:1454 #: appTools/ToolIsolation.py:3378 appTools/ToolPaint.py:1038 #: appTools/ToolPaint.py:3127 appTools/ToolPaint.py:3243 @@ -12282,20 +12290,20 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:337 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:339 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:303 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:301 msgid "Normal" msgstr "Normal" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:338 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:340 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:304 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:302 msgid "Progressive" msgstr "Progressive" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:339 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:341 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:305 -#: appObjects/AppObject.py:439 appObjects/FlatCAMObj.py:266 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:303 +#: appObjects/AppObject.py:453 appObjects/FlatCAMObj.py:266 #: appObjects/FlatCAMObj.py:297 appObjects/FlatCAMObj.py:313 #: appObjects/FlatCAMObj.py:393 appTools/ToolCopperThieving.py:1038 #: appTools/ToolCorners.py:263 appTools/ToolFiducials.py:530 @@ -12305,7 +12313,7 @@ msgstr "Plotting" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:341 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:343 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:307 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:305 msgid "" "- 'Normal' - normal plotting, done at the end of the job\n" "- 'Progressive' - each shape is plotted after it is generated" @@ -12341,7 +12349,7 @@ msgstr "" "from the copper features.\n" "The value can be between 0.0 and 9999.9 FlatCAM units." -#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:290 appTools/ToolNCC.py:4119 +#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:290 appTools/ToolNCC.py:4166 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -12359,7 +12367,7 @@ msgstr "" "no more copper to clear or there are no more tools.\n" "If not checked, use the standard algorithm." -#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:313 appTools/ToolNCC.py:4199 +#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:313 appTools/ToolNCC.py:4246 msgid "" "Selection of area to be processed.\n" "- 'Itself' - the processing extent is based on the object that is " @@ -12383,8 +12391,8 @@ msgstr "Paint Tool Options" msgid "Parameters:" msgstr "Parameters:" -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:107 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:116 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:105 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:114 msgid "" "Depth of cut into material. Negative value.\n" "In application units." @@ -12392,7 +12400,7 @@ msgstr "" "Depth of cut into material. Negative value.\n" "In application units." -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:247 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:245 #: appTools/ToolPaint.py:3072 msgid "" "If checked, use 'rest machining'.\n" @@ -12413,7 +12421,7 @@ msgstr "" "\n" "If not checked, use the standard algorithm." -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:260 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:258 #: appTools/ToolPaint.py:3099 msgid "" "Selection of area to be processed.\n" @@ -12495,16 +12503,16 @@ msgstr "Number of rows of the desired panel" #: appTools/ToolCalibration.py:891 appTools/ToolCalibration.py:1326 #: appTools/ToolCalibration.py:1343 appTools/ToolCopperThieving.py:163 #: appTools/ToolCopperThieving.py:1237 appTools/ToolCopperThieving.py:1251 -#: appTools/ToolCutOut.py:2009 appTools/ToolDblSided.py:528 -#: appTools/ToolDblSided.py:772 appTools/ToolFilm.py:928 +#: appTools/ToolCutOut.py:2009 appTools/ToolDblSided.py:525 +#: appTools/ToolDblSided.py:765 appTools/ToolFilm.py:928 #: appTools/ToolFilm.py:951 appTools/ToolImage.py:117 appTools/ToolImage.py:138 #: appTools/ToolImage.py:191 appTools/ToolIsolation.py:802 #: appTools/ToolIsolation.py:3339 appTools/ToolIsolation.py:3391 -#: appTools/ToolNCC.py:793 appTools/ToolNCC.py:3742 appTools/ToolNCC.py:4216 +#: appTools/ToolNCC.py:803 appTools/ToolNCC.py:3789 appTools/ToolNCC.py:4263 #: appTools/ToolPaint.py:167 appTools/ToolPaint.py:3143 #: appTools/ToolPanelize.py:147 appTools/ToolPanelize.py:167 #: appTools/ToolPanelize.py:715 appTools/ToolPanelize.py:809 -#: appTools/ToolTransform.py:126 appTools/ToolTransform.py:585 defaults.py:566 +#: appTools/ToolTransform.py:126 appTools/ToolTransform.py:585 defaults.py:567 msgid "Gerber" msgstr "Gerber" @@ -12978,7 +12986,7 @@ msgstr "GCode File associations" msgid "Gerber File associations" msgstr "Gerber File associations" -#: appObjects/AppObject.py:157 +#: appObjects/AppObject.py:165 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" @@ -12987,32 +12995,32 @@ msgstr "" "Object ({kind}) failed because: {error} \n" "\n" -#: appObjects/AppObject.py:176 +#: appObjects/AppObject.py:184 msgid "Converting units to " msgstr "Converting units to " -#: appObjects/AppObject.py:248 appObjects/FlatCAMGeometry.py:128 +#: appObjects/AppObject.py:259 appObjects/FlatCAMGeometry.py:128 #: appObjects/FlatCAMGeometry.py:519 appObjects/FlatCAMGeometry.py:1053 -#: appObjects/FlatCAMGerber.py:539 appObjects/FlatCAMGerber.py:682 +#: appObjects/FlatCAMGerber.py:542 appObjects/FlatCAMGerber.py:685 #: appTools/ToolCutOut.py:448 appTools/ToolIsolation.py:1623 #: appTools/ToolIsolation.py:1785 appTools/ToolIsolation.py:1978 camlib.py:1231 #: camlib.py:1292 msgid "Rough" msgstr "Rough" -#: appObjects/AppObject.py:302 +#: appObjects/AppObject.py:313 msgid "CREATE A NEW FLATCAM TCL SCRIPT" msgstr "CREATE A NEW FLATCAM TCL SCRIPT" -#: appObjects/AppObject.py:303 +#: appObjects/AppObject.py:314 msgid "TCL Tutorial is here" msgstr "TCL Tutorial is here" -#: appObjects/AppObject.py:305 +#: appObjects/AppObject.py:316 msgid "FlatCAM commands list" msgstr "FlatCAM commands list" -#: appObjects/AppObject.py:306 +#: appObjects/AppObject.py:317 msgid "" "Type >help< followed by Run Code for a list of FlatCAM Tcl Commands " "(displayed in Tcl Shell)." @@ -13020,31 +13028,39 @@ msgstr "" "Type >help< followed by Run Code for a list of FlatCAM Tcl Commands " "(displayed in Tcl Shell)." -#: appObjects/AppObject.py:357 appObjects/AppObject.py:363 -#: appObjects/AppObject.py:369 appObjects/AppObject.py:375 -#: appObjects/AppObject.py:381 appObjects/AppObject.py:387 +#: appObjects/AppObject.py:371 appObjects/AppObject.py:377 +#: appObjects/AppObject.py:383 appObjects/AppObject.py:389 +#: appObjects/AppObject.py:395 appObjects/AppObject.py:401 msgid "created/selected" msgstr "created/selected" -#: appObjects/FlatCAMCNCJob.py:636 appObjects/FlatCAMDocument.py:71 +#: appObjects/FlatCAMCNCJob.py:637 appObjects/FlatCAMDocument.py:71 #: appObjects/FlatCAMScript.py:82 msgid "Basic" msgstr "Basic" -#: appObjects/FlatCAMCNCJob.py:643 appObjects/FlatCAMDocument.py:75 +#: appObjects/FlatCAMCNCJob.py:644 appObjects/FlatCAMDocument.py:75 #: appObjects/FlatCAMScript.py:86 msgid "Advanced" msgstr "Advanced" -#: appObjects/FlatCAMCNCJob.py:803 +#: appObjects/FlatCAMCNCJob.py:780 appObjects/FlatCAMCNCJob.py:1058 +msgid "" +"Voronoi function can not be loaded.\n" +"Shapely >= 1.8 is required" +msgstr "" +"Voronoi function can not be loaded.\n" +"Shapely >= 1.8 is required" + +#: appObjects/FlatCAMCNCJob.py:808 msgid "Click on canvas to add a Probe Point..." msgstr "Click on canvas to add a Probe Point..." -#: appObjects/FlatCAMCNCJob.py:999 +#: appObjects/FlatCAMCNCJob.py:1004 msgid "Point is not within the object area. Choose another point." msgstr "Point is not within the object area. Choose another point." -#: appObjects/FlatCAMCNCJob.py:1019 +#: appObjects/FlatCAMCNCJob.py:1024 msgid "" "Added a Probe Point... Click again to add another or right click to " "finish ..." @@ -13052,117 +13068,117 @@ msgstr "" "Added a Probe Point... Click again to add another or right click to " "finish ..." -#: appObjects/FlatCAMCNCJob.py:1041 +#: appObjects/FlatCAMCNCJob.py:1046 msgid "Finished adding Probe Points..." msgstr "Finished adding Probe Points..." -#: appObjects/FlatCAMCNCJob.py:1251 +#: appObjects/FlatCAMCNCJob.py:1260 msgid "COM list updated ..." msgstr "COM list updated ..." -#: appObjects/FlatCAMCNCJob.py:1287 +#: appObjects/FlatCAMCNCJob.py:1296 msgid "Connected" msgstr "Connected" -#: appObjects/FlatCAMCNCJob.py:1298 +#: appObjects/FlatCAMCNCJob.py:1307 msgid "Port connected" msgstr "Port connected" -#: appObjects/FlatCAMCNCJob.py:1302 +#: appObjects/FlatCAMCNCJob.py:1311 msgid "Could not connect to GRBL on port" msgstr "Could not connect to GRBL on port" -#: appObjects/FlatCAMCNCJob.py:1319 +#: appObjects/FlatCAMCNCJob.py:1328 msgid "Port is connected. Disconnecting" msgstr "Port is connected. Disconnecting" -#: appObjects/FlatCAMCNCJob.py:1321 +#: appObjects/FlatCAMCNCJob.py:1330 msgid "Could not connect to port" msgstr "Could not connect to port" -#: appObjects/FlatCAMCNCJob.py:1351 appObjects/FlatCAMCNCJob.py:1781 +#: appObjects/FlatCAMCNCJob.py:1360 appObjects/FlatCAMCNCJob.py:1790 msgid "Sending GCode..." msgstr "Sending GCode..." -#: appObjects/FlatCAMCNCJob.py:1480 +#: appObjects/FlatCAMCNCJob.py:1489 msgid "GRBL is doing a home cycle." msgstr "GRBL is doing a home cycle." -#: appObjects/FlatCAMCNCJob.py:1486 +#: appObjects/FlatCAMCNCJob.py:1495 msgid "GRBL software reset was sent." msgstr "GRBL software reset was sent." -#: appObjects/FlatCAMCNCJob.py:1494 +#: appObjects/FlatCAMCNCJob.py:1503 msgid "GRBL resumed." msgstr "GRBL resumed." -#: appObjects/FlatCAMCNCJob.py:1498 +#: appObjects/FlatCAMCNCJob.py:1507 msgid "GRBL paused." msgstr "GRBL paused." -#: appObjects/FlatCAMCNCJob.py:1640 appObjects/FlatCAMCNCJob.py:1830 -#: appObjects/FlatCAMCNCJob.py:1915 appTools/ToolSolderPaste.py:1066 +#: appObjects/FlatCAMCNCJob.py:1649 appObjects/FlatCAMCNCJob.py:1839 +#: appObjects/FlatCAMCNCJob.py:1924 appTools/ToolSolderPaste.py:1066 msgid "Export cancelled ..." msgstr "Export cancelled ..." -#: appObjects/FlatCAMCNCJob.py:1664 appObjects/FlatCAMCNCJob.py:1951 +#: appObjects/FlatCAMCNCJob.py:1673 appObjects/FlatCAMCNCJob.py:1960 #: appObjects/FlatCAMScript.py:134 app_Main.py:7824 msgid "Loading..." msgstr "Loading..." -#: appObjects/FlatCAMCNCJob.py:1668 +#: appObjects/FlatCAMCNCJob.py:1677 msgid "There is nothing to view" msgstr "There is nothing to view" -#: appObjects/FlatCAMCNCJob.py:1674 +#: appObjects/FlatCAMCNCJob.py:1683 msgid "Code Viewer" msgstr "Code Viewer" -#: appObjects/FlatCAMCNCJob.py:1712 +#: appObjects/FlatCAMCNCJob.py:1721 msgid "Loaded Machine Code into Code Viewer" msgstr "Loaded Machine Code into Code Viewer" -#: appObjects/FlatCAMCNCJob.py:1757 +#: appObjects/FlatCAMCNCJob.py:1766 msgid "Failed to open height map file" msgstr "Failed to open height map file" -#: appObjects/FlatCAMCNCJob.py:1807 +#: appObjects/FlatCAMCNCJob.py:1816 msgid "Finished probing. Doing the autolevelling." msgstr "Finished probing. Doing the autolevelling." -#: appObjects/FlatCAMCNCJob.py:1812 +#: appObjects/FlatCAMCNCJob.py:1821 msgid "Sending probing GCode to the GRBL controller." msgstr "Sending probing GCode to the GRBL controller." -#: appObjects/FlatCAMCNCJob.py:1853 +#: appObjects/FlatCAMCNCJob.py:1862 msgid "Empty GRBL heightmap." msgstr "Empty GRBL heightmap." -#: appObjects/FlatCAMCNCJob.py:1857 +#: appObjects/FlatCAMCNCJob.py:1866 msgid "Finished autolevelling." msgstr "Finished autolevelling." -#: appObjects/FlatCAMCNCJob.py:1871 +#: appObjects/FlatCAMCNCJob.py:1880 msgid "Plotting..." msgstr "Plotting..." -#: appObjects/FlatCAMCNCJob.py:1941 +#: appObjects/FlatCAMCNCJob.py:1950 msgid "File saved to" msgstr "File saved to" -#: appObjects/FlatCAMCNCJob.py:1965 +#: appObjects/FlatCAMCNCJob.py:1974 msgid "Code Review" msgstr "Code Review" -#: appObjects/FlatCAMCNCJob.py:2148 +#: appObjects/FlatCAMCNCJob.py:2157 msgid "This CNCJob object can't be processed because it is a" msgstr "This CNCJob object can't be processed because it is a" -#: appObjects/FlatCAMCNCJob.py:2150 +#: appObjects/FlatCAMCNCJob.py:2159 msgid "CNCJob object" msgstr "CNCJob object" -#: appObjects/FlatCAMCNCJob.py:2260 +#: appObjects/FlatCAMCNCJob.py:2269 msgid "" "G-code does not have a G94 code.\n" "Append Code snippet will not be used.." @@ -13174,38 +13190,38 @@ msgstr "" msgid "Document Editor" msgstr "Document Editor" -#: appObjects/FlatCAMExcellon.py:872 appObjects/FlatCAMExcellon.py:980 +#: appObjects/FlatCAMExcellon.py:874 appObjects/FlatCAMExcellon.py:982 #: appTools/ToolDrilling.py:1612 appTools/ToolMilling.py:1038 #: appTools/ToolMilling.py:1154 appTools/ToolMilling.py:1340 msgid "Please select one or more tools from the list and try again." msgstr "Please select one or more tools from the list and try again." -#: appObjects/FlatCAMExcellon.py:877 appTools/ToolMilling.py:1045 +#: appObjects/FlatCAMExcellon.py:879 appTools/ToolMilling.py:1045 msgid "Milling tool for DRILLS is larger than hole size. Cancelled." msgstr "Milling tool for DRILLS is larger than hole size. Cancelled." -#: appObjects/FlatCAMExcellon.py:900 appObjects/FlatCAMExcellon.py:1000 +#: appObjects/FlatCAMExcellon.py:902 appObjects/FlatCAMExcellon.py:1002 #: appTools/ToolDrilling.py:1762 appTools/ToolDrilling.py:1827 #: appTools/ToolMilling.py:1071 appTools/ToolMilling.py:1175 #: appTools/ToolMilling.py:1360 tclCommands/TclCommandDrillcncjob.py:195 msgid "Tool_nr" msgstr "Tool_nr" -#: appObjects/FlatCAMExcellon.py:900 appObjects/FlatCAMExcellon.py:1000 +#: appObjects/FlatCAMExcellon.py:902 appObjects/FlatCAMExcellon.py:1002 #: appTools/ToolDrilling.py:1762 appTools/ToolDrilling.py:1827 #: appTools/ToolMilling.py:1071 appTools/ToolMilling.py:1175 #: appTools/ToolMilling.py:1360 tclCommands/TclCommandDrillcncjob.py:195 msgid "Drills_Nr" msgstr "Drills_Nr" -#: appObjects/FlatCAMExcellon.py:900 appObjects/FlatCAMExcellon.py:1000 +#: appObjects/FlatCAMExcellon.py:902 appObjects/FlatCAMExcellon.py:1002 #: appTools/ToolDrilling.py:1762 appTools/ToolDrilling.py:1827 #: appTools/ToolMilling.py:1071 appTools/ToolMilling.py:1175 #: appTools/ToolMilling.py:1360 tclCommands/TclCommandDrillcncjob.py:195 msgid "Slots_Nr" msgstr "Slots_Nr" -#: appObjects/FlatCAMExcellon.py:989 appTools/ToolMilling.py:1163 +#: appObjects/FlatCAMExcellon.py:991 appTools/ToolMilling.py:1163 msgid "Milling tool for SLOTS is larger than hole size. Cancelled." msgstr "Milling tool for SLOTS is larger than hole size. Cancelled." @@ -13224,7 +13240,7 @@ msgstr "Finish" #: appTools/ToolIsolation.py:531 appTools/ToolIsolation.py:644 #: appTools/ToolIsolation.py:710 appTools/ToolMilling.py:628 #: appTools/ToolMilling.py:749 appTools/ToolMilling.py:794 -#: appTools/ToolNCC.py:271 appTools/ToolNCC.py:337 appTools/ToolNCC.py:701 +#: appTools/ToolNCC.py:276 appTools/ToolNCC.py:342 appTools/ToolNCC.py:711 #: appTools/ToolPaint.py:252 appTools/ToolPaint.py:316 #: appTools/ToolPaint.py:655 msgid "Multiple Tools" @@ -13238,7 +13254,7 @@ msgstr "Add from Tool DB" #: appTools/ToolDrilling.py:754 appTools/ToolDrilling.py:983 #: appTools/ToolDrilling.py:1021 appTools/ToolIsolation.py:639 #: appTools/ToolIsolation.py:674 appTools/ToolMilling.py:744 -#: appTools/ToolMilling.py:779 appTools/ToolNCC.py:266 appTools/ToolNCC.py:301 +#: appTools/ToolMilling.py:779 appTools/ToolNCC.py:271 appTools/ToolNCC.py:306 #: appTools/ToolPaint.py:247 appTools/ToolPaint.py:282 app_Main.py:2188 msgid "No Tool Selected" msgstr "No Tool Selected" @@ -13391,31 +13407,31 @@ msgstr "Delete failed. There are no exclusion areas to delete." msgid "Delete failed. Nothing is selected." msgstr "Delete failed. Nothing is selected." -#: appObjects/FlatCAMGerber.py:364 appTools/ToolIsolation.py:1337 +#: appObjects/FlatCAMGerber.py:367 appTools/ToolIsolation.py:1337 msgid "Buffering solid geometry" msgstr "Buffering solid geometry" -#: appObjects/FlatCAMGerber.py:371 appTools/ToolIsolation.py:1359 +#: appObjects/FlatCAMGerber.py:374 appTools/ToolIsolation.py:1359 msgid "Done" msgstr "Done" -#: appObjects/FlatCAMGerber.py:397 appObjects/FlatCAMGerber.py:423 +#: appObjects/FlatCAMGerber.py:400 appObjects/FlatCAMGerber.py:426 msgid "Operation could not be done." msgstr "Operation could not be done." -#: appObjects/FlatCAMGerber.py:555 appObjects/FlatCAMGerber.py:629 +#: appObjects/FlatCAMGerber.py:558 appObjects/FlatCAMGerber.py:632 #: appTools/ToolIsolation.py:1583 appTools/ToolIsolation.py:1951 -#: appTools/ToolNCC.py:1807 appTools/ToolNCC.py:2772 appTools/ToolNCC.py:3151 +#: appTools/ToolNCC.py:1854 appTools/ToolNCC.py:2819 appTools/ToolNCC.py:3198 msgid "Isolation geometry could not be generated." msgstr "Isolation geometry could not be generated." -#: appObjects/FlatCAMGerber.py:580 appObjects/FlatCAMGerber.py:707 +#: appObjects/FlatCAMGerber.py:583 appObjects/FlatCAMGerber.py:710 #: appTools/ToolIsolation.py:1650 appTools/ToolIsolation.py:1846 #: appTools/ToolIsolation.py:2035 msgid "Isolation geometry created" msgstr "Isolation geometry created" -#: appObjects/FlatCAMGerber.py:989 +#: appObjects/FlatCAMGerber.py:992 msgid "Plotting Apertures" msgstr "Plotting Apertures" @@ -13455,80 +13471,80 @@ msgstr "Dimensions" msgid "Calculating dimensions ... Please wait." msgstr "Calculating dimensions ... Please wait." -#: appObjects/FlatCAMObj.py:721 appObjects/FlatCAMObj.py:789 +#: appObjects/FlatCAMObj.py:724 appObjects/FlatCAMObj.py:792 #: appTools/ToolProperties.py:422 appTools/ToolProperties.py:490 msgid "Drills number" msgstr "Drills number" -#: appObjects/FlatCAMObj.py:722 appObjects/FlatCAMObj.py:791 +#: appObjects/FlatCAMObj.py:725 appObjects/FlatCAMObj.py:794 #: appTools/ToolProperties.py:423 appTools/ToolProperties.py:492 msgid "Slots number" msgstr "Slots number" -#: appObjects/FlatCAMObj.py:724 appTools/ToolProperties.py:425 +#: appObjects/FlatCAMObj.py:727 appTools/ToolProperties.py:425 msgid "Drills total number:" msgstr "Drills total number:" -#: appObjects/FlatCAMObj.py:725 appTools/ToolProperties.py:426 +#: appObjects/FlatCAMObj.py:728 appTools/ToolProperties.py:426 msgid "Slots total number:" msgstr "Slots total number:" -#: appObjects/FlatCAMObj.py:752 appObjects/FlatCAMObj.py:755 -#: appObjects/FlatCAMObj.py:758 appObjects/FlatCAMObj.py:786 -#: appObjects/FlatCAMObj.py:793 appObjects/FlatCAMObj.py:796 +#: appObjects/FlatCAMObj.py:755 appObjects/FlatCAMObj.py:758 +#: appObjects/FlatCAMObj.py:761 appObjects/FlatCAMObj.py:789 +#: appObjects/FlatCAMObj.py:796 appObjects/FlatCAMObj.py:799 #: appTools/ToolProperties.py:453 appTools/ToolProperties.py:456 #: appTools/ToolProperties.py:459 appTools/ToolProperties.py:487 #: appTools/ToolProperties.py:494 appTools/ToolProperties.py:497 msgid "Present" msgstr "Present" -#: appObjects/FlatCAMObj.py:753 appObjects/FlatCAMObj.py:787 +#: appObjects/FlatCAMObj.py:756 appObjects/FlatCAMObj.py:790 #: appTools/ToolProperties.py:454 appTools/ToolProperties.py:488 msgid "Solid Geometry" msgstr "Solid Geometry" -#: appObjects/FlatCAMObj.py:756 appObjects/FlatCAMObj.py:794 +#: appObjects/FlatCAMObj.py:759 appObjects/FlatCAMObj.py:797 #: appTools/ToolProperties.py:457 appTools/ToolProperties.py:495 msgid "GCode Text" msgstr "GCode Text" -#: appObjects/FlatCAMObj.py:759 appObjects/FlatCAMObj.py:797 +#: appObjects/FlatCAMObj.py:762 appObjects/FlatCAMObj.py:800 #: appTools/ToolProperties.py:460 appTools/ToolProperties.py:498 msgid "GCode Geometry" msgstr "GCode Geometry" -#: appObjects/FlatCAMObj.py:767 appObjects/FlatCAMObj.py:840 +#: appObjects/FlatCAMObj.py:770 appObjects/FlatCAMObj.py:843 #: appTools/ToolProperties.py:468 appTools/ToolProperties.py:541 msgid "Tool Data" msgstr "Tool Data" -#: appObjects/FlatCAMObj.py:804 appTools/ToolProperties.py:505 +#: appObjects/FlatCAMObj.py:807 appTools/ToolProperties.py:505 msgid "Depth of Cut" msgstr "Depth of Cut" -#: appObjects/FlatCAMObj.py:816 appTools/ToolProperties.py:517 +#: appObjects/FlatCAMObj.py:819 appTools/ToolProperties.py:517 msgid "Clearance Height" msgstr "Clearance Height" -#: appObjects/FlatCAMObj.py:854 appTools/ToolProperties.py:555 +#: appObjects/FlatCAMObj.py:857 appTools/ToolProperties.py:555 msgid "Routing time" msgstr "Routing time" -#: appObjects/FlatCAMObj.py:879 appTools/ToolProperties.py:580 +#: appObjects/FlatCAMObj.py:882 appTools/ToolProperties.py:580 msgid "Width" msgstr "Width" -#: appObjects/FlatCAMObj.py:885 appObjects/FlatCAMObj.py:893 +#: appObjects/FlatCAMObj.py:888 appObjects/FlatCAMObj.py:896 #: appTools/ToolProperties.py:586 appTools/ToolProperties.py:594 msgid "Box Area" msgstr "Box Area" -#: appObjects/FlatCAMObj.py:888 appObjects/FlatCAMObj.py:896 +#: appObjects/FlatCAMObj.py:891 appObjects/FlatCAMObj.py:899 #: appTools/ToolProperties.py:589 appTools/ToolProperties.py:597 msgid "Convex_Hull Area" msgstr "Convex_Hull Area" -#: appObjects/FlatCAMObj.py:903 appObjects/FlatCAMObj.py:906 +#: appObjects/FlatCAMObj.py:906 appObjects/FlatCAMObj.py:909 #: appTools/ToolProperties.py:604 appTools/ToolProperties.py:607 msgid "Copper Area" msgstr "Copper Area" @@ -13816,15 +13832,15 @@ msgstr "" #: appTools/ToolAlignObjects.py:498 appTools/ToolCalculators.py:372 #: appTools/ToolCalibration.py:1378 appTools/ToolCopperThieving.py:1577 #: appTools/ToolCorners.py:444 appTools/ToolCutOut.py:2394 -#: appTools/ToolDblSided.py:947 appTools/ToolDrilling.py:2649 +#: appTools/ToolDblSided.py:938 appTools/ToolDrilling.py:2649 #: appTools/ToolEtchCompensation.py:458 appTools/ToolExtractDrills.py:702 #: appTools/ToolFiducials.py:932 appTools/ToolFilm.py:1383 #: appTools/ToolInvertGerber.py:286 appTools/ToolIsolation.py:3477 -#: appTools/ToolMilling.py:2324 appTools/ToolNCC.py:4271 +#: appTools/ToolMilling.py:2324 appTools/ToolNCC.py:4328 #: appTools/ToolOptimal.py:593 appTools/ToolPaint.py:3194 #: appTools/ToolPanelize.py:889 appTools/ToolPunchGerber.py:993 #: appTools/ToolQRCode.py:904 appTools/ToolRulesCheck.py:1618 -#: appTools/ToolSolderPaste.py:1557 appTools/ToolSub.py:752 +#: appTools/ToolSolderPaste.py:1557 appTools/ToolSub.py:754 #: appTools/ToolTransform.py:920 msgid "Reset Tool" msgstr "Reset Tool" @@ -13832,15 +13848,15 @@ msgstr "Reset Tool" #: appTools/ToolAlignObjects.py:501 appTools/ToolCalculators.py:375 #: appTools/ToolCalibration.py:1381 appTools/ToolCopperThieving.py:1580 #: appTools/ToolCorners.py:447 appTools/ToolCutOut.py:2397 -#: appTools/ToolDblSided.py:950 appTools/ToolDrilling.py:2652 +#: appTools/ToolDblSided.py:941 appTools/ToolDrilling.py:2652 #: appTools/ToolEtchCompensation.py:461 appTools/ToolExtractDrills.py:705 #: appTools/ToolFiducials.py:935 appTools/ToolFilm.py:1386 #: appTools/ToolInvertGerber.py:289 appTools/ToolIsolation.py:3480 -#: appTools/ToolMilling.py:2327 appTools/ToolNCC.py:4274 +#: appTools/ToolMilling.py:2327 appTools/ToolNCC.py:4331 #: appTools/ToolOptimal.py:596 appTools/ToolPaint.py:3197 #: appTools/ToolPanelize.py:892 appTools/ToolPunchGerber.py:996 #: appTools/ToolQRCode.py:907 appTools/ToolRulesCheck.py:1621 -#: appTools/ToolSolderPaste.py:1560 appTools/ToolSub.py:755 +#: appTools/ToolSolderPaste.py:1560 appTools/ToolSub.py:757 #: appTools/ToolTransform.py:923 msgid "Will reset the tool parameters." msgstr "Will reset the tool parameters." @@ -14022,8 +14038,8 @@ msgstr "" "Contain the expected calibration points and the\n" "ones measured." -#: appTools/ToolCalibration.py:930 appTools/ToolSub.py:652 -#: appTools/ToolSub.py:707 +#: appTools/ToolCalibration.py:930 appTools/ToolSub.py:654 +#: appTools/ToolSub.py:706 msgid "Target" msgstr "Target" @@ -14276,8 +14292,8 @@ msgstr "Copper Thieving Tool done." #: appTools/ToolIsolation.py:908 appTools/ToolIsolation.py:1345 #: appTools/ToolIsolation.py:1372 appTools/ToolMilling.py:424 #: appTools/ToolMilling.py:639 appTools/ToolMilling.py:1322 -#: appTools/ToolNCC.py:830 appTools/ToolNCC.py:1262 appTools/ToolNCC.py:1308 -#: appTools/ToolNCC.py:1341 appTools/ToolPaint.py:1086 +#: appTools/ToolNCC.py:844 appTools/ToolNCC.py:1306 appTools/ToolNCC.py:1355 +#: appTools/ToolNCC.py:1388 appTools/ToolPaint.py:1086 #: appTools/ToolPanelize.py:191 appTools/ToolPanelize.py:205 #: appTools/ToolSub.py:157 appTools/ToolSub.py:170 appTools/ToolSub.py:359 #: appTools/ToolSub.py:372 tclCommands/TclCommandCopperClear.py:97 @@ -14308,7 +14324,7 @@ msgstr "Copper Thieving Tool. Preparing areas to fill with copper." #: appTools/ToolCopperThieving.py:599 appTools/ToolFilm.py:631 #: appTools/ToolFilm.py:879 appTools/ToolIsolation.py:916 -#: appTools/ToolNCC.py:837 appTools/ToolOptimal.py:145 +#: appTools/ToolNCC.py:851 appTools/ToolOptimal.py:145 #: appTools/ToolPanelize.py:612 appTools/ToolRulesCheck.py:626 msgid "Working..." msgstr "Working..." @@ -14317,13 +14333,13 @@ msgstr "Working..." msgid "Geometry not supported for bounding box" msgstr "Geometry not supported for bounding box" -#: appTools/ToolCopperThieving.py:632 appTools/ToolNCC.py:1632 -#: appTools/ToolNCC.py:1687 appTools/ToolNCC.py:2627 appTools/ToolPaint.py:2457 +#: appTools/ToolCopperThieving.py:632 appTools/ToolNCC.py:1679 +#: appTools/ToolNCC.py:1734 appTools/ToolNCC.py:2674 appTools/ToolPaint.py:2457 msgid "No object available." msgstr "No object available." -#: appTools/ToolCopperThieving.py:669 appTools/ToolNCC.py:1657 -#: appTools/ToolNCC.py:1710 appTools/ToolNCC.py:2669 +#: appTools/ToolCopperThieving.py:669 appTools/ToolNCC.py:1704 +#: appTools/ToolNCC.py:1757 appTools/ToolNCC.py:2716 msgid "The reference object type is not supported." msgstr "The reference object type is not supported." @@ -14380,7 +14396,7 @@ msgstr "" "another object." #: appTools/ToolCopperThieving.py:1231 appTools/ToolIsolation.py:3385 -#: appTools/ToolNCC.py:4210 appTools/ToolPaint.py:3137 +#: appTools/ToolNCC.py:4257 appTools/ToolPaint.py:3137 msgid "Ref. Type" msgstr "Ref. Type" @@ -14393,12 +14409,12 @@ msgstr "" "It can be Gerber, Excellon or Geometry." #: appTools/ToolCopperThieving.py:1242 appTools/ToolIsolation.py:3396 -#: appTools/ToolNCC.py:4220 appTools/ToolPaint.py:3147 +#: appTools/ToolNCC.py:4267 appTools/ToolPaint.py:3147 msgid "Ref. Object" msgstr "Ref. Object" #: appTools/ToolCopperThieving.py:1244 appTools/ToolIsolation.py:3398 -#: appTools/ToolNCC.py:4222 appTools/ToolPaint.py:3149 +#: appTools/ToolNCC.py:4269 appTools/ToolPaint.py:3149 msgid "The FlatCAM object to be used as non copper clearing reference." msgstr "The FlatCAM object to be used as non copper clearing reference." @@ -14530,7 +14546,7 @@ msgstr "Will add corner markers to the selected Gerber file." #: appTools/ToolCutOut.py:281 appTools/ToolIsolation.py:791 #: appTools/ToolIsolation.py:1049 appTools/ToolIsolation.py:1185 -#: appTools/ToolNCC.py:458 appTools/ToolNCC.py:946 appTools/ToolNCC.py:1084 +#: appTools/ToolNCC.py:463 appTools/ToolNCC.py:990 appTools/ToolNCC.py:1128 #: appTools/ToolPaint.py:395 appTools/ToolPaint.py:686 #: appTools/ToolPaint.py:823 appTools/ToolSolderPaste.py:131 #: appTools/ToolSolderPaste.py:464 app_Main.py:4490 @@ -14538,12 +14554,12 @@ msgid "Please enter a tool diameter with non-zero value, in Float format." msgstr "Please enter a tool diameter with non-zero value, in Float format." #: appTools/ToolCutOut.py:357 appTools/ToolIsolation.py:1130 -#: appTools/ToolNCC.py:1029 appTools/ToolPaint.py:767 +#: appTools/ToolNCC.py:1073 appTools/ToolPaint.py:767 msgid "Tool not in Tools Database. Adding a default tool." msgstr "Tool not in Tools Database. Adding a default tool." #: appTools/ToolCutOut.py:364 appTools/ToolDrilling.py:955 -#: appTools/ToolIsolation.py:1137 appTools/ToolNCC.py:1036 +#: appTools/ToolIsolation.py:1137 appTools/ToolNCC.py:1080 #: appTools/ToolPaint.py:775 msgid "" "Cancelled.\n" @@ -14561,7 +14577,7 @@ msgid "Default tool added." msgstr "Default tool added." #: appTools/ToolCutOut.py:466 appTools/ToolIsolation.py:2577 -#: appTools/ToolNCC.py:3602 appTools/ToolPaint.py:2620 +#: appTools/ToolNCC.py:3649 appTools/ToolPaint.py:2620 msgid "Selected tool can't be used here. Pick another." msgstr "Selected tool can't be used here. Pick another." @@ -14608,7 +14624,7 @@ msgstr "Any form CutOut operation finished." #: appTools/ToolEtchCompensation.py:158 appTools/ToolInvertGerber.py:105 #: appTools/ToolIsolation.py:912 appTools/ToolIsolation.py:1349 #: appTools/ToolIsolation.py:1376 appTools/ToolMilling.py:1326 -#: appTools/ToolNCC.py:834 appTools/ToolNCC.py:1266 appTools/ToolPaint.py:1003 +#: appTools/ToolNCC.py:848 appTools/ToolNCC.py:1310 appTools/ToolPaint.py:1003 #: appTools/ToolPanelize.py:196 tclCommands/TclCommandBbox.py:71 #: tclCommands/TclCommandNregions.py:71 msgid "Object not found" @@ -14695,7 +14711,7 @@ msgstr "Object to be cutout" msgid "Kind" msgstr "Kind" -#: appTools/ToolCutOut.py:2015 appTools/ToolDblSided.py:521 +#: appTools/ToolCutOut.py:2015 msgid "" "Specify the type of object to be cutout.\n" "It can be of type: Gerber or Geometry.\n" @@ -14708,7 +14724,7 @@ msgstr "" "of objects that will populate the 'Object' combobox." #: appTools/ToolCutOut.py:2074 appTools/ToolIsolation.py:3125 -#: appTools/ToolNCC.py:3892 appTools/ToolPaint.py:2901 +#: appTools/ToolNCC.py:3939 appTools/ToolPaint.py:2901 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above.\n" @@ -14884,11 +14900,15 @@ msgstr "2-Sided PCB" msgid "Objects to be mirrored" msgstr "Objects to be mirrored" -#: appTools/ToolDblSided.py:560 +#: appTools/ToolDblSided.py:521 +msgid "Select the type of application object to be processed in this tool." +msgstr "Select the type of application object to be processed in this tool." + +#: appTools/ToolDblSided.py:555 msgid "Bounds Values" msgstr "Bounds Values" -#: appTools/ToolDblSided.py:562 +#: appTools/ToolDblSided.py:557 msgid "" "Select on canvas the object(s)\n" "for which to calculate bounds values." @@ -14896,39 +14916,39 @@ msgstr "" "Select on canvas the object(s)\n" "for which to calculate bounds values." -#: appTools/ToolDblSided.py:572 +#: appTools/ToolDblSided.py:567 msgid "X min" msgstr "X min" -#: appTools/ToolDblSided.py:574 appTools/ToolDblSided.py:588 +#: appTools/ToolDblSided.py:569 appTools/ToolDblSided.py:583 msgid "Minimum location." msgstr "Minimum location." -#: appTools/ToolDblSided.py:586 +#: appTools/ToolDblSided.py:581 msgid "Y min" msgstr "Y min" -#: appTools/ToolDblSided.py:600 +#: appTools/ToolDblSided.py:595 msgid "X max" msgstr "X max" -#: appTools/ToolDblSided.py:602 appTools/ToolDblSided.py:616 +#: appTools/ToolDblSided.py:597 appTools/ToolDblSided.py:611 msgid "Maximum location." msgstr "Maximum location." -#: appTools/ToolDblSided.py:614 +#: appTools/ToolDblSided.py:609 msgid "Y max" msgstr "Y max" -#: appTools/ToolDblSided.py:625 +#: appTools/ToolDblSided.py:620 msgid "Center point coordinates" msgstr "Center point coordinates" -#: appTools/ToolDblSided.py:627 +#: appTools/ToolDblSided.py:622 msgid "Centroid" msgstr "Centroid" -#: appTools/ToolDblSided.py:629 +#: appTools/ToolDblSided.py:624 msgid "" "The center point location for the rectangular\n" "bounding shape. Centroid. Format is (x, y)." @@ -14936,11 +14956,11 @@ msgstr "" "The center point location for the rectangular\n" "bounding shape. Centroid. Format is (x, y)." -#: appTools/ToolDblSided.py:638 +#: appTools/ToolDblSided.py:633 msgid "Calculate Bounds Values" msgstr "Calculate Bounds Values" -#: appTools/ToolDblSided.py:640 +#: appTools/ToolDblSided.py:635 msgid "" "Calculate the enveloping rectangular shape coordinates,\n" "for the selection of objects.\n" @@ -14950,15 +14970,15 @@ msgstr "" "for the selection of objects.\n" "The envelope shape is parallel with the X, Y axis." -#: appTools/ToolDblSided.py:667 +#: appTools/ToolDblSided.py:660 msgid "Mirror Operation" msgstr "Mirror Operation" -#: appTools/ToolDblSided.py:668 +#: appTools/ToolDblSided.py:661 msgid "Parameters for the mirror operation" msgstr "Parameters for the mirror operation" -#: appTools/ToolDblSided.py:690 +#: appTools/ToolDblSided.py:683 msgid "" "The coordinates used as reference for the mirror operation.\n" "Can be:\n" @@ -14976,11 +14996,11 @@ msgstr "" "- Hole Snap -> a point defined by the center of a drill hone in a Excellon " "object" -#: appTools/ToolDblSided.py:710 +#: appTools/ToolDblSided.py:703 msgid "Point coordinates" msgstr "Point coordinates" -#: appTools/ToolDblSided.py:715 +#: appTools/ToolDblSided.py:708 msgid "" "Add the coordinates in format (x, y) through which the mirroring " "axis\n" @@ -14996,15 +15016,15 @@ msgstr "" "and left mouse button click on canvas or you can enter the coordinates " "manually." -#: appTools/ToolDblSided.py:733 +#: appTools/ToolDblSided.py:726 msgid "Object that holds holes that can be picked as reference for mirroing." msgstr "Object that holds holes that can be picked as reference for mirroing." -#: appTools/ToolDblSided.py:748 +#: appTools/ToolDblSided.py:741 msgid "Pick hole" msgstr "Pick hole" -#: appTools/ToolDblSided.py:750 +#: appTools/ToolDblSided.py:743 msgid "" "Click inside a drill hole that belong to the selected Excellon object,\n" "and the hole center coordinates will be copied to the Point field." @@ -15012,7 +15032,7 @@ msgstr "" "Click inside a drill hole that belong to the selected Excellon object,\n" "and the hole center coordinates will be copied to the Point field." -#: appTools/ToolDblSided.py:766 +#: appTools/ToolDblSided.py:759 msgid "" "It can be of type: Gerber or Excellon or Geometry.\n" "The coordinates of the center of the bounding box are used\n" @@ -15022,11 +15042,11 @@ msgstr "" "The coordinates of the center of the bounding box are used\n" "as reference for mirror operation." -#: appTools/ToolDblSided.py:792 +#: appTools/ToolDblSided.py:785 msgid "Mirror" msgstr "Mirror" -#: appTools/ToolDblSided.py:794 +#: appTools/ToolDblSided.py:787 msgid "" "Mirrors (flips) the specified object around \n" "the specified axis. Does not create a new \n" @@ -15036,11 +15056,11 @@ msgstr "" "the specified axis. Does not create a new \n" "object, but modifies it." -#: appTools/ToolDblSided.py:822 +#: appTools/ToolDblSided.py:813 msgid "PCB Alignment" msgstr "PCB Alignment" -#: appTools/ToolDblSided.py:824 appTools/ToolDblSided.py:932 +#: appTools/ToolDblSided.py:815 appTools/ToolDblSided.py:923 msgid "" "Creates an Excellon Object containing the\n" "specified alignment holes and their mirror\n" @@ -15050,11 +15070,11 @@ msgstr "" "specified alignment holes and their mirror\n" "images." -#: appTools/ToolDblSided.py:831 +#: appTools/ToolDblSided.py:822 msgid "Drill Diameter" msgstr "Drill Diameter" -#: appTools/ToolDblSided.py:866 appTools/ToolDblSided.py:873 +#: appTools/ToolDblSided.py:857 appTools/ToolDblSided.py:864 msgid "" "The reference point used to create the second alignment drill\n" "from the first alignment drill, by doing mirror.\n" @@ -15064,11 +15084,11 @@ msgstr "" "from the first alignment drill, by doing mirror.\n" "It can be modified in the Mirror Parameters -> Reference section" -#: appTools/ToolDblSided.py:886 +#: appTools/ToolDblSided.py:877 msgid "Alignment Drill Coordinates" msgstr "Alignment Drill Coordinates" -#: appTools/ToolDblSided.py:888 +#: appTools/ToolDblSided.py:879 msgid "" "Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For " "each set of (x, y) coordinates\n" @@ -15086,11 +15106,11 @@ msgstr "" "- one drill in mirror position over the axis selected above in the 'Align " "Axis'." -#: appTools/ToolDblSided.py:896 +#: appTools/ToolDblSided.py:887 msgid "Drill coordinates" msgstr "Drill coordinates" -#: appTools/ToolDblSided.py:903 +#: appTools/ToolDblSided.py:894 msgid "" "Add alignment drill holes coordinates in the format: (x1, y1), (x2, " "y2), ... \n" @@ -15116,15 +15136,15 @@ msgstr "" "field and click Paste.\n" "- by entering the coords manually in the format: (x1, y1), (x2, y2), ..." -#: appTools/ToolDblSided.py:918 +#: appTools/ToolDblSided.py:909 msgid "Delete Last" msgstr "Delete Last" -#: appTools/ToolDblSided.py:920 +#: appTools/ToolDblSided.py:911 msgid "Delete the last coordinates tuple in the list." msgstr "Delete the last coordinates tuple in the list." -#: appTools/ToolDblSided.py:930 +#: appTools/ToolDblSided.py:921 msgid "Create Excellon Object" msgstr "Create Excellon Object" @@ -15300,7 +15320,7 @@ msgid "Jump to Half Point" msgstr "Jump to Half Point" #: appTools/ToolDrilling.py:1195 appTools/ToolIsolation.py:778 -#: appTools/ToolMilling.py:962 appTools/ToolNCC.py:444 +#: appTools/ToolMilling.py:962 appTools/ToolNCC.py:449 #: appTools/ToolPaint.py:381 msgid "Current Tool parameters were applied to all tools." msgstr "Current Tool parameters were applied to all tools." @@ -15922,17 +15942,17 @@ msgstr "" "will be empty of copper and previous empty area will be\n" "filled with copper." -#: appTools/ToolIsolation.py:782 appTools/ToolNCC.py:449 +#: appTools/ToolIsolation.py:782 appTools/ToolNCC.py:454 #: appTools/ToolPaint.py:386 appTools/ToolSolderPaste.py:122 msgid "New Tool" msgstr "New Tool" -#: appTools/ToolIsolation.py:795 appTools/ToolNCC.py:462 +#: appTools/ToolIsolation.py:795 appTools/ToolNCC.py:467 #: appTools/ToolPaint.py:399 appTools/ToolSolderPaste.py:135 app_Main.py:4494 msgid "Adding Tool cancelled" msgstr "Adding Tool cancelled" -#: appTools/ToolIsolation.py:941 appTools/ToolNCC.py:865 +#: appTools/ToolIsolation.py:941 appTools/ToolNCC.py:879 #: appTools/ToolOptimal.py:179 msgid "" "The Gerber object has one Polygon as geometry.\n" @@ -15941,13 +15961,13 @@ msgstr "" "The Gerber object has one Polygon as geometry.\n" "There are no distances between geometry elements to be found." -#: appTools/ToolIsolation.py:988 appTools/ToolNCC.py:908 +#: appTools/ToolIsolation.py:988 appTools/ToolNCC.py:924 msgid "Optimal tool diameter found" msgstr "Optimal tool diameter found" #: appTools/ToolIsolation.py:1000 appTools/ToolIsolation.py:1508 #: appTools/ToolIsolation.py:1710 appTools/ToolIsolation.py:1897 -#: appTools/ToolNCC.py:1296 appTools/ToolPaint.py:1031 +#: appTools/ToolNCC.py:935 appTools/ToolNCC.py:1343 appTools/ToolPaint.py:1031 #: appTools/ToolPaint.py:1744 msgid "There are no tools selected in the Tool Table." msgstr "There are no tools selected in the Tool Table." @@ -15960,39 +15980,39 @@ msgstr "" #: appTools/ToolIsolation.py:1057 appTools/ToolIsolation.py:1144 #: appTools/ToolIsolation.py:1206 appTools/ToolIsolation.py:2626 -#: appTools/ToolNCC.py:955 appTools/ToolNCC.py:1043 appTools/ToolNCC.py:1105 -#: appTools/ToolNCC.py:3651 appTools/ToolPaint.py:694 appTools/ToolPaint.py:782 +#: appTools/ToolNCC.py:999 appTools/ToolNCC.py:1087 appTools/ToolNCC.py:1149 +#: appTools/ToolNCC.py:3698 appTools/ToolPaint.py:694 appTools/ToolPaint.py:782 #: appTools/ToolPaint.py:844 appTools/ToolPaint.py:2676 #: appTools/ToolSolderPaste.py:488 msgid "Cancelled. Tool already in Tool Table." msgstr "Cancelled. Tool already in Tool Table." -#: appTools/ToolIsolation.py:1172 appTools/ToolNCC.py:1071 +#: appTools/ToolIsolation.py:1172 appTools/ToolNCC.py:1115 #: appTools/ToolPaint.py:810 msgid "New tool added to Tool Table from Tools Database." msgstr "New tool added to Tool Table from Tools Database." -#: appTools/ToolIsolation.py:1236 appTools/ToolNCC.py:1135 +#: appTools/ToolIsolation.py:1236 appTools/ToolNCC.py:1179 #: appTools/ToolPaint.py:873 msgid "Default tool added to Tool Table." msgstr "Default tool added to Tool Table." -#: appTools/ToolIsolation.py:1262 appTools/ToolNCC.py:1161 +#: appTools/ToolIsolation.py:1262 appTools/ToolNCC.py:1205 #: appTools/ToolPaint.py:898 msgid "Tool from Tool Table was edited." msgstr "Tool from Tool Table was edited." -#: appTools/ToolIsolation.py:1275 appTools/ToolNCC.py:1174 +#: appTools/ToolIsolation.py:1275 appTools/ToolNCC.py:1218 #: appTools/ToolPaint.py:911 appTools/ToolSolderPaste.py:548 msgid "Cancelled. New diameter value is already in the Tool Table." msgstr "Cancelled. New diameter value is already in the Tool Table." -#: appTools/ToolIsolation.py:1326 appTools/ToolNCC.py:1225 +#: appTools/ToolIsolation.py:1326 appTools/ToolNCC.py:1269 #: appTools/ToolPaint.py:961 msgid "Delete failed. Select a tool to delete." msgstr "Delete failed. Select a tool to delete." -#: appTools/ToolIsolation.py:1332 appTools/ToolNCC.py:1231 +#: appTools/ToolIsolation.py:1332 appTools/ToolNCC.py:1275 #: appTools/ToolPaint.py:967 msgid "Tool(s) deleted from Tool Table." msgstr "Tool(s) deleted from Tool Table." @@ -16083,12 +16103,12 @@ msgstr "No polygon in selection." msgid "Click the end point of the paint area." msgstr "Click the end point of the paint area." -#: appTools/ToolIsolation.py:2590 appTools/ToolNCC.py:3615 +#: appTools/ToolIsolation.py:2590 appTools/ToolNCC.py:3662 #: appTools/ToolPaint.py:2633 app_Main.py:5773 app_Main.py:5783 msgid "Tool from DB added in Tool Table." msgstr "Tool from DB added in Tool Table." -#: appTools/ToolIsolation.py:2644 appTools/ToolNCC.py:3668 +#: appTools/ToolIsolation.py:2644 appTools/ToolNCC.py:3715 #: appTools/ToolPaint.py:2693 msgid "New tool added to Tool Table." msgstr "New tool added to Tool Table." @@ -16097,7 +16117,7 @@ msgstr "New tool added to Tool Table." msgid "Gerber object for isolation routing." msgstr "Gerber object for isolation routing." -#: appTools/ToolIsolation.py:3012 appTools/ToolNCC.py:3768 +#: appTools/ToolIsolation.py:3012 appTools/ToolNCC.py:3815 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for copper clearing." @@ -16121,7 +16141,7 @@ msgstr "" "in the resulting geometry. This is because with some tools\n" "this function will not be able to create routing geometry." -#: appTools/ToolIsolation.py:3036 appTools/ToolNCC.py:3792 +#: appTools/ToolIsolation.py:3036 appTools/ToolNCC.py:3839 msgid "" "Tool Diameter. It's value (in current FlatCAM units)\n" "is the cut width into the material." @@ -16129,7 +16149,7 @@ msgstr "" "Tool Diameter. It's value (in current FlatCAM units)\n" "is the cut width into the material." -#: appTools/ToolIsolation.py:3040 appTools/ToolNCC.py:3796 +#: appTools/ToolIsolation.py:3040 appTools/ToolNCC.py:3843 msgid "" "The Tool Type (TT) can be:\n" "- Circular with 1 ... 4 teeth -> it is informative only. Being circular,\n" @@ -16165,11 +16185,11 @@ msgstr "" "Type\n" "in the resulting geometry as Isolation." -#: appTools/ToolIsolation.py:3108 appTools/ToolNCC.py:3876 +#: appTools/ToolIsolation.py:3108 appTools/ToolNCC.py:3923 msgid "Optimal" msgstr "Optimal" -#: appTools/ToolIsolation.py:3112 appTools/ToolNCC.py:3880 +#: appTools/ToolIsolation.py:3112 appTools/ToolNCC.py:3927 msgid "" "Find a tool diameter that is guaranteed\n" "to do a complete isolation." @@ -16177,7 +16197,7 @@ msgstr "" "Find a tool diameter that is guaranteed\n" "to do a complete isolation." -#: appTools/ToolIsolation.py:3153 appTools/ToolNCC.py:3920 +#: appTools/ToolIsolation.py:3153 appTools/ToolNCC.py:3967 #: appTools/ToolPaint.py:2929 appTools/ToolSolderPaste.py:1211 msgid "" "Delete a selection of tools in the Tool Table\n" @@ -16202,7 +16222,7 @@ msgstr "" msgid "Object whose area will be removed from isolation geometry." msgstr "Object whose area will be removed from isolation geometry." -#: appTools/ToolIsolation.py:3387 appTools/ToolNCC.py:4212 +#: appTools/ToolIsolation.py:3387 appTools/ToolNCC.py:4259 msgid "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." @@ -16284,94 +16304,114 @@ msgstr "No object(s) selected." msgid "Error when mouse left click." msgstr "Error when mouse left click." -#: appTools/ToolNCC.py:1675 appTools/ToolNCC.py:2599 +#: appTools/ToolNCC.py:835 +msgid "NCC Tool. Checking tools for validity." +msgstr "NCC Tool. Checking tools for validity." + +#: appTools/ToolNCC.py:947 +#| msgid "" +#| "Incomplete isolation. At least one tool could not do a complete isolation." +msgid "" +"Incomplete isolation. None of the selected tools could do a complete " +"isolation." +msgstr "" +"Incomplete isolation. None of the selected tools could do a complete " +"isolation." + +#: appTools/ToolNCC.py:950 +#| msgid "" +#| "Incomplete isolation. At least one tool could not do a complete isolation." +msgid "At least one of the selected tools can do a complete isolation." +msgstr "At least one of the selected tools can do a complete isolation." + +#: appTools/ToolNCC.py:1722 appTools/ToolNCC.py:2646 msgid "NCC Tool. Preparing non-copper polygons." msgstr "NCC Tool. Preparing non-copper polygons." -#: appTools/ToolNCC.py:1735 appTools/ToolNCC.py:2727 +#: appTools/ToolNCC.py:1782 appTools/ToolNCC.py:2774 msgid "NCC Tool. Calculate 'empty' area." msgstr "NCC Tool. Calculate 'empty' area." -#: appTools/ToolNCC.py:1746 appTools/ToolNCC.py:1775 appTools/ToolNCC.py:1881 -#: appTools/ToolNCC.py:1894 appTools/ToolNCC.py:2740 appTools/ToolNCC.py:2845 -#: appTools/ToolNCC.py:2860 appTools/ToolNCC.py:3126 appTools/ToolNCC.py:3227 -#: appTools/ToolNCC.py:3242 +#: appTools/ToolNCC.py:1793 appTools/ToolNCC.py:1822 appTools/ToolNCC.py:1928 +#: appTools/ToolNCC.py:1941 appTools/ToolNCC.py:2787 appTools/ToolNCC.py:2892 +#: appTools/ToolNCC.py:2907 appTools/ToolNCC.py:3173 appTools/ToolNCC.py:3274 +#: appTools/ToolNCC.py:3289 msgid "Buffering finished" msgstr "Buffering finished" -#: appTools/ToolNCC.py:1750 appTools/ToolNCC.py:1779 appTools/ToolNCC.py:1885 -#: appTools/ToolNCC.py:1897 appTools/ToolNCC.py:2748 appTools/ToolNCC.py:2867 -#: appTools/ToolNCC.py:3133 appTools/ToolNCC.py:3249 +#: appTools/ToolNCC.py:1797 appTools/ToolNCC.py:1826 appTools/ToolNCC.py:1932 +#: appTools/ToolNCC.py:1944 appTools/ToolNCC.py:2795 appTools/ToolNCC.py:2914 +#: appTools/ToolNCC.py:3180 appTools/ToolNCC.py:3296 msgid "Could not get the extent of the area to be non copper cleared." msgstr "Could not get the extent of the area to be non copper cleared." -#: appTools/ToolNCC.py:1758 appTools/ToolNCC.py:1908 appTools/ToolNCC.py:2878 +#: appTools/ToolNCC.py:1805 appTools/ToolNCC.py:1955 appTools/ToolNCC.py:2925 msgid "NCC Tool. Finished calculation of 'empty' area." msgstr "NCC Tool. Finished calculation of 'empty' area." -#: appTools/ToolNCC.py:1811 appTools/ToolNCC.py:2775 appTools/ToolNCC.py:2852 -#: appTools/ToolNCC.py:3153 appTools/ToolNCC.py:3234 +#: appTools/ToolNCC.py:1858 appTools/ToolNCC.py:2822 appTools/ToolNCC.py:2899 +#: appTools/ToolNCC.py:3200 appTools/ToolNCC.py:3281 msgid "" "Isolation geometry is broken. Margin is less than isolation tool diameter." msgstr "" "Isolation geometry is broken. Margin is less than isolation tool diameter." -#: appTools/ToolNCC.py:1901 appTools/ToolNCC.py:2871 appTools/ToolNCC.py:3252 +#: appTools/ToolNCC.py:1948 appTools/ToolNCC.py:2918 appTools/ToolNCC.py:3299 msgid "The selected object is not suitable for copper clearing." msgstr "The selected object is not suitable for copper clearing." -#: appTools/ToolNCC.py:1951 +#: appTools/ToolNCC.py:1998 msgid "Clearing the polygon with the method: lines." msgstr "Clearing the polygon with the method: lines." -#: appTools/ToolNCC.py:1961 +#: appTools/ToolNCC.py:2008 msgid "Failed. Clearing the polygon with the method: seed." msgstr "Failed. Clearing the polygon with the method: seed." -#: appTools/ToolNCC.py:1970 +#: appTools/ToolNCC.py:2017 msgid "Failed. Clearing the polygon with the method: standard." msgstr "Failed. Clearing the polygon with the method: standard." -#: appTools/ToolNCC.py:1986 +#: appTools/ToolNCC.py:2033 msgid "Polygon could not be cleared. Location:" msgstr "Polygon could not be cleared. Location:" -#: appTools/ToolNCC.py:2018 appTools/ToolNCC.py:2020 appTools/ToolNCC.py:2548 -#: appTools/ToolNCC.py:2550 +#: appTools/ToolNCC.py:2065 appTools/ToolNCC.py:2067 appTools/ToolNCC.py:2595 +#: appTools/ToolNCC.py:2597 msgid "Non-Copper clearing ..." msgstr "Non-Copper clearing ..." -#: appTools/ToolNCC.py:2039 +#: appTools/ToolNCC.py:2086 msgid "" "There is no copper clearing tool in the selection and at least one is needed." msgstr "" "There is no copper clearing tool in the selection and at least one is needed." -#: appTools/ToolNCC.py:2054 appTools/ToolNCC.py:2695 +#: appTools/ToolNCC.py:2101 appTools/ToolNCC.py:2742 msgid "" "NCC Tool. Finished non-copper polygons. Normal copper clearing task started." msgstr "" "NCC Tool. Finished non-copper polygons. Normal copper clearing task started." -#: appTools/ToolNCC.py:2082 appTools/ToolNCC.py:2316 +#: appTools/ToolNCC.py:2129 appTools/ToolNCC.py:2363 msgid "NCC Tool failed creating bounding box." msgstr "NCC Tool failed creating bounding box." -#: appTools/ToolNCC.py:2102 appTools/ToolNCC.py:2352 appTools/ToolNCC.py:2891 -#: appTools/ToolNCC.py:3277 +#: appTools/ToolNCC.py:2149 appTools/ToolNCC.py:2399 appTools/ToolNCC.py:2938 +#: appTools/ToolNCC.py:3324 msgid "NCC Tool clearing with tool diameter" msgstr "NCC Tool clearing with tool diameter" -#: appTools/ToolNCC.py:2102 appTools/ToolNCC.py:2352 appTools/ToolNCC.py:2891 -#: appTools/ToolNCC.py:3277 +#: appTools/ToolNCC.py:2149 appTools/ToolNCC.py:2399 appTools/ToolNCC.py:2938 +#: appTools/ToolNCC.py:3324 msgid "started." msgstr "started." -#: appTools/ToolNCC.py:2230 +#: appTools/ToolNCC.py:2277 msgid "Could not use the tool for copper clear." msgstr "Could not use the tool for copper clear." -#: appTools/ToolNCC.py:2252 appTools/ToolNCC.py:3052 +#: appTools/ToolNCC.py:2299 appTools/ToolNCC.py:3099 msgid "" "There is no NCC Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -16383,29 +16423,29 @@ msgstr "" "geometry.\n" "Change the painting parameters and try again." -#: appTools/ToolNCC.py:2262 appTools/ToolNCC.py:3061 +#: appTools/ToolNCC.py:2309 appTools/ToolNCC.py:3108 msgid "NCC Tool clear all done." msgstr "NCC Tool clear all done." -#: appTools/ToolNCC.py:2265 appTools/ToolNCC.py:3064 +#: appTools/ToolNCC.py:2312 appTools/ToolNCC.py:3111 msgid "NCC Tool clear all done but the copper features isolation is broken for" msgstr "" "NCC Tool clear all done but the copper features isolation is broken for" -#: appTools/ToolNCC.py:2267 appTools/ToolNCC.py:2463 appTools/ToolNCC.py:3066 -#: appTools/ToolNCC.py:3449 +#: appTools/ToolNCC.py:2314 appTools/ToolNCC.py:2510 appTools/ToolNCC.py:3113 +#: appTools/ToolNCC.py:3496 msgid "tools" msgstr "tools" -#: appTools/ToolNCC.py:2294 +#: appTools/ToolNCC.py:2341 msgid "NCC Tool. Rest machining copper clearing task started." msgstr "NCC Tool. Rest machining copper clearing task started." -#: appTools/ToolNCC.py:2459 appTools/ToolNCC.py:3445 +#: appTools/ToolNCC.py:2506 appTools/ToolNCC.py:3492 msgid "NCC Tool Rest Machining clear all done." msgstr "NCC Tool Rest Machining clear all done." -#: appTools/ToolNCC.py:2462 appTools/ToolNCC.py:3448 +#: appTools/ToolNCC.py:2509 appTools/ToolNCC.py:3495 msgid "" "NCC Tool Rest Machining clear all done but the copper features isolation is " "broken for" @@ -16413,11 +16453,11 @@ msgstr "" "NCC Tool Rest Machining clear all done but the copper features isolation is " "broken for" -#: appTools/ToolNCC.py:2560 +#: appTools/ToolNCC.py:2607 msgid "NCC Tool started. Reading parameters." msgstr "NCC Tool started. Reading parameters." -#: appTools/ToolNCC.py:3547 +#: appTools/ToolNCC.py:3594 msgid "" "Try to use the Buffering Type = Full in Preferences -> Gerber General. " "Reload the Gerber file after this change." @@ -16425,15 +16465,15 @@ msgstr "" "Try to use the Buffering Type = Full in Preferences -> Gerber General. " "Reload the Gerber file after this change." -#: appTools/ToolNCC.py:3703 +#: appTools/ToolNCC.py:3750 msgid "Non-Copper Clearing" msgstr "Non-Copper Clearing" -#: appTools/ToolNCC.py:3732 appTools/ToolPaint.py:2765 +#: appTools/ToolNCC.py:3779 appTools/ToolPaint.py:2765 msgid "Obj Type" msgstr "Obj Type" -#: appTools/ToolNCC.py:3734 +#: appTools/ToolNCC.py:3781 msgid "" "Specify the type of object to be cleared of excess copper.\n" "It can be of type: Gerber or Geometry.\n" @@ -16445,11 +16485,11 @@ msgstr "" "What is selected here will dictate the kind\n" "of objects that will populate the 'Object' combobox." -#: appTools/ToolNCC.py:3756 +#: appTools/ToolNCC.py:3803 msgid "Object to be cleared of excess copper." msgstr "Object to be cleared of excess copper." -#: appTools/ToolNCC.py:3784 +#: appTools/ToolNCC.py:3831 msgid "" "This is the Tool Number.\n" "Non copper clearing will start with the tool with the biggest \n" @@ -17866,7 +17906,7 @@ msgstr "Parsing solid_geometry ..." msgid "Parsing solid_geometry for tool" msgstr "Parsing solid_geometry for tool" -#: appTools/ToolSub.py:654 +#: appTools/ToolSub.py:656 msgid "" "Gerber object from which to subtract\n" "the subtractor Gerber object." @@ -17874,11 +17914,11 @@ msgstr "" "Gerber object from which to subtract\n" "the subtractor Gerber object." -#: appTools/ToolSub.py:667 appTools/ToolSub.py:722 +#: appTools/ToolSub.py:670 appTools/ToolSub.py:722 msgid "Subtractor" msgstr "Subtractor" -#: appTools/ToolSub.py:669 +#: appTools/ToolSub.py:672 msgid "" "Gerber object that will be subtracted\n" "from the target Gerber object." @@ -17886,11 +17926,11 @@ msgstr "" "Gerber object that will be subtracted\n" "from the target Gerber object." -#: appTools/ToolSub.py:676 +#: appTools/ToolSub.py:679 msgid "Subtract Gerber" msgstr "Subtract Gerber" -#: appTools/ToolSub.py:678 +#: appTools/ToolSub.py:681 msgid "" "Will remove the area occupied by the subtractor\n" "Gerber from the Target Gerber.\n" @@ -17902,7 +17942,7 @@ msgstr "" "Can be used to remove the overlapping silkscreen\n" "over the soldermask." -#: appTools/ToolSub.py:709 +#: appTools/ToolSub.py:708 msgid "" "Geometry object from which to subtract\n" "the subtractor Geometry object." @@ -17924,11 +17964,11 @@ msgid "" msgstr "" "Checking this will close the paths cut by the Geometry subtractor object." -#: appTools/ToolSub.py:735 +#: appTools/ToolSub.py:736 msgid "Subtract Geometry" msgstr "Subtract Geometry" -#: appTools/ToolSub.py:737 +#: appTools/ToolSub.py:738 msgid "" "Will remove the area occupied by the subtractor\n" "Geometry from the Target Geometry." @@ -19436,11 +19476,11 @@ msgstr "Creating Geometry from the parsed GCode file for tool diameter" msgid "G91 coordinates not implemented ..." msgstr "G91 coordinates not implemented ..." -#: defaults.py:858 +#: defaults.py:859 msgid "Could not load defaults file." msgstr "Could not load defaults file." -#: defaults.py:871 +#: defaults.py:872 msgid "Failed to parse defaults file." msgstr "Failed to parse defaults file." diff --git a/locale/es/LC_MESSAGES/strings.mo b/locale/es/LC_MESSAGES/strings.mo index e81392ebd3f3148b4f8decdcd231e5f7e6c5a1d4..e1daca4d57d477c1c9bed6825f65bc4ef0ae616a 100644 GIT binary patch delta 65572 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 AssI20 diff --git a/locale/es/LC_MESSAGES/strings.po b/locale/es/LC_MESSAGES/strings.po index ff1743aa..9fe478a7 100644 --- a/locale/es/LC_MESSAGES/strings.po +++ b/locale/es/LC_MESSAGES/strings.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2020-10-21 16:05+0300\n" -"PO-Revision-Date: 2020-10-21 16:05+0300\n" +"POT-Creation-Date: 2020-10-22 15:07+0300\n" +"PO-Revision-Date: 2020-10-22 15:07+0300\n" "Last-Translator: Marius Stanciu - Google Translate\n" "Language-Team: \n" "Language: es\n" @@ -108,7 +108,7 @@ msgstr "Marcadores" #: appDatabase.py:2998 appDatabase.py:3044 appEditors/AppExcEditor.py:1023 #: appEditors/AppExcEditor.py:1091 appEditors/AppTextEditor.py:263 #: appGUI/MainGUI.py:2878 appGUI/MainGUI.py:3100 appGUI/MainGUI.py:3315 -#: appObjects/FlatCAMCNCJob.py:1736 appObjects/ObjectCollection.py:126 +#: appObjects/FlatCAMCNCJob.py:1745 appObjects/ObjectCollection.py:126 #: appTools/ToolFilm.py:238 appTools/ToolFilm.py:384 appTools/ToolImage.py:112 #: appTools/ToolMove.py:269 appTools/ToolPcbWizard.py:189 #: appTools/ToolPcbWizard.py:212 appTools/ToolQRCode.py:526 @@ -124,8 +124,8 @@ msgid "Cancelled." msgstr "Cancelado." #: Bookmark.py:308 appDatabase.py:673 appDatabase.py:3006 -#: appEditors/AppTextEditor.py:318 appObjects/FlatCAMCNCJob.py:1658 -#: appObjects/FlatCAMCNCJob.py:1848 appObjects/FlatCAMCNCJob.py:2297 +#: appEditors/AppTextEditor.py:318 appObjects/FlatCAMCNCJob.py:1667 +#: appObjects/FlatCAMCNCJob.py:1857 appObjects/FlatCAMCNCJob.py:2306 #: appTools/ToolFilm.py:582 appTools/ToolFilm.py:830 #: appTools/ToolSolderPaste.py:1097 app_Main.py:2666 app_Main.py:8451 #: app_Main.py:8499 app_Main.py:8628 app_Main.py:8765 app_Main.py:8833 @@ -162,18 +162,18 @@ msgid "The user requested a graceful exit of the current task." msgstr "El usuario solicitó una salida elegante de la tarea actual." #: appCommon/Common.py:292 appTools/ToolCopperThieving.py:328 -#: appTools/ToolIsolation.py:1436 appTools/ToolNCC.py:1317 +#: appTools/ToolIsolation.py:1436 appTools/ToolNCC.py:1364 msgid "Click the start point of the area." msgstr "Haga clic en el punto de inicio del área." -#: appCommon/Common.py:351 appTools/ToolNCC.py:1376 appTools/ToolPaint.py:1210 +#: appCommon/Common.py:351 appTools/ToolNCC.py:1423 appTools/ToolPaint.py:1210 msgid "Click the end point of the area." msgstr "Haga clic en el punto final del área." #: appCommon/Common.py:357 appCommon/Common.py:459 #: appTools/ToolCopperThieving.py:385 appTools/ToolIsolation.py:2348 -#: appTools/ToolIsolation.py:2400 appTools/ToolNCC.py:1382 -#: appTools/ToolNCC.py:1434 appTools/ToolPaint.py:1216 +#: appTools/ToolIsolation.py:2400 appTools/ToolNCC.py:1429 +#: appTools/ToolNCC.py:1481 appTools/ToolPaint.py:1216 #: appTools/ToolPaint.py:1267 msgid "Zone added. Click to start adding next zone or right click to finish." msgstr "" @@ -181,7 +181,7 @@ msgstr "" "clic con el botón derecho para finalizar." #: appCommon/Common.py:404 appEditors/AppGeoEditor.py:2352 -#: appTools/ToolIsolation.py:2371 appTools/ToolNCC.py:1405 +#: appTools/ToolIsolation.py:2371 appTools/ToolNCC.py:1452 #: appTools/ToolPaint.py:1238 msgid "Click on next Point or click right mouse button to complete ..." msgstr "" @@ -279,7 +279,7 @@ msgstr "" "en la base de datos de herramientas." #: appDatabase.py:130 appDatabase.py:2281 appGUI/MainGUI.py:1438 -#: appGUI/preferences/PreferencesUIManager.py:931 app_Main.py:2291 +#: appGUI/preferences/PreferencesUIManager.py:932 app_Main.py:2291 #: app_Main.py:3386 app_Main.py:4341 app_Main.py:4587 app_Main.py:6895 msgid "Cancel" msgstr "Cancelar" @@ -289,15 +289,15 @@ msgid "Tool Name" msgstr "Nombre de Herram" #: appDatabase.py:161 appDatabase.py:837 appEditors/AppExcEditor.py:3765 -#: appGUI/ObjectUI.py:1038 appGUI/ObjectUI.py:1606 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:132 +#: appGUI/ObjectUI.py:1082 appGUI/ObjectUI.py:1650 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:130 #: appTools/ToolCutOut.py:2060 appTools/ToolIsolation.py:3091 -#: appTools/ToolNCC.py:3859 appTools/ToolNCC.py:3870 appTools/ToolPaint.py:2882 +#: appTools/ToolNCC.py:3906 appTools/ToolNCC.py:3917 appTools/ToolPaint.py:2882 msgid "Tool Dia" msgstr "Diá. de Herram" #: appDatabase.py:162 appDatabase.py:839 appDatabase.py:1273 -#: appGUI/ObjectUI.py:1013 +#: appGUI/ObjectUI.py:1057 msgid "Tool Offset" msgstr "Offset de Herram" @@ -308,8 +308,8 @@ msgstr "Desplazamiento personalizado" #: appDatabase.py:164 appDatabase.py:843 appDatabase.py:1257 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:70 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:53 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:62 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:72 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:60 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:70 msgid "Tool Type" msgstr "Tipo de herram" @@ -318,16 +318,16 @@ msgid "Tool Shape" msgstr "Forma de la herram" #: appDatabase.py:166 appDatabase.py:848 appDatabase.py:1309 -#: appDatabase.py:1834 appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:1169 -#: appGUI/ObjectUI.py:1962 +#: appDatabase.py:1834 appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:1213 +#: appGUI/ObjectUI.py:2019 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:49 #: appGUI/preferences/tools/ToolsCalculatorsPrefGroupUI.py:78 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:58 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:57 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:115 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:98 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:105 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:113 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:103 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:111 #: appTools/ToolCalculators.py:240 appTools/ToolCutOut.py:2104 #: appTools/ToolDrilling.py:2143 appTools/ToolMilling.py:1793 msgid "Cut Z" @@ -352,7 +352,7 @@ msgid "V-Angle" msgstr "V-Ángulo" #: appDatabase.py:171 appDatabase.py:858 appDatabase.py:1350 -#: appDatabase.py:1903 appGUI/ObjectUI.py:1216 +#: appDatabase.py:1903 appGUI/ObjectUI.py:1260 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:198 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:102 #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:61 @@ -381,7 +381,7 @@ msgid "Spindle Speed" msgstr "Eje de velocidad" #: appDatabase.py:176 appDatabase.py:868 appDatabase.py:1467 -#: appDatabase.py:1984 appGUI/ObjectUI.py:1323 appTools/ToolDrilling.py:2264 +#: appDatabase.py:1984 appGUI/ObjectUI.py:1367 appTools/ToolDrilling.py:2264 #: appTools/ToolMilling.py:1957 msgid "Dwell" msgstr "Habitar" @@ -391,7 +391,7 @@ msgstr "Habitar" msgid "Dwelltime" msgstr "Tiempo de permanencia" -#: appDatabase.py:178 appDatabase.py:872 appGUI/ObjectUI.py:1482 +#: appDatabase.py:178 appDatabase.py:872 appGUI/ObjectUI.py:1526 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:255 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:221 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:237 @@ -719,13 +719,13 @@ msgstr "" #: appDatabase.py:307 appDatabase.py:684 appDatabase.py:718 appDatabase.py:2647 #: appDatabase.py:3017 appDatabase.py:3051 appTools/ToolCutOut.py:294 #: appTools/ToolDrilling.py:895 appTools/ToolIsolation.py:1067 -#: appTools/ToolNCC.py:965 appTools/ToolPaint.py:704 +#: appTools/ToolNCC.py:1009 appTools/ToolPaint.py:704 msgid "Could not load Tools DB file." msgstr "No se pudo cargar el archivo de herramientas DB." #: appDatabase.py:315 appDatabase.py:726 appDatabase.py:2655 #: appDatabase.py:3059 appTools/ToolCutOut.py:305 appTools/ToolDrilling.py:903 -#: appTools/ToolIsolation.py:1078 appTools/ToolNCC.py:976 +#: appTools/ToolIsolation.py:1078 appTools/ToolNCC.py:1020 #: appTools/ToolPaint.py:715 msgid "Failed to parse Tools DB file." msgstr "Error al analizar el archivo DB de Herramientas." @@ -784,7 +784,7 @@ msgstr "Importe la base de datos de herramientas FlatCAM" #: appDatabase.py:3464 appObjects/FlatCAMGeometry.py:1089 #: appTools/ToolCutOut.py:484 appTools/ToolCutOut.py:525 #: appTools/ToolIsolation.py:2583 appTools/ToolIsolation.py:2667 -#: appTools/ToolNCC.py:3608 appTools/ToolNCC.py:3688 appTools/ToolPaint.py:2626 +#: appTools/ToolNCC.py:3655 appTools/ToolNCC.py:3735 appTools/ToolPaint.py:2626 #: appTools/ToolPaint.py:2715 app_Main.py:5676 app_Main.py:5718 #: app_Main.py:5749 app_Main.py:5769 app_Main.py:5779 msgid "Tools Database" @@ -841,21 +841,21 @@ msgid "Cutout Parameters" msgstr "Parámetros de ranura" #: appDatabase.py:1124 appEditors/AppGeoEditor.py:3287 appGUI/ObjectUI.py:219 -#: appGUI/ObjectUI.py:544 appGUI/ObjectUI.py:850 appGUI/ObjectUI.py:1819 -#: appGUI/ObjectUI.py:2624 appGUI/ObjectUI.py:2691 +#: appGUI/ObjectUI.py:570 appGUI/ObjectUI.py:894 appGUI/ObjectUI.py:1876 +#: appGUI/ObjectUI.py:2681 appGUI/ObjectUI.py:2748 #: appTools/ToolCalibration.py:929 appTools/ToolFiducials.py:681 msgid "Name" msgstr "Nombre" #: appDatabase.py:1137 appEditors/AppExcEditor.py:2567 -#: appEditors/AppExcEditor.py:3732 appGUI/ObjectUI.py:640 -#: appObjects/FlatCAMExcellon.py:900 appObjects/FlatCAMExcellon.py:1000 -#: appObjects/FlatCAMObj.py:716 appObjects/FlatCAMObj.py:779 +#: appEditors/AppExcEditor.py:3732 appGUI/ObjectUI.py:666 +#: appObjects/FlatCAMExcellon.py:902 appObjects/FlatCAMExcellon.py:1002 +#: appObjects/FlatCAMObj.py:719 appObjects/FlatCAMObj.py:782 #: appTools/ToolDrilling.py:1762 appTools/ToolDrilling.py:1827 #: appTools/ToolDrilling.py:2065 appTools/ToolIsolation.py:3022 #: appTools/ToolMilling.py:1071 appTools/ToolMilling.py:1175 #: appTools/ToolMilling.py:1360 appTools/ToolMilling.py:1670 -#: appTools/ToolNCC.py:3778 appTools/ToolPaint.py:2813 +#: appTools/ToolNCC.py:3825 appTools/ToolPaint.py:2813 #: appTools/ToolPcbWizard.py:404 appTools/ToolProperties.py:417 #: appTools/ToolProperties.py:480 appTools/ToolSolderPaste.py:1166 #: tclCommands/TclCommandDrillcncjob.py:195 @@ -894,7 +894,7 @@ msgstr "" #: appDatabase.py:1186 appDatabase.py:1504 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:46 -#: appTools/ToolMilling.py:1738 appTools/ToolNCC.py:3943 +#: appTools/ToolMilling.py:1738 appTools/ToolNCC.py:3990 msgid "Operation" msgstr "Operación" @@ -921,7 +921,7 @@ msgstr "Perforación" #: appDatabase.py:1192 appDatabase.py:1514 appDatabase.py:2761 #: appDatabase.py:3095 appTools/ToolIsolation.py:1101 -#: appTools/ToolIsolation.py:2576 appTools/ToolNCC.py:3953 +#: appTools/ToolIsolation.py:2576 appTools/ToolNCC.py:4000 msgid "Isolation" msgstr "Aislamiento" @@ -932,7 +932,7 @@ msgid "Paint" msgstr "Pintar" #: appDatabase.py:1192 appDatabase.py:2773 appDatabase.py:3111 -#: appTools/ToolNCC.py:1000 appTools/ToolNCC.py:3601 +#: appTools/ToolNCC.py:1044 appTools/ToolNCC.py:3648 #, fuzzy #| msgid "CCW" msgid "NCC" @@ -950,13 +950,13 @@ msgstr "PCB de corte" #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:418 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:303 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:322 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:286 -#: appTools/ToolIsolation.py:3425 appTools/ToolNCC.py:4236 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:284 +#: appTools/ToolIsolation.py:3425 appTools/ToolNCC.py:4283 #: appTools/ToolPaint.py:3163 msgid "Shape" msgstr "Forma" -#: appDatabase.py:1403 appGUI/ObjectUI.py:1235 +#: appDatabase.py:1403 appGUI/ObjectUI.py:1279 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:186 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:148 #: appTools/ToolMilling.py:1860 appTools/ToolSolderPaste.py:1325 @@ -971,7 +971,7 @@ msgstr "" "Avance X-Y. Avance\n" "La velocidad en el plano XY utilizada mientras se corta en material." -#: appDatabase.py:1417 appDatabase.py:1929 appGUI/ObjectUI.py:1249 +#: appDatabase.py:1417 appDatabase.py:1929 appGUI/ObjectUI.py:1293 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:201 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:171 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:161 @@ -988,7 +988,7 @@ msgstr "" "Avance Z\n" "La velocidad en el plano Z." -#: appDatabase.py:1506 appTools/ToolNCC.py:3945 +#: appDatabase.py:1506 appTools/ToolNCC.py:3992 msgid "" "The 'Operation' can be:\n" "- Isolation -> will ensure that the non-copper clearing is always complete.\n" @@ -1001,7 +1001,7 @@ msgstr "" "- Borrar -> la limpieza regular sin cobre." #: appDatabase.py:1513 appEditors/AppGerberEditor.py:2749 -#: appGUI/GUIElements.py:3021 appTools/ToolNCC.py:3952 +#: appGUI/GUIElements.py:3021 appTools/ToolNCC.py:3999 msgid "Clear" msgstr "Limpiar" @@ -1011,7 +1011,7 @@ msgstr "Limpiar" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:182 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:137 #: appTools/ToolIsolation.py:3204 appTools/ToolMilling.py:1760 -#: appTools/ToolNCC.py:3961 +#: appTools/ToolNCC.py:4008 msgid "Milling Type" msgstr "Tipo de fresado" @@ -1021,7 +1021,7 @@ msgstr "Tipo de fresado" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:139 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:147 #: appTools/ToolIsolation.py:3206 appTools/ToolIsolation.py:3214 -#: appTools/ToolNCC.py:3963 appTools/ToolNCC.py:3971 +#: appTools/ToolNCC.py:4010 appTools/ToolNCC.py:4018 msgid "" "Milling type when the selected tool is of type: 'iso_op':\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -1036,7 +1036,7 @@ msgstr "" #: appGUI/preferences/geometry/GeometryEditorPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:189 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:144 -#: appTools/ToolIsolation.py:3211 appTools/ToolNCC.py:3968 +#: appTools/ToolIsolation.py:3211 appTools/ToolNCC.py:4015 msgid "Climb" msgstr "Subida" @@ -1044,23 +1044,23 @@ msgstr "Subida" #: appGUI/preferences/geometry/GeometryEditorPrefGroupUI.py:63 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:190 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:145 -#: appTools/ToolIsolation.py:3212 appTools/ToolNCC.py:3969 +#: appTools/ToolIsolation.py:3212 appTools/ToolNCC.py:4016 msgid "Conventional" msgstr "Convencional" #: appDatabase.py:1542 appDatabase.py:1651 appDatabase.py:1753 -#: appDatabase.py:2027 appEditors/AppGeoEditor.py:450 appGUI/ObjectUI.py:1633 +#: appDatabase.py:2027 appEditors/AppGeoEditor.py:450 appGUI/ObjectUI.py:1677 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:250 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:167 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:182 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:163 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:161 #: appTools/ToolDrilling.py:2312 appTools/ToolIsolation.py:3189 -#: appTools/ToolNCC.py:3984 appTools/ToolPaint.py:2955 +#: appTools/ToolNCC.py:4031 appTools/ToolPaint.py:2955 msgid "Overlap" msgstr "Superposición" #: appDatabase.py:1544 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:184 -#: appTools/ToolNCC.py:3986 +#: appTools/ToolNCC.py:4033 msgid "" "How much (percentage) of the tool width to overlap each tool pass.\n" "Adjust the value starting with lower values\n" @@ -1088,12 +1088,12 @@ msgstr "" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:66 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:115 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:202 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:183 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:181 #: appTools/ToolCopperThieving.py:1204 appTools/ToolCopperThieving.py:1455 #: appTools/ToolCorners.py:411 appTools/ToolCutOut.py:2157 #: appTools/ToolFiducials.py:786 appTools/ToolInvertGerber.py:234 -#: appTools/ToolInvertGerber.py:242 appTools/ToolNCC.py:4028 -#: appTools/ToolNCC.py:4131 +#: appTools/ToolInvertGerber.py:242 appTools/ToolNCC.py:4075 +#: appTools/ToolNCC.py:4178 msgid "Margin" msgstr "Margen" @@ -1104,25 +1104,25 @@ msgstr "Margen" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:68 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:204 #: appTools/ToolCopperThieving.py:1206 appTools/ToolCorners.py:413 -#: appTools/ToolFiducials.py:788 appTools/ToolNCC.py:4030 -#: appTools/ToolNCC.py:4133 +#: appTools/ToolFiducials.py:788 appTools/ToolNCC.py:4077 +#: appTools/ToolNCC.py:4180 msgid "Bounding box margin." msgstr "Margen de cuadro delimitador." #: appDatabase.py:1576 appDatabase.py:1687 appEditors/AppGeoEditor.py:484 -#: appGUI/ObjectUI.py:1648 appGUI/ObjectUI.py:2115 +#: appGUI/ObjectUI.py:1692 appGUI/ObjectUI.py:2172 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:85 #: appGUI/preferences/tools/Tools2EDrillsPrefGroupUI.py:105 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:106 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:215 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:198 -#: appTools/ToolExtractDrills.py:520 appTools/ToolNCC.py:4005 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:196 +#: appTools/ToolExtractDrills.py:520 appTools/ToolNCC.py:4052 #: appTools/ToolPaint.py:2991 appTools/ToolPunchGerber.py:793 msgid "Method" msgstr "Método" #: appDatabase.py:1578 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:217 -#: appTools/ToolNCC.py:4007 +#: appTools/ToolNCC.py:4054 msgid "" "Algorithm for copper clearing:\n" "- Standard: Fixed step inwards.\n" @@ -1135,9 +1135,9 @@ msgstr "" "- Basado en líneas: líneas paralelas." #: appDatabase.py:1586 appDatabase.py:1701 appEditors/AppGeoEditor.py:498 -#: appGUI/ObjectUI.py:1658 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 -#: appTools/ToolNCC.py:1916 appTools/ToolNCC.py:4020 appTools/ToolPaint.py:1456 +#: appGUI/ObjectUI.py:1702 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 +#: appTools/ToolNCC.py:1963 appTools/ToolNCC.py:4067 appTools/ToolPaint.py:1456 #: appTools/ToolPaint.py:3016 defaults.py:346 #: tclCommands/TclCommandCopperClear.py:126 #: tclCommands/TclCommandCopperClear.py:134 tclCommands/TclCommandPaint.py:125 @@ -1146,20 +1146,20 @@ msgstr "Estándar" #: appDatabase.py:1586 appDatabase.py:1701 appEditors/AppGeoEditor.py:498 #: appEditors/AppGeoEditor.py:568 appEditors/AppGeoEditor.py:5113 -#: appGUI/ObjectUI.py:1658 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 -#: appTools/ToolNCC.py:1927 appTools/ToolNCC.py:4020 appTools/ToolPaint.py:1470 -#: appTools/ToolPaint.py:3016 defaults.py:469 defaults.py:506 +#: appGUI/ObjectUI.py:1702 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 +#: appTools/ToolNCC.py:1974 appTools/ToolNCC.py:4067 appTools/ToolPaint.py:1470 +#: appTools/ToolPaint.py:3016 defaults.py:469 defaults.py:507 #: tclCommands/TclCommandCopperClear.py:128 #: tclCommands/TclCommandCopperClear.py:136 tclCommands/TclCommandPaint.py:127 msgid "Seed" msgstr "Semilla" #: appDatabase.py:1586 appDatabase.py:1701 appEditors/AppGeoEditor.py:498 -#: appEditors/AppGeoEditor.py:5117 appGUI/ObjectUI.py:1658 +#: appEditors/AppGeoEditor.py:5117 appGUI/ObjectUI.py:1702 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 -#: appTools/ToolNCC.py:1938 appTools/ToolNCC.py:4020 appTools/ToolPaint.py:160 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 +#: appTools/ToolNCC.py:1985 appTools/ToolNCC.py:4067 appTools/ToolPaint.py:160 #: appTools/ToolPaint.py:1484 appTools/ToolPaint.py:3016 #: tclCommands/TclCommandCopperClear.py:130 tclCommands/TclCommandPaint.py:129 msgid "Lines" @@ -1167,25 +1167,25 @@ msgstr "Líneas" #: appDatabase.py:1586 appDatabase.py:1701 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:230 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 -#: appTools/ToolNCC.py:1949 appTools/ToolNCC.py:4020 appTools/ToolPaint.py:1649 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 +#: appTools/ToolNCC.py:1996 appTools/ToolNCC.py:4067 appTools/ToolPaint.py:1649 #: appTools/ToolPaint.py:3016 tclCommands/TclCommandPaint.py:133 msgid "Combo" msgstr "Combo" #: appDatabase.py:1594 appDatabase.py:1712 appEditors/AppGeoEditor.py:505 -#: appGUI/ObjectUI.py:2200 appGUI/ObjectUI.py:2223 +#: appGUI/ObjectUI.py:2257 appGUI/ObjectUI.py:2280 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:237 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:224 -#: appObjects/FlatCAMCNCJob.py:1291 appObjects/FlatCAMCNCJob.py:1313 -#: appTools/ToolNCC.py:4041 appTools/ToolNCC.py:4144 appTools/ToolPaint.py:3027 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:222 +#: appObjects/FlatCAMCNCJob.py:1300 appObjects/FlatCAMCNCJob.py:1322 +#: appTools/ToolNCC.py:4088 appTools/ToolNCC.py:4191 appTools/ToolPaint.py:3027 msgid "Connect" msgstr "Conectar" #: appDatabase.py:1598 appDatabase.py:1715 appEditors/AppGeoEditor.py:507 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:239 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:226 -#: appTools/ToolNCC.py:4045 appTools/ToolNCC.py:4146 appTools/ToolPaint.py:3030 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:224 +#: appTools/ToolNCC.py:4092 appTools/ToolNCC.py:4193 appTools/ToolPaint.py:3030 msgid "" "Draw lines between resulting\n" "segments to minimize tool lifts." @@ -1195,15 +1195,15 @@ msgstr "" #: appDatabase.py:1604 appDatabase.py:1719 appEditors/AppGeoEditor.py:515 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:246 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:232 -#: appTools/ToolNCC.py:4051 appTools/ToolNCC.py:4152 appTools/ToolPaint.py:3034 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:230 +#: appTools/ToolNCC.py:4098 appTools/ToolNCC.py:4199 appTools/ToolPaint.py:3034 msgid "Contour" msgstr "Contorno" #: appDatabase.py:1608 appDatabase.py:1722 appEditors/AppGeoEditor.py:517 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:248 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:234 -#: appTools/ToolNCC.py:4055 appTools/ToolNCC.py:4154 appTools/ToolPaint.py:3037 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:232 +#: appTools/ToolNCC.py:4102 appTools/ToolNCC.py:4201 appTools/ToolPaint.py:3037 msgid "" "Cut around the perimeter of the polygon\n" "to trim rough edges." @@ -1213,17 +1213,17 @@ msgstr "" #: appDatabase.py:1614 appDatabase.py:1672 appEditors/AppGeoEditor.py:611 #: appEditors/AppGerberEditor.py:5321 appEditors/appGCodeEditor.py:692 -#: appGUI/ObjectUI.py:143 appGUI/ObjectUI.py:955 appGUI/ObjectUI.py:1952 +#: appGUI/ObjectUI.py:143 appGUI/ObjectUI.py:999 appGUI/ObjectUI.py:2009 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:255 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:183 #: appTools/ToolEtchCompensation.py:417 appTools/ToolEtchCompensation.py:425 -#: appTools/ToolNCC.py:4061 appTools/ToolNCC.py:4160 appTools/ToolPaint.py:2976 +#: appTools/ToolNCC.py:4108 appTools/ToolNCC.py:4207 appTools/ToolPaint.py:2976 #: appTools/ToolPaint.py:3083 appTools/ToolTransform.py:517 msgid "Offset" msgstr "Compensar" #: appDatabase.py:1618 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:257 -#: appTools/ToolNCC.py:4065 appTools/ToolNCC.py:4162 +#: appTools/ToolNCC.py:4112 appTools/ToolNCC.py:4209 msgid "" "If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -1236,7 +1236,7 @@ msgstr "" "El valor puede estar entre 0 y 10 unidades FlatCAM." #: appDatabase.py:1653 appEditors/AppGeoEditor.py:452 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:165 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:163 #: appTools/ToolPaint.py:2957 msgid "" "How much (percentage) of the tool width to overlap each tool pass.\n" @@ -1257,7 +1257,7 @@ msgstr "" "debido a demasiados caminos." #: appDatabase.py:1674 appEditors/AppGeoEditor.py:472 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:185 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:183 #: appTools/ToolPaint.py:2978 appTools/ToolPaint.py:3085 msgid "" "Distance by which to avoid\n" @@ -1268,7 +1268,7 @@ msgstr "" "los bordes del polígono a\n" "ser pintado." -#: appDatabase.py:1689 appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:200 +#: appDatabase.py:1689 appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:198 #: appTools/ToolPaint.py:2993 msgid "" "Algorithm for painting:\n" @@ -1290,7 +1290,7 @@ msgstr "" "en el orden especificado." #: appDatabase.py:1701 appDatabase.py:1703 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:217 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:215 #: appTools/ToolPaint.py:154 appTools/ToolPaint.py:159 #: appTools/ToolPaint.py:1498 appTools/ToolPaint.py:3016 #: appTools/ToolPaint.py:3018 tclCommands/TclCommandPaint.py:131 @@ -1311,7 +1311,7 @@ msgstr "" "Ancho de la brecha de aislamiento en\n" "Número (entero) de anchos de herramienta." -#: appDatabase.py:1755 appGUI/ObjectUI.py:1635 +#: appDatabase.py:1755 appGUI/ObjectUI.py:1679 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:169 #: appTools/ToolIsolation.py:3191 msgid "How much (percentage) of the tool width to overlap each tool pass." @@ -1407,7 +1407,7 @@ msgstr "" "la punta.\n" "El valor aquí puede compensar el parámetro Z de corte." -#: appDatabase.py:1874 appGUI/ObjectUI.py:1193 +#: appDatabase.py:1874 appGUI/ObjectUI.py:1237 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:72 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:82 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:80 @@ -1424,7 +1424,7 @@ msgstr "" "cortar varias veces hasta que el Corte Z sea\n" "alcanzado." -#: appDatabase.py:1896 appGUI/ObjectUI.py:1207 +#: appDatabase.py:1896 appGUI/ObjectUI.py:1251 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:92 #: appTools/ToolCutOut.py:2142 appTools/ToolDrilling.py:2180 @@ -1454,7 +1454,7 @@ msgstr "" "La llamada velocidad de avance 'Plunge'.\n" "Esto es para el movimiento lineal G01." -#: appDatabase.py:1946 appGUI/ObjectUI.py:1264 +#: appDatabase.py:1946 appGUI/ObjectUI.py:1308 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:67 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:317 #: appTools/ToolDrilling.py:2227 appTools/ToolMilling.py:1892 @@ -1476,7 +1476,7 @@ msgstr "" "Es útil solo para Marlin,\n" "Ignorar para cualquier otro caso." -#: appDatabase.py:1969 appGUI/ObjectUI.py:1307 +#: appDatabase.py:1969 appGUI/ObjectUI.py:1351 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:217 #: appObjects/FlatCAMGeometry.py:1827 appTools/ToolDrilling.py:1310 #: appTools/ToolDrilling.py:2249 appTools/ToolMilling.py:1307 @@ -1704,7 +1704,7 @@ msgstr "" #: appTools/ToolCopperThieving.py:1595 appTools/ToolCopperThieving.py:1606 #: appTools/ToolCorners.py:462 appTools/ToolCorners.py:473 #: appTools/ToolCutOut.py:2437 appTools/ToolCutOut.py:2448 -#: appTools/ToolDblSided.py:965 appTools/ToolDblSided.py:976 +#: appTools/ToolDblSided.py:956 appTools/ToolDblSided.py:967 #: appTools/ToolDistance.py:659 appTools/ToolDistance.py:670 #: appTools/ToolDistanceMin.py:324 appTools/ToolDistanceMin.py:335 #: appTools/ToolDrilling.py:2666 appTools/ToolDrilling.py:2677 @@ -1716,7 +1716,7 @@ msgstr "" #: appTools/ToolInvertGerber.py:304 appTools/ToolInvertGerber.py:315 #: appTools/ToolIsolation.py:3494 appTools/ToolIsolation.py:3505 #: appTools/ToolMilling.py:2341 appTools/ToolMilling.py:2352 -#: appTools/ToolNCC.py:4391 appTools/ToolNCC.py:4402 +#: appTools/ToolNCC.py:4448 appTools/ToolNCC.py:4459 #: appTools/ToolOptimal.py:614 appTools/ToolOptimal.py:625 #: appTools/ToolPaint.py:3267 appTools/ToolPaint.py:3278 #: appTools/ToolPanelize.py:914 appTools/ToolPanelize.py:925 @@ -1725,7 +1725,7 @@ msgstr "" #: appTools/ToolQRCode.py:922 appTools/ToolQRCode.py:933 #: appTools/ToolRulesCheck.py:1655 appTools/ToolRulesCheck.py:1666 #: appTools/ToolSolderPaste.py:1575 appTools/ToolSolderPaste.py:1586 -#: appTools/ToolSub.py:770 appTools/ToolSub.py:781 +#: appTools/ToolSub.py:772 appTools/ToolSub.py:783 #: appTools/ToolTransform.py:964 appTools/ToolTransform.py:975 msgid "Edited value is out of range" msgstr "El valor editado está fuera de rango" @@ -1740,7 +1740,7 @@ msgstr "El valor editado está fuera de rango" #: appTools/ToolCopperThieving.py:1601 appTools/ToolCopperThieving.py:1608 #: appTools/ToolCorners.py:468 appTools/ToolCorners.py:475 #: appTools/ToolCutOut.py:2443 appTools/ToolCutOut.py:2450 -#: appTools/ToolDblSided.py:971 appTools/ToolDblSided.py:978 +#: appTools/ToolDblSided.py:962 appTools/ToolDblSided.py:969 #: appTools/ToolDistance.py:665 appTools/ToolDistance.py:672 #: appTools/ToolDistanceMin.py:330 appTools/ToolDistanceMin.py:337 #: appTools/ToolDrilling.py:2672 appTools/ToolDrilling.py:2679 @@ -1752,7 +1752,7 @@ msgstr "El valor editado está fuera de rango" #: appTools/ToolInvertGerber.py:310 appTools/ToolInvertGerber.py:317 #: appTools/ToolIsolation.py:3500 appTools/ToolIsolation.py:3507 #: appTools/ToolMilling.py:2347 appTools/ToolMilling.py:2354 -#: appTools/ToolNCC.py:4397 appTools/ToolNCC.py:4404 +#: appTools/ToolNCC.py:4454 appTools/ToolNCC.py:4461 #: appTools/ToolOptimal.py:620 appTools/ToolOptimal.py:627 #: appTools/ToolPaint.py:3273 appTools/ToolPaint.py:3280 #: appTools/ToolPanelize.py:920 appTools/ToolPanelize.py:927 @@ -1761,7 +1761,7 @@ msgstr "El valor editado está fuera de rango" #: appTools/ToolQRCode.py:928 appTools/ToolQRCode.py:935 #: appTools/ToolRulesCheck.py:1661 appTools/ToolRulesCheck.py:1668 #: appTools/ToolSolderPaste.py:1581 appTools/ToolSolderPaste.py:1588 -#: appTools/ToolSub.py:776 appTools/ToolSub.py:783 +#: appTools/ToolSub.py:778 appTools/ToolSub.py:785 #: appTools/ToolTransform.py:970 appTools/ToolTransform.py:977 msgid "Edited value is within limits." msgstr "El valor editado está dentro de los límites." @@ -1899,12 +1899,12 @@ msgstr "Hecho. Taladro (s) Movimiento completado." msgid "Done. Drill(s) copied." msgstr "Hecho. Taladro (s) copiado." -#: appEditors/AppExcEditor.py:1897 appObjects/FlatCAMExcellon.py:328 +#: appEditors/AppExcEditor.py:1897 appObjects/FlatCAMExcellon.py:330 #: appTools/ToolDrilling.py:571 appTools/ToolMilling.py:494 msgid "Total Drills" msgstr "Taladros totales" -#: appEditors/AppExcEditor.py:1929 appObjects/FlatCAMExcellon.py:362 +#: appEditors/AppExcEditor.py:1929 appObjects/FlatCAMExcellon.py:364 #: appTools/ToolDrilling.py:598 appTools/ToolMilling.py:521 msgid "Total Slots" msgstr "Ranuras totales" @@ -1912,8 +1912,8 @@ msgstr "Ranuras totales" #: appEditors/AppExcEditor.py:2003 appObjects/FlatCAMGeometry.py:706 #: appObjects/FlatCAMGeometry.py:1232 appObjects/FlatCAMGeometry.py:1974 #: appObjects/FlatCAMGeometry.py:2633 appTools/ToolIsolation.py:1252 -#: appTools/ToolIsolation.py:1705 appTools/ToolNCC.py:1151 -#: appTools/ToolNCC.py:1285 appTools/ToolPaint.py:889 +#: appTools/ToolIsolation.py:1705 appTools/ToolNCC.py:1195 +#: appTools/ToolNCC.py:1332 appTools/ToolPaint.py:889 #: appTools/ToolPaint.py:1027 appTools/ToolPaint.py:1740 #: appTools/ToolSolderPaste.py:455 appTools/ToolSolderPaste.py:527 msgid "Wrong value format entered, use a number." @@ -1985,7 +1985,7 @@ msgstr "Hecho. Taladro (s) eliminado (s)." msgid "Click on the circular array Center position" msgstr "Haga clic en la posición del centro matriz circular" -#: appEditors/AppExcEditor.py:3705 appGUI/ObjectUI.py:553 +#: appEditors/AppExcEditor.py:3705 appGUI/ObjectUI.py:579 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:26 msgid "Excellon Editor" msgstr "Excellon Editor" @@ -1995,14 +1995,14 @@ msgstr "Excellon Editor" msgid "Name:" msgstr "Nombre:" -#: appEditors/AppExcEditor.py:3718 appGUI/ObjectUI.py:594 -#: appGUI/ObjectUI.py:923 appTools/ToolIsolation.py:3010 -#: appTools/ToolNCC.py:3766 appTools/ToolPaint.py:2800 +#: appEditors/AppExcEditor.py:3718 appGUI/ObjectUI.py:620 +#: appGUI/ObjectUI.py:967 appTools/ToolIsolation.py:3010 +#: appTools/ToolNCC.py:3813 appTools/ToolPaint.py:2800 #: appTools/ToolSolderPaste.py:1155 msgid "Tools Table" msgstr "Tabla de herramientas" -#: appEditors/AppExcEditor.py:3720 appGUI/ObjectUI.py:596 +#: appEditors/AppExcEditor.py:3720 appGUI/ObjectUI.py:622 msgid "" "Tools in this Excellon object\n" "when are used for drilling." @@ -2032,9 +2032,9 @@ msgstr "" "Agregar / Eliminar una herramienta a la lista de herramientas\n" "para este objeto Excellon." -#: appEditors/AppExcEditor.py:3767 appGUI/ObjectUI.py:1040 +#: appEditors/AppExcEditor.py:3767 appGUI/ObjectUI.py:1084 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:57 -#: appTools/ToolIsolation.py:3093 appTools/ToolNCC.py:3861 +#: appTools/ToolIsolation.py:3093 appTools/ToolNCC.py:3908 msgid "Diameter for the new tool" msgstr "Diámetro para la nueva herramienta" @@ -2117,7 +2117,7 @@ msgstr "Lineal" #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:151 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:78 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:61 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:70 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:68 #: appTools/ToolExtractDrills.py:470 appTools/ToolExtractDrills.py:593 #: appTools/ToolFiducials.py:834 appTools/ToolPunchGerber.py:743 #: appTools/ToolPunchGerber.py:883 @@ -2286,7 +2286,7 @@ msgstr "" #: appEditors/AppExcEditor.py:4007 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:162 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 -#: appObjects/FlatCAMObj.py:874 appTools/ToolCorners.py:398 +#: appObjects/FlatCAMObj.py:877 appTools/ToolCorners.py:398 #: appTools/ToolProperties.py:575 msgid "Length" msgstr "Longitud" @@ -2395,7 +2395,7 @@ msgid "Round" msgstr "Redondo" #: appEditors/AppGeoEditor.py:94 appEditors/AppGerberEditor.py:2639 -#: appGUI/ObjectUI.py:1570 +#: appGUI/ObjectUI.py:1614 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:223 #: appGUI/preferences/tools/Tools2EDrillsPrefGroupUI.py:68 #: appGUI/preferences/tools/Tools2EDrillsPrefGroupUI.py:175 @@ -2406,10 +2406,10 @@ msgstr "Redondo" #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:423 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:308 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:327 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:291 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:289 #: appTools/ToolDrilling.py:2588 appTools/ToolExtractDrills.py:486 #: appTools/ToolExtractDrills.py:619 appTools/ToolIsolation.py:3430 -#: appTools/ToolMilling.py:2264 appTools/ToolNCC.py:4241 +#: appTools/ToolMilling.py:2264 appTools/ToolNCC.py:4288 #: appTools/ToolPaint.py:3168 appTools/ToolPunchGerber.py:759 #: appTools/ToolPunchGerber.py:909 appTools/ToolQRCode.py:788 msgid "Square" @@ -2469,19 +2469,19 @@ msgid "Text Tool" msgstr "Herramienta de texto" #: appEditors/AppGeoEditor.py:404 appGUI/MainGUI.py:511 appGUI/MainGUI.py:1245 -#: appGUI/ObjectUI.py:1128 appObjects/FlatCAMExcellon.py:878 +#: appGUI/ObjectUI.py:1172 appObjects/FlatCAMExcellon.py:880 #: appObjects/FlatCAMGeometry.py:950 appTools/ToolDrilling.py:711 #: appTools/ToolDrilling.py:1033 appTools/ToolDrilling.py:2116 #: appTools/ToolIsolation.py:697 appTools/ToolIsolation.py:3166 #: appTools/ToolMilling.py:790 appTools/ToolMilling.py:1046 -#: appTools/ToolMilling.py:1711 appTools/ToolNCC.py:324 -#: appTools/ToolNCC.py:2231 appTools/ToolNCC.py:3933 appTools/ToolPaint.py:304 +#: appTools/ToolMilling.py:1711 appTools/ToolNCC.py:329 +#: appTools/ToolNCC.py:2278 appTools/ToolNCC.py:3980 appTools/ToolPaint.py:304 #: appTools/ToolPaint.py:2940 msgid "Tool" msgstr "Herramienta" #: appEditors/AppGeoEditor.py:412 appEditors/AppGeoEditor.py:546 -#: appGUI/MainGUI.py:935 appGUI/MainGUI.py:2090 appGUI/ObjectUI.py:1723 +#: appGUI/MainGUI.py:935 appGUI/MainGUI.py:2090 appGUI/ObjectUI.py:1783 #: appTools/ToolPaint.py:228 appTools/ToolPaint.py:2730 msgid "Paint Tool" msgstr "Herramienta de pintura" @@ -2566,7 +2566,7 @@ msgstr "Buffer" #: appGUI/GUIElements.py:2957 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:169 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:44 -#: appTools/ToolDblSided.py:688 appTools/ToolDblSided.py:864 +#: appTools/ToolDblSided.py:681 appTools/ToolDblSided.py:855 #: appTools/ToolFilm.py:1060 appTools/ToolTransform.py:547 msgid "Reference" msgstr "Referencia" @@ -2602,10 +2602,10 @@ msgstr "Origen" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:250 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:285 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:311 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:258 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:256 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:54 -#: appTools/ToolIsolation.py:3368 appTools/ToolNCC.py:4197 -#: appTools/ToolPaint.py:3097 appTools/ToolTransform.py:557 defaults.py:565 +#: appTools/ToolIsolation.py:3368 appTools/ToolNCC.py:4244 +#: appTools/ToolPaint.py:3097 appTools/ToolTransform.py:557 defaults.py:566 msgid "Selection" msgstr "Selección" @@ -2613,7 +2613,7 @@ msgstr "Selección" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:85 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:54 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:60 -#: appTools/ToolDblSided.py:699 appTools/ToolTransform.py:557 +#: appTools/ToolDblSided.py:692 appTools/ToolTransform.py:557 msgid "Point" msgstr "Punto" @@ -2640,8 +2640,8 @@ msgid "A point of reference in format X,Y." msgstr "Un punto de referencia en formato X, Y." #: appEditors/AppGeoEditor.py:668 appEditors/AppGerberEditor.py:2590 -#: appEditors/AppGerberEditor.py:5378 appGUI/ObjectUI.py:2281 -#: appTools/ToolDblSided.py:713 appTools/ToolDblSided.py:901 +#: appEditors/AppGerberEditor.py:5378 appGUI/ObjectUI.py:2338 +#: appTools/ToolDblSided.py:706 appTools/ToolDblSided.py:892 #: appTools/ToolNCC.py:63 appTools/ToolPaint.py:137 #: appTools/ToolSolderPaste.py:160 appTools/ToolSolderPaste.py:1203 #: appTools/ToolTransform.py:572 app_Main.py:6121 @@ -2851,7 +2851,7 @@ msgid "Offset Y" msgstr "Offset Y" #: appEditors/AppGeoEditor.py:920 appEditors/AppGerberEditor.py:5630 -#: appGUI/ObjectUI.py:436 appGUI/ObjectUI.py:473 +#: appGUI/ObjectUI.py:462 appGUI/ObjectUI.py:499 #: appGUI/preferences/tools/Tools2InvertPrefGroupUI.py:67 #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:142 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:216 @@ -2939,12 +2939,12 @@ msgstr "" "elemento del objeto seleccionado, utilizando el factor." #: appEditors/AppGeoEditor.py:1043 appEditors/AppGerberEditor.py:5753 -#: appGUI/ObjectUI.py:1524 appGUI/preferences/tools/Tools2CalPrefGroupUI.py:48 +#: appGUI/ObjectUI.py:1568 appGUI/preferences/tools/Tools2CalPrefGroupUI.py:48 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:54 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:70 #: appTools/ToolCalibration.py:881 appTools/ToolDrilling.py:2540 #: appTools/ToolFilm.py:931 appTools/ToolMilling.py:2218 -#: appTools/ToolNCC.py:3755 appTools/ToolPaint.py:2788 +#: appTools/ToolNCC.py:3802 appTools/ToolPaint.py:2788 #: appTools/ToolPanelize.py:697 appTools/ToolTransform.py:557 msgid "Object" msgstr "Objeto" @@ -3327,14 +3327,14 @@ msgstr "Crear geometría de pintura ..." msgid "Shape transformations ..." msgstr "Transformaciones de formas ..." -#: appEditors/AppGeoEditor.py:3281 appGUI/ObjectUI.py:857 +#: appEditors/AppGeoEditor.py:3281 appGUI/ObjectUI.py:901 #: appGUI/preferences/geometry/GeometryEditorPrefGroupUI.py:27 msgid "Geometry Editor" msgstr "Editor de geometría" #: appEditors/AppGeoEditor.py:3287 appEditors/AppGerberEditor.py:2495 #: appEditors/AppGerberEditor.py:3968 appEditors/appGCodeEditor.py:692 -#: appGUI/ObjectUI.py:316 appGUI/ObjectUI.py:955 appGUI/ObjectUI.py:1952 +#: appGUI/ObjectUI.py:316 appGUI/ObjectUI.py:999 appGUI/ObjectUI.py:2009 #: appTools/ToolCutOut.py:2013 appTools/ToolDblSided.py:519 #: appTools/ToolTransform.py:579 msgid "Type" @@ -3349,14 +3349,14 @@ msgid "Line" msgstr "Línea" #: appEditors/AppGeoEditor.py:3561 appGUI/MainGUI.py:1496 -#: appGUI/ObjectUI.py:1571 +#: appGUI/ObjectUI.py:1615 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:224 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:424 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:309 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:328 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:292 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:290 #: appTools/ToolDrilling.py:2589 appTools/ToolIsolation.py:3431 -#: appTools/ToolMilling.py:2265 appTools/ToolNCC.py:4242 +#: appTools/ToolMilling.py:2265 appTools/ToolNCC.py:4289 #: appTools/ToolPaint.py:3169 msgid "Polygon" msgstr "Polígono" @@ -3391,7 +3391,7 @@ msgstr "Haga clic en el punto de destino." msgid "Editing MultiGeo Geometry, tool" msgstr "Edición de Geometría MultiGeo, herramienta" -#: appEditors/AppGeoEditor.py:4681 appTools/ToolNCC.py:2233 +#: appEditors/AppGeoEditor.py:4681 appTools/ToolNCC.py:2280 msgid "with diameter" msgstr "con diámetro" @@ -3728,10 +3728,10 @@ msgstr "Agregar una nueva apertura a la lista de apertura." #: appEditors/AppGerberEditor.py:2595 appEditors/AppGerberEditor.py:2743 #: appGUI/MainGUI.py:757 appGUI/MainGUI.py:1093 appGUI/MainGUI.py:1577 -#: appGUI/MainGUI.py:2247 appGUI/MainGUI.py:4683 appGUI/ObjectUI.py:1088 +#: appGUI/MainGUI.py:2247 appGUI/MainGUI.py:4683 appGUI/ObjectUI.py:1132 #: appObjects/FlatCAMGeometry.py:560 appTools/ToolIsolation.py:70 #: appTools/ToolIsolation.py:3150 appTools/ToolNCC.py:69 -#: appTools/ToolNCC.py:3917 appTools/ToolPaint.py:143 +#: appTools/ToolNCC.py:3964 appTools/ToolPaint.py:143 #: appTools/ToolPaint.py:2926 appTools/ToolSolderPaste.py:163 #: appTools/ToolSolderPaste.py:1209 app_Main.py:6123 msgid "Delete" @@ -3951,7 +3951,7 @@ msgstr "" "No hay definiciones de Aperture en el archivo. Abortando la creación de " "Gerber." -#: appEditors/AppGerberEditor.py:4364 appObjects/AppObject.py:156 +#: appEditors/AppGerberEditor.py:4364 appObjects/AppObject.py:164 #: appObjects/FlatCAMGeometry.py:1916 appParsers/ParseExcellon.py:972 #: appTools/ToolPcbWizard.py:318 app_Main.py:9004 app_Main.py:9064 #: app_Main.py:9195 app_Main.py:9260 app_Main.py:9816 @@ -4092,12 +4092,12 @@ msgid "String to replace the one in the Find box throughout the text." msgstr "Cadena para reemplazar la del cuadro Buscar en todo el texto." #: appEditors/AppTextEditor.py:101 appGUI/GUIElements.py:3508 -#: appGUI/ObjectUI.py:1807 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:61 +#: appGUI/ObjectUI.py:1864 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:61 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:295 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:278 #: appTools/ToolIsolation.py:808 appTools/ToolIsolation.py:1433 #: appTools/ToolIsolation.py:3378 appTools/ToolPaint.py:1035 -#: appTools/ToolPaint.py:3127 defaults.py:420 defaults.py:507 +#: appTools/ToolPaint.py:3127 defaults.py:420 defaults.py:508 #: tclCommands/TclCommandPaint.py:162 msgid "All" msgstr "Todos" @@ -4154,20 +4154,20 @@ msgid "Open file" msgstr "Abrir documento" #: appEditors/AppTextEditor.py:255 appEditors/AppTextEditor.py:260 -#: appObjects/FlatCAMCNCJob.py:1632 appObjects/FlatCAMCNCJob.py:1637 -#: appObjects/FlatCAMCNCJob.py:1822 appObjects/FlatCAMCNCJob.py:1827 -#: appObjects/FlatCAMCNCJob.py:1900 appObjects/FlatCAMCNCJob.py:1905 +#: appObjects/FlatCAMCNCJob.py:1641 appObjects/FlatCAMCNCJob.py:1646 +#: appObjects/FlatCAMCNCJob.py:1831 appObjects/FlatCAMCNCJob.py:1836 +#: appObjects/FlatCAMCNCJob.py:1909 appObjects/FlatCAMCNCJob.py:1914 #: appTools/ToolSolderPaste.py:1063 app_Main.py:7038 app_Main.py:7043 msgid "Export Code ..." msgstr "Exportar el código ..." -#: appEditors/AppTextEditor.py:314 appObjects/FlatCAMCNCJob.py:1654 -#: appObjects/FlatCAMCNCJob.py:1844 appObjects/FlatCAMCNCJob.py:2293 +#: appEditors/AppTextEditor.py:314 appObjects/FlatCAMCNCJob.py:1663 +#: appObjects/FlatCAMCNCJob.py:1853 appObjects/FlatCAMCNCJob.py:2302 #: appTools/ToolSolderPaste.py:1093 msgid "No such file or directory" msgstr "El fichero o directorio no existe" -#: appEditors/AppTextEditor.py:326 appObjects/FlatCAMCNCJob.py:2307 +#: appEditors/AppTextEditor.py:326 appObjects/FlatCAMCNCJob.py:2316 msgid "Saved to" msgstr "Guardado en" @@ -4199,32 +4199,32 @@ msgstr "Guardar GCode" msgid "Start GCode" msgstr "Iniciando el código G" -#: appEditors/appGCodeEditor.py:577 appObjects/FlatCAMCNCJob.py:1998 +#: appEditors/appGCodeEditor.py:577 appObjects/FlatCAMCNCJob.py:2007 #: appTools/ToolCalibration.py:447 msgid "Loaded Machine Code into Code Editor" msgstr "Código de máquina cargado en el editor de código" -#: appEditors/appGCodeEditor.py:667 appGUI/ObjectUI.py:1827 +#: appEditors/appGCodeEditor.py:667 appGUI/ObjectUI.py:1884 #, fuzzy #| msgid "Code Editor" msgid "GCode Editor" msgstr "Editor de código" #: appEditors/appGCodeEditor.py:692 appEditors/appGCodeEditor.py:703 -#: appGUI/ObjectUI.py:955 appGUI/ObjectUI.py:1952 appGUI/ObjectUI.py:1962 +#: appGUI/ObjectUI.py:999 appGUI/ObjectUI.py:2009 appGUI/ObjectUI.py:2019 #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:138 #: appTools/ToolCopperThieving.py:1314 msgid "Dia" msgstr "Dia" -#: appEditors/appGCodeEditor.py:692 appGUI/ObjectUI.py:955 -#: appGUI/ObjectUI.py:1952 appTools/ToolIsolation.py:3022 -#: appTools/ToolNCC.py:3778 appTools/ToolPaint.py:2813 +#: appEditors/appGCodeEditor.py:692 appGUI/ObjectUI.py:999 +#: appGUI/ObjectUI.py:2009 appTools/ToolIsolation.py:3022 +#: appTools/ToolNCC.py:3825 appTools/ToolPaint.py:2813 msgid "TT" msgstr "TT" -#: appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:640 -#: appGUI/ObjectUI.py:1962 +#: appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:666 +#: appGUI/ObjectUI.py:2019 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:71 #: appObjects/FlatCAMObj.py:499 appTools/ToolDrilling.py:2065 #: appTools/ToolMilling.py:1670 appTools/ToolMilling.py:1769 @@ -4232,8 +4232,8 @@ msgstr "TT" msgid "Drills" msgstr "Taladros" -#: appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:640 -#: appGUI/ObjectUI.py:1962 +#: appEditors/appGCodeEditor.py:703 appGUI/ObjectUI.py:666 +#: appGUI/ObjectUI.py:2019 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:158 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:72 #: appObjects/FlatCAMObj.py:501 appTools/ToolDrilling.py:2065 @@ -4613,7 +4613,7 @@ msgstr "Importar preferencias del archivo ..." msgid "Export Preferences to file ..." msgstr "Exportar preferencias a un archivo ..." -#: appGUI/MainGUI.py:295 appGUI/preferences/PreferencesUIManager.py:1172 +#: appGUI/MainGUI.py:295 appGUI/preferences/PreferencesUIManager.py:1173 msgid "Save Preferences" msgstr "Guardar Preferencias" @@ -5141,7 +5141,7 @@ msgstr "Ver fuente" #: appGUI/MainGUI.py:755 appGUI/MainGUI.py:874 appGUI/MainGUI.py:1091 #: appGUI/MainGUI.py:1575 appGUI/MainGUI.py:2032 appGUI/MainGUI.py:2245 -#: appGUI/MainGUI.py:4680 appGUI/ObjectUI.py:1081 +#: appGUI/MainGUI.py:4680 appGUI/ObjectUI.py:1125 #: appObjects/FlatCAMGeometry.py:557 appTools/ToolPanelize.py:325 #: appTools/ToolPanelize.py:351 appTools/ToolPanelize.py:448 #: appTools/ToolPanelize.py:477 appTools/ToolPanelize.py:538 @@ -5307,7 +5307,7 @@ msgid "Cutout Tool" msgstr "Herramienta de Corte" #: appGUI/MainGUI.py:933 appGUI/MainGUI.py:2088 appGUI/ObjectUI.py:372 -#: appGUI/ObjectUI.py:1742 appTools/ToolNCC.py:197 +#: appGUI/ObjectUI.py:1799 appTools/ToolNCC.py:202 msgid "NCC Tool" msgstr "Herramienta NCC" @@ -5316,7 +5316,7 @@ msgstr "Herramienta NCC" msgid "Isolation Tool" msgstr "Herramienta de Aislamiento" -#: appGUI/MainGUI.py:939 appGUI/MainGUI.py:2094 appGUI/ObjectUI.py:695 +#: appGUI/MainGUI.py:939 appGUI/MainGUI.py:2094 appGUI/ObjectUI.py:721 #: appTools/ToolDrilling.py:245 appTools/ToolDrilling.py:1979 #: appTools/ToolMilling.py:169 #, fuzzy @@ -5572,10 +5572,10 @@ msgstr "Distancia máxima del imán" msgid "Toggle the display of axis on canvas" msgstr "Alternar la visualización del eje en el lienzo" -#: appGUI/MainGUI.py:1148 appGUI/preferences/PreferencesUIManager.py:898 -#: appGUI/preferences/PreferencesUIManager.py:991 -#: appGUI/preferences/PreferencesUIManager.py:1019 -#: appGUI/preferences/PreferencesUIManager.py:1124 app_Main.py:5579 +#: appGUI/MainGUI.py:1148 appGUI/preferences/PreferencesUIManager.py:899 +#: appGUI/preferences/PreferencesUIManager.py:992 +#: appGUI/preferences/PreferencesUIManager.py:1020 +#: appGUI/preferences/PreferencesUIManager.py:1125 app_Main.py:5579 #: app_Main.py:5584 app_Main.py:5599 msgid "Preferences" msgstr "Preferencias" @@ -5626,7 +5626,7 @@ msgstr "Área de la parcela" #: appTools/ToolInvertGerber.py:215 appTools/ToolIsolation.py:2986 #: appTools/ToolOptimal.py:421 appTools/ToolPunchGerber.py:718 #: appTools/ToolQRCode.py:659 appTools/ToolRulesCheck.py:1163 -#: appTools/ToolSolderPaste.py:1143 appTools/ToolSub.py:641 +#: appTools/ToolSolderPaste.py:1143 appTools/ToolSub.py:643 msgid "GERBER" msgstr "GERBER" @@ -5635,7 +5635,7 @@ msgstr "GERBER" msgid "EXCELLON" msgstr "EXCELLON" -#: appGUI/MainGUI.py:1334 appTools/ToolSub.py:696 +#: appGUI/MainGUI.py:1334 appTools/ToolSub.py:695 msgid "GEOMETRY" msgstr "GEOMETRÍA" @@ -5643,8 +5643,8 @@ msgstr "GEOMETRÍA" msgid "CNC-JOB" msgstr "CNC-JOB" -#: appGUI/MainGUI.py:1353 appGUI/ObjectUI.py:353 appGUI/ObjectUI.py:691 -#: appGUI/ObjectUI.py:1716 +#: appGUI/MainGUI.py:1353 appGUI/ObjectUI.py:353 appGUI/ObjectUI.py:717 +#: appGUI/ObjectUI.py:1760 msgid "TOOLS" msgstr "HERRAMIENTAS" @@ -5709,7 +5709,7 @@ msgstr "No guardará los cambios y cerrará la ventana de preferencias." msgid "Toggle Visibility" msgstr "Alternar visibilidad" -#: appGUI/MainGUI.py:1461 appGUI/ObjectUI.py:2273 +#: appGUI/MainGUI.py:1461 appGUI/ObjectUI.py:2330 msgid "New" msgstr "Nueva" @@ -5718,12 +5718,12 @@ msgstr "Nueva" #: appTools/ToolCalibration.py:171 appTools/ToolCalibration.py:1326 #: appTools/ToolCalibration.py:1343 appTools/ToolCopperThieving.py:163 #: appTools/ToolCopperThieving.py:1237 appTools/ToolCopperThieving.py:1251 -#: appTools/ToolCutOut.py:2010 appTools/ToolDblSided.py:529 -#: appTools/ToolDblSided.py:774 appTools/ToolFilm.py:929 +#: appTools/ToolCutOut.py:2010 appTools/ToolDblSided.py:526 +#: appTools/ToolDblSided.py:767 appTools/ToolFilm.py:929 #: appTools/ToolFilm.py:952 appTools/ToolImage.py:136 appTools/ToolImage.py:191 #: appTools/ToolIsolation.py:802 appTools/ToolIsolation.py:3338 -#: appTools/ToolIsolation.py:3391 appTools/ToolNCC.py:793 -#: appTools/ToolNCC.py:3741 appTools/ToolNCC.py:4216 appTools/ToolPaint.py:167 +#: appTools/ToolIsolation.py:3391 appTools/ToolNCC.py:803 +#: appTools/ToolNCC.py:3788 appTools/ToolNCC.py:4263 appTools/ToolPaint.py:167 #: appTools/ToolPaint.py:3143 appTools/ToolPanelize.py:147 #: appTools/ToolPanelize.py:167 appTools/ToolPanelize.py:715 #: appTools/ToolTransform.py:126 appTools/ToolTransform.py:587 @@ -5738,10 +5738,10 @@ msgstr "Geometría" #: appTools/ToolCalibration.py:892 appTools/ToolCalibration.py:1326 #: appTools/ToolCalibration.py:1343 appTools/ToolCopperThieving.py:163 #: appTools/ToolCopperThieving.py:1237 appTools/ToolCopperThieving.py:1251 -#: appTools/ToolDblSided.py:530 appTools/ToolDblSided.py:731 -#: appTools/ToolDblSided.py:773 appTools/ToolFilm.py:1207 +#: appTools/ToolDblSided.py:527 appTools/ToolDblSided.py:724 +#: appTools/ToolDblSided.py:766 appTools/ToolFilm.py:1207 #: appTools/ToolIsolation.py:802 appTools/ToolIsolation.py:3391 -#: appTools/ToolNCC.py:793 appTools/ToolNCC.py:4216 appTools/ToolPaint.py:167 +#: appTools/ToolNCC.py:803 appTools/ToolNCC.py:4263 appTools/ToolPaint.py:167 #: appTools/ToolPaint.py:3143 appTools/ToolPanelize.py:147 #: appTools/ToolPunchGerber.py:803 appTools/ToolPunchGerber.py:818 #: appTools/ToolTransform.py:126 appTools/ToolTransform.py:586 @@ -5792,7 +5792,7 @@ msgstr "Intersección" msgid "Subtraction" msgstr "Sustracción" -#: appGUI/MainGUI.py:1518 appGUI/ObjectUI.py:1809 +#: appGUI/MainGUI.py:1518 appGUI/ObjectUI.py:1866 #: appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:63 msgid "Cut" msgstr "Cortar" @@ -5845,20 +5845,20 @@ msgstr "Carpeta de preferencias de FlatCAM abierta." msgid "Are you sure you want to delete the GUI Settings? \n" msgstr "¿Está seguro de que desea eliminar la configuración de la GUI?\n" -#: appGUI/MainGUI.py:1986 appGUI/preferences/PreferencesUIManager.py:930 -#: appGUI/preferences/PreferencesUIManager.py:1176 appTranslation.py:112 +#: appGUI/MainGUI.py:1986 appGUI/preferences/PreferencesUIManager.py:931 +#: appGUI/preferences/PreferencesUIManager.py:1177 appTranslation.py:112 #: appTranslation.py:214 app_Main.py:2289 app_Main.py:3384 app_Main.py:5809 #: app_Main.py:6893 msgid "Yes" msgstr "Sí" -#: appGUI/MainGUI.py:1987 appGUI/preferences/PreferencesUIManager.py:1177 +#: appGUI/MainGUI.py:1987 appGUI/preferences/PreferencesUIManager.py:1178 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:49 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:164 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:150 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:148 #: appTools/ToolDrilling.py:2090 appTools/ToolIsolation.py:3066 -#: appTools/ToolMilling.py:1695 appTools/ToolNCC.py:3828 +#: appTools/ToolMilling.py:1695 appTools/ToolNCC.py:3875 #: appTools/ToolPaint.py:2851 appTranslation.py:113 appTranslation.py:215 #: app_Main.py:2290 app_Main.py:3385 app_Main.py:5810 app_Main.py:6894 msgid "No" @@ -5941,7 +5941,7 @@ msgstr "Cancelado. Nada seleccionado para moverse." msgid "New Tool ..." msgstr "Nueva herramienta ..." -#: appGUI/MainGUI.py:3503 appTools/ToolIsolation.py:783 appTools/ToolNCC.py:450 +#: appGUI/MainGUI.py:3503 appTools/ToolIsolation.py:783 appTools/ToolNCC.py:455 #: appTools/ToolPaint.py:387 appTools/ToolSolderPaste.py:123 msgid "Enter a Tool Diameter" msgstr "Introduzca un diá. de herram" @@ -5966,7 +5966,7 @@ msgstr "Shell habilitado." msgid "Shell disabled." msgstr "Shell deshabilitado." -#: appGUI/MainGUI.py:3875 app_Main.py:9689 +#: appGUI/MainGUI.py:3875 msgid "Shortcut Key List" msgstr " Lista de teclas de acceso directo " @@ -6483,15 +6483,15 @@ msgstr "Realice la operación de desplazamiento." msgid "Gerber Object" msgstr "Objeto Gerber" -#: appGUI/ObjectUI.py:197 appGUI/ObjectUI.py:523 appGUI/ObjectUI.py:833 -#: appGUI/ObjectUI.py:1796 appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:30 +#: appGUI/ObjectUI.py:197 appGUI/ObjectUI.py:549 appGUI/ObjectUI.py:877 +#: appGUI/ObjectUI.py:1853 appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:30 #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:33 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:33 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:31 msgid "Plot Options" msgstr "Opciones de parcela" -#: appGUI/ObjectUI.py:202 appGUI/ObjectUI.py:526 +#: appGUI/ObjectUI.py:202 appGUI/ObjectUI.py:552 #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:47 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:45 #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:119 @@ -6503,26 +6503,26 @@ msgstr "Sólido" msgid "Solid color polygons." msgstr "Polígonos de color liso." -#: appGUI/ObjectUI.py:209 appGUI/ObjectUI.py:532 appGUI/ObjectUI.py:839 +#: appGUI/ObjectUI.py:209 appGUI/ObjectUI.py:558 appGUI/ObjectUI.py:883 msgid "Multi-Color" msgstr "Multicolor" -#: appGUI/ObjectUI.py:211 appGUI/ObjectUI.py:534 appGUI/ObjectUI.py:841 +#: appGUI/ObjectUI.py:211 appGUI/ObjectUI.py:560 appGUI/ObjectUI.py:885 #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:56 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:49 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:54 msgid "Draw polygons in different colors." msgstr "Dibuja polígonos en diferentes colores." -#: appGUI/ObjectUI.py:226 appGUI/ObjectUI.py:608 +#: appGUI/ObjectUI.py:226 appGUI/ObjectUI.py:634 #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:40 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:40 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:38 msgid "Plot" msgstr "Gráfico" -#: appGUI/ObjectUI.py:227 appGUI/ObjectUI.py:610 appGUI/ObjectUI.py:944 -#: appGUI/ObjectUI.py:1941 appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:41 +#: appGUI/ObjectUI.py:227 appGUI/ObjectUI.py:636 appGUI/ObjectUI.py:988 +#: appGUI/ObjectUI.py:1998 appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:41 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:42 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:40 msgid "Plot (show) this object." @@ -6534,19 +6534,19 @@ msgstr "Trazar (mostrar) este objeto." msgid "Edit an Gerber object." msgstr "Objeto Gerber" -#: appGUI/ObjectUI.py:255 appGUI/ObjectUI.py:568 appGUI/ObjectUI.py:872 -#: appGUI/ObjectUI.py:1842 +#: appGUI/ObjectUI.py:255 appGUI/ObjectUI.py:594 appGUI/ObjectUI.py:916 +#: appGUI/ObjectUI.py:1899 msgid "PROPERTIES" msgstr "" -#: appGUI/ObjectUI.py:257 appGUI/ObjectUI.py:570 appGUI/ObjectUI.py:874 -#: appGUI/ObjectUI.py:1844 +#: appGUI/ObjectUI.py:257 appGUI/ObjectUI.py:596 appGUI/ObjectUI.py:918 +#: appGUI/ObjectUI.py:1901 #, fuzzy #| msgid "Properties" msgid "Show the Properties." msgstr "Propiedades" -#: appGUI/ObjectUI.py:291 appGUI/ObjectUI.py:603 +#: appGUI/ObjectUI.py:291 appGUI/ObjectUI.py:629 #: appGUI/preferences/excellon/ExcellonAdvOptPrefGroupUI.py:50 #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:54 #, fuzzy @@ -6601,7 +6601,7 @@ msgstr "" "Crear un objeto de geometría con\n" "Trayectorias para cortar alrededor de polígonos." -#: appGUI/ObjectUI.py:375 appGUI/ObjectUI.py:1745 appTools/ToolNCC.py:4258 +#: appGUI/ObjectUI.py:375 appGUI/ObjectUI.py:1802 appTools/ToolNCC.py:4315 msgid "" "Create the Geometry Object\n" "for non-copper routing." @@ -6617,11 +6617,23 @@ msgstr "" "Generar la geometría para\n" "El recorte del tablero." -#: appGUI/ObjectUI.py:407 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:32 +#: appGUI/ObjectUI.py:407 appGUI/ObjectUI.py:756 +#, fuzzy +#| msgid "UTILITIES" +msgid "UTILTIES" +msgstr "UTILIDADES" + +#: appGUI/ObjectUI.py:409 appGUI/ObjectUI.py:758 +#, fuzzy +#| msgid "Properties" +msgid "Show the Utilties." +msgstr "Propiedades" + +#: appGUI/ObjectUI.py:433 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:32 msgid "Non-copper regions" msgstr "Regiones no cobre" -#: appGUI/ObjectUI.py:409 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:34 +#: appGUI/ObjectUI.py:435 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:34 msgid "" "Create polygons covering the\n" "areas without copper on the PCB.\n" @@ -6635,13 +6647,13 @@ msgstr "" "objeto. Se puede usar para eliminar todo\n" "cobre de una región específica." -#: appGUI/ObjectUI.py:419 appGUI/ObjectUI.py:460 +#: appGUI/ObjectUI.py:445 appGUI/ObjectUI.py:486 #: appGUI/preferences/gerber/GerberOptPrefGroupUI.py:46 #: appGUI/preferences/gerber/GerberOptPrefGroupUI.py:79 msgid "Boundary Margin" msgstr "Margen límite" -#: appGUI/ObjectUI.py:421 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:48 +#: appGUI/ObjectUI.py:447 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:48 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -6653,23 +6665,23 @@ msgstr "" "objetos con este mínimo\n" "distancia." -#: appGUI/ObjectUI.py:438 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:63 +#: appGUI/ObjectUI.py:464 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:63 msgid "Resulting geometry will have rounded corners." msgstr "La geometría resultante tendrá esquinas redondeadas." -#: appGUI/ObjectUI.py:441 appGUI/ObjectUI.py:481 appTools/ToolCutOut.py:2287 +#: appGUI/ObjectUI.py:467 appGUI/ObjectUI.py:507 appTools/ToolCutOut.py:2287 #: appTools/ToolCutOut.py:2302 appTools/ToolIsolation.py:3444 -#: appTools/ToolNCC.py:4255 appTools/ToolPaint.py:3178 +#: appTools/ToolNCC.py:4312 appTools/ToolPaint.py:3178 msgid "Generate Geometry" msgstr "Generar Geometría" -#: appGUI/ObjectUI.py:452 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:73 +#: appGUI/ObjectUI.py:478 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:73 #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:137 #: appTools/ToolPanelize.py:698 appTools/ToolQRCode.py:782 msgid "Bounding Box" msgstr "Cuadro delimitador" -#: appGUI/ObjectUI.py:454 +#: appGUI/ObjectUI.py:480 msgid "" "Create a geometry surrounding the Gerber object.\n" "Square shape." @@ -6677,7 +6689,7 @@ msgstr "" "Crea una geometría que rodea el objeto Gerber.\n" "Forma cuadrada." -#: appGUI/ObjectUI.py:462 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:81 +#: appGUI/ObjectUI.py:488 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:81 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." @@ -6685,7 +6697,7 @@ msgstr "" "Distancia de los bordes de la caja.\n" "al polígono más cercano." -#: appGUI/ObjectUI.py:475 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:94 +#: appGUI/ObjectUI.py:501 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:94 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -6697,25 +6709,25 @@ msgstr "" "su radio es igual a\n" "el margen." -#: appGUI/ObjectUI.py:484 +#: appGUI/ObjectUI.py:510 msgid "Generate the Geometry object." msgstr "Genera el objeto Geometry." -#: appGUI/ObjectUI.py:511 +#: appGUI/ObjectUI.py:537 msgid "Excellon Object" msgstr "Objeto Excellon" -#: appGUI/ObjectUI.py:528 +#: appGUI/ObjectUI.py:554 msgid "Solid circles." msgstr "Círculos sólidos." -#: appGUI/ObjectUI.py:557 +#: appGUI/ObjectUI.py:583 #, fuzzy #| msgid "Excellon Object" msgid "Edit an Excellon object." msgstr "Objeto Excellon" -#: appGUI/ObjectUI.py:645 appTools/ToolDrilling.py:2067 +#: appGUI/ObjectUI.py:671 appTools/ToolDrilling.py:2067 #: appTools/ToolMilling.py:1672 msgid "" "This is the Tool Number.\n" @@ -6731,7 +6743,7 @@ msgstr "" "\n" "Aquí se seleccionan las herramientas para la generación de código G." -#: appGUI/ObjectUI.py:650 appGUI/ObjectUI.py:968 appTools/ToolDrilling.py:2072 +#: appGUI/ObjectUI.py:676 appGUI/ObjectUI.py:1012 appTools/ToolDrilling.py:2072 #: appTools/ToolMilling.py:1677 appTools/ToolPaint.py:2827 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" @@ -6740,7 +6752,7 @@ msgstr "" "Diámetro de herramienta. Su valor (en unidades actuales de FlatCAM)\n" "es el ancho de corte en el material." -#: appGUI/ObjectUI.py:653 appTools/ToolDrilling.py:2075 +#: appGUI/ObjectUI.py:679 appTools/ToolDrilling.py:2075 #: appTools/ToolMilling.py:1680 msgid "" "The number of Drill holes. Holes that are drilled with\n" @@ -6749,7 +6761,7 @@ msgstr "" "El número de agujeros de taladros. Agujeros que se taladran con\n" "una broca." -#: appGUI/ObjectUI.py:656 appTools/ToolDrilling.py:2078 +#: appGUI/ObjectUI.py:682 appTools/ToolDrilling.py:2078 #: appTools/ToolMilling.py:1683 msgid "" "The number of Slot holes. Holes that are created by\n" @@ -6758,13 +6770,13 @@ msgstr "" "El número de agujeros de muesca. Agujeros creados por\n" "fresándolas con una broca de fresa." -#: appGUI/ObjectUI.py:659 +#: appGUI/ObjectUI.py:685 #, fuzzy #| msgid "Set the color of the shape when selected." msgid "Show the color of the drill holes when using multi-color." msgstr "Establecer el color de la forma cuando se selecciona." -#: appGUI/ObjectUI.py:661 +#: appGUI/ObjectUI.py:687 msgid "" "Toggle display of the drills for the current tool.\n" "This does not select the tools for G-code generation." @@ -6772,21 +6784,21 @@ msgstr "" "Alternar la visualización de los ejercicios para la herramienta actual.\n" "Esto no selecciona las herramientas para la generación de código G." -#: appGUI/ObjectUI.py:670 +#: appGUI/ObjectUI.py:696 #: appGUI/preferences/excellon/ExcellonAdvOptPrefGroupUI.py:55 #, fuzzy #| msgid "Add from DB" msgid "Auto load from DB" msgstr "Agregar desde DB" -#: appGUI/ObjectUI.py:672 +#: appGUI/ObjectUI.py:698 #: appGUI/preferences/excellon/ExcellonAdvOptPrefGroupUI.py:57 msgid "" "Automatic replacement of the tools from related application tools\n" "with tools from DB that have a close diameter value." msgstr "" -#: appGUI/ObjectUI.py:698 +#: appGUI/ObjectUI.py:724 #, fuzzy #| msgid "" #| "Merge a selection of Excellon objects into a new combo Excellon object." @@ -6795,13 +6807,13 @@ msgstr "" "Combine una selección de objetos de Excellon en un nuevo objeto de Excellon " "combinado." -#: appGUI/ObjectUI.py:709 +#: appGUI/ObjectUI.py:735 appGUI/ObjectUI.py:1767 #, fuzzy #| msgid "Milling Type" msgid "Milling Tool" msgstr "Tipo de fresado" -#: appGUI/ObjectUI.py:712 +#: appGUI/ObjectUI.py:738 #, fuzzy #| msgid "" #| "Merge a selection of Excellon objects into a new combo Excellon object." @@ -6810,11 +6822,11 @@ msgstr "" "Combine una selección de objetos de Excellon en un nuevo objeto de Excellon " "combinado." -#: appGUI/ObjectUI.py:738 +#: appGUI/ObjectUI.py:782 msgid "Milling Geometry" msgstr "Geometría de fresado" -#: appGUI/ObjectUI.py:740 +#: appGUI/ObjectUI.py:784 msgid "" "Create Geometry for milling holes.\n" "Select from the Tools Table above the hole dias to be\n" @@ -6825,22 +6837,22 @@ msgstr "" "para\n" "molido. Use la columna # para hacer la selección." -#: appGUI/ObjectUI.py:746 +#: appGUI/ObjectUI.py:790 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:80 #: appTools/ToolMilling.py:1779 msgid "Milling Diameter" msgstr "Diá. de fresado" -#: appGUI/ObjectUI.py:748 +#: appGUI/ObjectUI.py:792 #: appGUI/preferences/excellon/ExcellonOptPrefGroupUI.py:101 msgid "Diameter of the cutting tool." msgstr "Diá. de la herramienta de corte." -#: appGUI/ObjectUI.py:758 +#: appGUI/ObjectUI.py:802 msgid "Mill Drills" msgstr "Fresar los Taladros" -#: appGUI/ObjectUI.py:760 +#: appGUI/ObjectUI.py:804 #, fuzzy #| msgid "" #| "Create the Geometry Object\n" @@ -6852,11 +6864,11 @@ msgstr "" "Crear el objeto de geometría\n" "para fresar recorridos de herramientas muesca." -#: appGUI/ObjectUI.py:778 +#: appGUI/ObjectUI.py:822 msgid "Mill Slots" msgstr "Fresar las Ranuras" -#: appGUI/ObjectUI.py:780 +#: appGUI/ObjectUI.py:824 #, fuzzy #| msgid "" #| "Create the Geometry Object\n" @@ -6868,17 +6880,17 @@ msgstr "" "Crear el objeto de geometría\n" "para fresar recorridos de herramientas muesca." -#: appGUI/ObjectUI.py:822 +#: appGUI/ObjectUI.py:866 msgid "Geometry Object" msgstr "Objeto de geometría" -#: appGUI/ObjectUI.py:861 +#: appGUI/ObjectUI.py:905 #, fuzzy #| msgid "Geometry Object" msgid "Edit an Geometry object." msgstr "Objeto de geometría" -#: appGUI/ObjectUI.py:925 +#: appGUI/ObjectUI.py:969 msgid "" "Tools in this Geometry object used for cutting.\n" "The 'Offset' entry will set an offset for the cut.\n" @@ -6907,12 +6919,12 @@ msgstr "" "atenuado y Cut Z se calcula automáticamente a partir de la nueva\n" "mostró entradas de formulario de IU denominadas V-Tipo Dia y V-Tipo ángulo." -#: appGUI/ObjectUI.py:942 appGUI/ObjectUI.py:1939 +#: appGUI/ObjectUI.py:986 appGUI/ObjectUI.py:1996 #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:40 msgid "Plot Object" msgstr "Trazar objeto" -#: appGUI/ObjectUI.py:962 +#: appGUI/ObjectUI.py:1006 msgid "" "This is the Tool Number.\n" "When ToolChange is checked, on toolchange event this value\n" @@ -6923,7 +6935,7 @@ msgstr "" "este valor\n" "se mostrará como un T1, T2 ... Tn" -#: appGUI/ObjectUI.py:973 +#: appGUI/ObjectUI.py:1017 msgid "" "The value for the Offset can be:\n" "- Path -> There is no offset, the tool cut will be done through the geometry " @@ -6940,7 +6952,7 @@ msgstr "" "- Fuera (lado) -> El corte de la herramienta seguirá la línea de geometría " "en el exterior." -#: appGUI/ObjectUI.py:980 +#: appGUI/ObjectUI.py:1024 msgid "" "The (Operation) Type has only informative value. Usually the UI form " "values \n" @@ -6963,7 +6975,7 @@ msgstr "" "Para el aislamiento, necesitamos un avance más bajo, ya que utiliza una " "broca de fresado con una punta fina." -#: appGUI/ObjectUI.py:989 +#: appGUI/ObjectUI.py:1033 msgid "" "The Tool Type (TT) can be:\n" "- Circular with 1 ... 4 teeth -> it is informative only. Being circular the " @@ -6994,7 +7006,7 @@ msgstr "" "Elegir el tipo de herramienta en forma de V automáticamente seleccionará el " "tipo de operación como aislamiento." -#: appGUI/ObjectUI.py:1001 +#: appGUI/ObjectUI.py:1045 msgid "" "Plot column. It is visible only for MultiGeo geometries, meaning geometries " "that holds the geometry\n" @@ -7012,7 +7024,7 @@ msgstr "" "puede habilitar / deshabilitar la trama en el lienzo\n" "para la herramienta correspondiente." -#: appGUI/ObjectUI.py:1016 +#: appGUI/ObjectUI.py:1060 msgid "" "The value to offset the cut when \n" "the Offset type selected is 'Offset'.\n" @@ -7024,19 +7036,19 @@ msgstr "" "El valor puede ser positivo para 'afuera'\n" "corte y negativo para corte 'interior'." -#: appGUI/ObjectUI.py:1035 appTools/ToolIsolation.py:3087 -#: appTools/ToolNCC.py:66 appTools/ToolNCC.py:3855 appTools/ToolPaint.py:140 +#: appGUI/ObjectUI.py:1079 appTools/ToolIsolation.py:3087 +#: appTools/ToolNCC.py:66 appTools/ToolNCC.py:3902 appTools/ToolPaint.py:140 #: appTools/ToolPaint.py:2878 msgid "Add from DB" msgstr "Agregar desde DB" -#: appGUI/ObjectUI.py:1052 appTools/ToolCutOut.py:2071 +#: appGUI/ObjectUI.py:1096 appTools/ToolCutOut.py:2071 #: appTools/ToolIsolation.py:61 appTools/ToolIsolation.py:3122 -#: appTools/ToolNCC.py:3889 appTools/ToolPaint.py:2898 +#: appTools/ToolNCC.py:3936 appTools/ToolPaint.py:2898 msgid "Search and Add" msgstr "" -#: appGUI/ObjectUI.py:1055 +#: appGUI/ObjectUI.py:1099 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above." @@ -7044,16 +7056,16 @@ msgstr "" "Agregar una nueva herramienta a la tabla de herramientas\n" "con el diámetro especificado anteriormente." -#: appGUI/ObjectUI.py:1059 appTools/ToolCutOut.py:2083 +#: appGUI/ObjectUI.py:1103 appTools/ToolCutOut.py:2083 #: appTools/ToolIsolation.py:65 appTools/ToolIsolation.py:3133 -#: appTools/ToolNCC.py:3900 appTools/ToolPaint.py:2909 +#: appTools/ToolNCC.py:3947 appTools/ToolPaint.py:2909 #, fuzzy #| msgid "Add from DB" msgid "Pick from DB" msgstr "Agregar desde DB" -#: appGUI/ObjectUI.py:1062 appTools/ToolCutOut.py:2086 -#: appTools/ToolIsolation.py:3136 appTools/ToolNCC.py:3903 +#: appGUI/ObjectUI.py:1106 appTools/ToolCutOut.py:2086 +#: appTools/ToolIsolation.py:3136 appTools/ToolNCC.py:3950 #: appTools/ToolPaint.py:2912 #, fuzzy #| msgid "" @@ -7068,7 +7080,7 @@ msgstr "" "Agregar una nueva herramienta a la tabla de herramientas\n" "de la base de datos de herramientas." -#: appGUI/ObjectUI.py:1084 +#: appGUI/ObjectUI.py:1128 msgid "" "Copy a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -7076,7 +7088,7 @@ msgstr "" "Copie una selección de herramientas en la tabla de herramientas\n" "seleccionando primero una fila en la Tabla de herramientas." -#: appGUI/ObjectUI.py:1091 +#: appGUI/ObjectUI.py:1135 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -7084,7 +7096,7 @@ msgstr "" "Eliminar una selección de herramientas en la tabla de herramientas\n" "seleccionando primero una fila en la Tabla de herramientas." -#: appGUI/ObjectUI.py:1128 appObjects/FlatCAMGeometry.py:388 +#: appGUI/ObjectUI.py:1172 appObjects/FlatCAMGeometry.py:388 #: appObjects/FlatCAMGeometry.py:886 appObjects/FlatCAMGeometry.py:891 #: appObjects/FlatCAMGeometry.py:925 appObjects/FlatCAMGeometry.py:950 #: appObjects/FlatCAMGeometry.py:954 appTools/ToolDrilling.py:705 @@ -7099,18 +7111,18 @@ msgstr "" #: appTools/ToolMilling.py:744 appTools/ToolMilling.py:749 #: appTools/ToolMilling.py:779 appTools/ToolMilling.py:790 #: appTools/ToolMilling.py:794 appTools/ToolMilling.py:1711 -#: appTools/ToolNCC.py:266 appTools/ToolNCC.py:271 appTools/ToolNCC.py:301 -#: appTools/ToolNCC.py:324 appTools/ToolNCC.py:337 appTools/ToolNCC.py:701 -#: appTools/ToolNCC.py:3933 appTools/ToolPaint.py:247 appTools/ToolPaint.py:252 +#: appTools/ToolNCC.py:271 appTools/ToolNCC.py:276 appTools/ToolNCC.py:306 +#: appTools/ToolNCC.py:329 appTools/ToolNCC.py:342 appTools/ToolNCC.py:711 +#: appTools/ToolNCC.py:3980 appTools/ToolPaint.py:247 appTools/ToolPaint.py:252 #: appTools/ToolPaint.py:282 appTools/ToolPaint.py:304 #: appTools/ToolPaint.py:316 appTools/ToolPaint.py:655 #: appTools/ToolPaint.py:2940 msgid "Parameters for" msgstr "Parámetros para" -#: appGUI/ObjectUI.py:1131 appTools/ToolDrilling.py:2119 +#: appGUI/ObjectUI.py:1175 appTools/ToolDrilling.py:2119 #: appTools/ToolIsolation.py:3169 appTools/ToolMilling.py:1714 -#: appTools/ToolNCC.py:3936 appTools/ToolPaint.py:2943 +#: appTools/ToolNCC.py:3983 appTools/ToolPaint.py:2943 msgid "" "The data used for creating GCode.\n" "Each tool store it's own set of such data." @@ -7118,28 +7130,28 @@ msgstr "" "Los datos utilizados para crear GCode.\n" "Cada herramienta almacena su propio conjunto de datos." -#: appGUI/ObjectUI.py:1138 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:89 +#: appGUI/ObjectUI.py:1182 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:72 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:78 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:85 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:76 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:83 msgid "V-Tip Dia" msgstr "V-Tipo Dia" -#: appGUI/ObjectUI.py:1141 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:91 +#: appGUI/ObjectUI.py:1185 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:91 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:74 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:80 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:78 msgid "The tip diameter for V-Shape Tool" msgstr "El diámetro de la punta para la herramienta en forma de V" -#: appGUI/ObjectUI.py:1153 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:101 +#: appGUI/ObjectUI.py:1197 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:101 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:84 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:91 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:99 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:89 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:97 msgid "V-Tip Angle" msgstr "V-Tipo Ángulo" -#: appGUI/ObjectUI.py:1156 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:86 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:93 +#: appGUI/ObjectUI.py:1200 appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:86 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:91 msgid "" "The tip angle for V-Shape Tool.\n" "In degree." @@ -7147,7 +7159,7 @@ msgstr "" "El ángulo de punta para la herramienta en forma de V.\n" "En grado." -#: appGUI/ObjectUI.py:1172 +#: appGUI/ObjectUI.py:1216 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:51 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:61 #: appObjects/FlatCAMGeometry.py:1374 appTools/ToolCutOut.py:2107 @@ -7158,7 +7170,7 @@ msgstr "" "Profundidad de corte (negativo)\n" "debajo de la superficie de cobre." -#: appGUI/ObjectUI.py:1190 +#: appGUI/ObjectUI.py:1234 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:69 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:79 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:77 @@ -7167,7 +7179,7 @@ msgstr "" msgid "Multi-Depth" msgstr "Profund. Múlti" -#: appGUI/ObjectUI.py:1218 +#: appGUI/ObjectUI.py:1262 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:104 msgid "" "Height of the tool when\n" @@ -7176,7 +7188,7 @@ msgstr "" "Altura de la herramienta cuando\n" "Moviéndose sin cortar." -#: appGUI/ObjectUI.py:1237 +#: appGUI/ObjectUI.py:1281 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:188 #: appTools/ToolMilling.py:1862 msgid "" @@ -7186,7 +7198,7 @@ msgstr "" "Velocidad de corte en el XY.\n" "Avion en unidades por minuto" -#: appGUI/ObjectUI.py:1251 +#: appGUI/ObjectUI.py:1295 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:203 msgid "" "Cutting speed in the XY\n" @@ -7197,7 +7209,7 @@ msgstr "" "Plano en unidades por minuto.\n" "Se llama también Plunge." -#: appGUI/ObjectUI.py:1266 +#: appGUI/ObjectUI.py:1310 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:69 msgid "" "Cutting speed in the XY plane\n" @@ -7212,13 +7224,13 @@ msgstr "" "Es útil solo para Marlin,\n" "Ignorar para cualquier otro caso." -#: appGUI/ObjectUI.py:1284 +#: appGUI/ObjectUI.py:1328 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:85 #: appTools/ToolMilling.py:1914 msgid "Re-cut" msgstr "Recortar" -#: appGUI/ObjectUI.py:1286 appGUI/ObjectUI.py:1298 +#: appGUI/ObjectUI.py:1330 appGUI/ObjectUI.py:1342 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:87 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:99 #: appTools/ToolMilling.py:1916 appTools/ToolMilling.py:1929 @@ -7233,7 +7245,7 @@ msgstr "" "Nos reunimos con el último corte, generamos un\n" "Corte extendido sobre la primera sección de corte." -#: appGUI/ObjectUI.py:1310 +#: appGUI/ObjectUI.py:1354 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:220 msgid "" "Speed of the spindle in RPM (optional).\n" @@ -7244,7 +7256,7 @@ msgstr "" "Si se utiliza el postprocesador LÁSER,\n" "Este valor es el poder del láser." -#: appGUI/ObjectUI.py:1326 +#: appGUI/ObjectUI.py:1370 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:235 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:202 #: appTools/ToolDrilling.py:2266 appTools/ToolMilling.py:1959 @@ -7255,14 +7267,14 @@ msgstr "" "Pausa para permitir que el husillo alcance su\n" "Velocidad antes del corte." -#: appGUI/ObjectUI.py:1336 +#: appGUI/ObjectUI.py:1380 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:240 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:210 #: appTools/ToolDrilling.py:2278 appTools/ToolMilling.py:1970 msgid "Number of time units for spindle to dwell." msgstr "Número de unidades de tiempo para que el husillo permanezca." -#: appGUI/ObjectUI.py:1344 appGUI/ObjectUI.py:2071 +#: appGUI/ObjectUI.py:1388 appGUI/ObjectUI.py:2128 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:131 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:108 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:333 @@ -7270,7 +7282,7 @@ msgstr "Número de unidades de tiempo para que el husillo permanezca." msgid "Probe Z depth" msgstr "Profundidad de la sonda Z" -#: appGUI/ObjectUI.py:1346 appGUI/ObjectUI.py:2073 +#: appGUI/ObjectUI.py:1390 appGUI/ObjectUI.py:2130 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:133 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:110 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:335 @@ -7282,14 +7294,14 @@ msgstr "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." -#: appGUI/ObjectUI.py:1361 +#: appGUI/ObjectUI.py:1405 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:346 #: appTools/ToolDrilling.py:2480 appTools/ToolMilling.py:2148 msgid "Feedrate Probe" msgstr "Sonda de avance" -#: appGUI/ObjectUI.py:1363 appGUI/ObjectUI.py:2086 +#: appGUI/ObjectUI.py:1407 appGUI/ObjectUI.py:2143 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:146 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:125 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:348 @@ -7297,15 +7309,15 @@ msgstr "Sonda de avance" msgid "The feedrate used while the probe is probing." msgstr "La velocidad de avance utilizada mientras la sonda está sondeando." -#: appGUI/ObjectUI.py:1390 appTools/ToolDrilling.py:2364 +#: appGUI/ObjectUI.py:1434 appTools/ToolDrilling.py:2364 #: appTools/ToolIsolation.py:3265 appTools/ToolMilling.py:2042 -#: appTools/ToolNCC.py:4094 appTools/ToolPaint.py:3049 +#: appTools/ToolNCC.py:4141 appTools/ToolPaint.py:3049 msgid "Apply parameters to all tools" msgstr "Aplicar Parám. a todas las herramientas" -#: appGUI/ObjectUI.py:1393 appTools/ToolDrilling.py:2367 +#: appGUI/ObjectUI.py:1437 appTools/ToolDrilling.py:2367 #: appTools/ToolIsolation.py:3268 appTools/ToolMilling.py:2045 -#: appTools/ToolNCC.py:4097 appTools/ToolPaint.py:3052 +#: appTools/ToolNCC.py:4144 appTools/ToolPaint.py:3052 msgid "" "The parameters in the current form will be applied\n" "on all the tools from the Tool Table." @@ -7313,24 +7325,24 @@ msgstr "" "Se aplicarán los parámetros en el formulario actual\n" "en todas las herramientas de la tabla de herramientas." -#: appGUI/ObjectUI.py:1404 appTools/ToolDrilling.py:2378 +#: appGUI/ObjectUI.py:1448 appTools/ToolDrilling.py:2378 #: appTools/ToolIsolation.py:3279 appTools/ToolMilling.py:2056 -#: appTools/ToolNCC.py:4108 appTools/ToolPaint.py:3063 +#: appTools/ToolNCC.py:4155 appTools/ToolPaint.py:3063 msgid "Common Parameters" msgstr "Parámetros comunes" -#: appGUI/ObjectUI.py:1406 appTools/ToolDrilling.py:2380 +#: appGUI/ObjectUI.py:1450 appTools/ToolDrilling.py:2380 #: appTools/ToolIsolation.py:3281 appTools/ToolMilling.py:2058 -#: appTools/ToolNCC.py:4110 appTools/ToolPaint.py:3065 +#: appTools/ToolNCC.py:4157 appTools/ToolPaint.py:3065 msgid "Parameters that are common for all tools." msgstr "Parámetros que son comunes para todas las herramientas." -#: appGUI/ObjectUI.py:1411 appTools/ToolDrilling.py:2394 +#: appGUI/ObjectUI.py:1455 appTools/ToolDrilling.py:2394 #: appTools/ToolMilling.py:2063 msgid "Tool change Z" msgstr "Cambio de herra. Z" -#: appGUI/ObjectUI.py:1414 +#: appGUI/ObjectUI.py:1458 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:125 msgid "" "Include tool-change sequence\n" @@ -7339,7 +7351,7 @@ msgstr "" "Incluir secuencia de cambio de herramienta\n" "en el código de máquina (pausa para cambio de herramienta)." -#: appGUI/ObjectUI.py:1422 +#: appGUI/ObjectUI.py:1466 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:135 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:126 #: appTools/ToolDrilling.py:2396 appTools/ToolMilling.py:2072 @@ -7350,14 +7362,14 @@ msgstr "" "Posición del eje Z (altura) para\n" "cambio de herramienta." -#: appGUI/ObjectUI.py:1450 +#: appGUI/ObjectUI.py:1494 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:154 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:142 #: appTools/ToolDrilling.py:2427 appTools/ToolMilling.py:2098 msgid "End move Z" msgstr "Fin del movi. Z" -#: appGUI/ObjectUI.py:1452 +#: appGUI/ObjectUI.py:1496 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:156 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:144 #: appTools/ToolDrilling.py:2429 appTools/ToolMilling.py:2100 @@ -7368,14 +7380,14 @@ msgstr "" "Altura de la herramienta después de\n" "El último movimiento al final del trabajo." -#: appGUI/ObjectUI.py:1469 +#: appGUI/ObjectUI.py:1513 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:174 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:159 #: appTools/ToolDrilling.py:2447 appTools/ToolMilling.py:2117 msgid "End move X,Y" msgstr "X, Y Fin del movimiento" -#: appGUI/ObjectUI.py:1471 +#: appGUI/ObjectUI.py:1515 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:176 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:161 #: appTools/ToolDrilling.py:2449 appTools/ToolMilling.py:2119 @@ -7388,14 +7400,14 @@ msgstr "" "Si no se ingresa ningún valor, entonces no hay movimiento\n" "en el plano X, Y al final del trabajo." -#: appGUI/ObjectUI.py:1476 appTools/ToolDrilling.py:2454 +#: appGUI/ObjectUI.py:1520 appTools/ToolDrilling.py:2454 #: appTools/ToolMilling.py:2124 #, fuzzy #| msgid "Coordinates" msgid "X,Y coordinates" msgstr "Coordenadas" -#: appGUI/ObjectUI.py:1484 +#: appGUI/ObjectUI.py:1528 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:257 msgid "" "The Preprocessor file that dictates\n" @@ -7404,12 +7416,12 @@ msgstr "" "El archivo de postprocesador que dicta\n" "la salida del código de máquina (como GCode, RML, HPGL)." -#: appGUI/ObjectUI.py:1500 appTools/ToolDrilling.py:2515 +#: appGUI/ObjectUI.py:1544 appTools/ToolDrilling.py:2515 #: appTools/ToolMilling.py:2194 msgid "Add exclusion areas" msgstr "Agregar Areas de Exclusión" -#: appGUI/ObjectUI.py:1503 +#: appGUI/ObjectUI.py:1547 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:210 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:410 #: appTools/ToolDrilling.py:2518 appTools/ToolMilling.py:2197 @@ -7422,7 +7434,7 @@ msgstr "" "En esas áreas el recorrido de las herramientas.\n" "está prohibido." -#: appGUI/ObjectUI.py:1524 appGUI/ObjectUI.py:1543 +#: appGUI/ObjectUI.py:1568 appGUI/ObjectUI.py:1587 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:230 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:430 #: appTools/ToolDrilling.py:2540 appTools/ToolDrilling.py:2559 @@ -7430,7 +7442,7 @@ msgstr "" msgid "Strategy" msgstr "Estrategia" -#: appGUI/ObjectUI.py:1524 appGUI/ObjectUI.py:1555 +#: appGUI/ObjectUI.py:1568 appGUI/ObjectUI.py:1599 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:242 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:442 #: appTools/ToolDrilling.py:2540 appTools/ToolDrilling.py:2572 @@ -7438,17 +7450,17 @@ msgstr "Estrategia" msgid "Over Z" msgstr "Sobre ZSuperposición" -#: appGUI/ObjectUI.py:1526 appTools/ToolDrilling.py:2542 +#: appGUI/ObjectUI.py:1570 appTools/ToolDrilling.py:2542 #: appTools/ToolMilling.py:2220 msgid "This is the Area ID." msgstr "Esta es la ID del Area." -#: appGUI/ObjectUI.py:1528 appTools/ToolDrilling.py:2544 +#: appGUI/ObjectUI.py:1572 appTools/ToolDrilling.py:2544 #: appTools/ToolMilling.py:2222 msgid "Type of the object where the exclusion area was added." msgstr "Tipo del objeto donde se agregó el área de exclusión." -#: appGUI/ObjectUI.py:1530 appTools/ToolDrilling.py:2546 +#: appGUI/ObjectUI.py:1574 appTools/ToolDrilling.py:2546 #: appTools/ToolMilling.py:2224 msgid "" "The strategy used for exclusion area. Go around the exclusion areas or over " @@ -7457,7 +7469,7 @@ msgstr "" "La estrategia utilizada para el área de exclusión. Recorre las áreas de " "exclusión o sobre ella." -#: appGUI/ObjectUI.py:1532 appTools/ToolDrilling.py:2548 +#: appGUI/ObjectUI.py:1576 appTools/ToolDrilling.py:2548 #: appTools/ToolMilling.py:2226 msgid "" "If the strategy is to go over the area then this is the height at which the " @@ -7466,7 +7478,7 @@ msgstr "" "Si la estrategia es ir sobre el área, esta es la altura a la que irá la " "herramienta para evitar el área de exclusión." -#: appGUI/ObjectUI.py:1544 +#: appGUI/ObjectUI.py:1588 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:231 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:431 #: appTools/ToolDrilling.py:2560 appTools/ToolMilling.py:2238 @@ -7482,21 +7494,21 @@ msgstr "" "establecida\n" "- Alrededor -> evitará el área de exclusión recorriendo el área" -#: appGUI/ObjectUI.py:1548 +#: appGUI/ObjectUI.py:1592 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:235 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:435 #: appTools/ToolDrilling.py:2564 appTools/ToolMilling.py:2242 msgid "Over" msgstr "Sobre" -#: appGUI/ObjectUI.py:1549 +#: appGUI/ObjectUI.py:1593 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:236 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:436 #: appTools/ToolDrilling.py:2565 appTools/ToolMilling.py:2243 msgid "Around" msgstr "AlrededorRedondo" -#: appGUI/ObjectUI.py:1556 +#: appGUI/ObjectUI.py:1600 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:243 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:443 #: appTools/ToolDrilling.py:2573 appTools/ToolMilling.py:2250 @@ -7507,29 +7519,29 @@ msgstr "" "La altura Z a la que se elevará la herramienta para evitar\n" "Un área de interdicción." -#: appGUI/ObjectUI.py:1566 appTools/ToolDrilling.py:2584 +#: appGUI/ObjectUI.py:1610 appTools/ToolDrilling.py:2584 #: appTools/ToolMilling.py:2260 msgid "Add area:" msgstr "Añadir área:" -#: appGUI/ObjectUI.py:1567 appTools/ToolDrilling.py:2585 +#: appGUI/ObjectUI.py:1611 appTools/ToolDrilling.py:2585 #: appTools/ToolMilling.py:2261 msgid "Add an Exclusion Area." msgstr "Agregar un área de exclusión." -#: appGUI/ObjectUI.py:1573 +#: appGUI/ObjectUI.py:1617 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:220 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:420 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:305 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:324 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:288 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:286 #: appTools/ToolDrilling.py:2591 appTools/ToolIsolation.py:3427 -#: appTools/ToolMilling.py:2267 appTools/ToolNCC.py:4238 +#: appTools/ToolMilling.py:2267 appTools/ToolNCC.py:4285 #: appTools/ToolPaint.py:3165 msgid "The kind of selection shape used for area selection." msgstr "El tipo de forma de selección utilizada para la selección de área." -#: appGUI/ObjectUI.py:1583 +#: appGUI/ObjectUI.py:1627 #: appGUI/preferences/utilities/AutoCompletePrefGroupUI.py:32 #: appGUI/preferences/utilities/FAExcPrefGroupUI.py:42 #: appGUI/preferences/utilities/FAGcoPrefGroupUI.py:32 @@ -7538,53 +7550,53 @@ msgstr "El tipo de forma de selección utilizada para la selección de área." msgid "Delete All" msgstr "Eliminar todosEliminar taladro" -#: appGUI/ObjectUI.py:1584 appTools/ToolDrilling.py:2603 +#: appGUI/ObjectUI.py:1628 appTools/ToolDrilling.py:2603 #: appTools/ToolMilling.py:2278 msgid "Delete all exclusion areas." msgstr "Eliminar todas las áreas de exclusión." -#: appGUI/ObjectUI.py:1587 appTools/ToolDrilling.py:2606 +#: appGUI/ObjectUI.py:1631 appTools/ToolDrilling.py:2606 #: appTools/ToolMilling.py:2281 msgid "Delete Selected" msgstr "Eliminar seleccionado" -#: appGUI/ObjectUI.py:1588 appTools/ToolDrilling.py:2607 +#: appGUI/ObjectUI.py:1632 appTools/ToolDrilling.py:2607 #: appTools/ToolMilling.py:2282 msgid "Delete all exclusion areas that are selected in the table." msgstr "" "Elimine todas las áreas de exclusión que están seleccionadas en la tabla." -#: appGUI/ObjectUI.py:1598 +#: appGUI/ObjectUI.py:1642 #, fuzzy #| msgid "Add Polygon" msgid "Add Polish" msgstr "Añadir Polígono" -#: appGUI/ObjectUI.py:1600 +#: appGUI/ObjectUI.py:1644 msgid "" "Will add a Paint section at the end of the GCode.\n" "A metallic brush will clean the material after milling." msgstr "" -#: appGUI/ObjectUI.py:1608 +#: appGUI/ObjectUI.py:1652 #, fuzzy #| msgid "Diameter for the new tool." msgid "Diameter for the polishing tool." msgstr "Diámetro para la nueva herramienta." -#: appGUI/ObjectUI.py:1619 +#: appGUI/ObjectUI.py:1663 #, fuzzy #| msgid "Measure" msgid "Pressure" msgstr "Medida" -#: appGUI/ObjectUI.py:1621 +#: appGUI/ObjectUI.py:1665 msgid "" "Negative value. The higher the absolute value\n" "the stronger the pressure of the brush on the material." msgstr "" -#: appGUI/ObjectUI.py:1650 +#: appGUI/ObjectUI.py:1694 #, fuzzy #| msgid "" #| "Algorithm for copper clearing:\n" @@ -7602,18 +7614,18 @@ msgstr "" "- Basado en semillas: hacia afuera de la semilla.\n" "- Basado en líneas: líneas paralelas." -#: appGUI/ObjectUI.py:1694 appTools/ToolDrilling.py:2629 +#: appGUI/ObjectUI.py:1738 appTools/ToolDrilling.py:2629 #: appTools/ToolMilling.py:2304 msgid "Generate CNCJob object" msgstr "Generar objeto CNCJob" -#: appGUI/ObjectUI.py:1697 +#: appGUI/ObjectUI.py:1741 #, fuzzy #| msgid "Generate CNCJob object" msgid "Generate CNCJob object." msgstr "Generar objeto CNCJob" -#: appGUI/ObjectUI.py:1699 +#: appGUI/ObjectUI.py:1743 msgid "" "Add / Select at least one tool in the tool-table.\n" "Click the # header to select all, or Ctrl + LMB\n" @@ -7623,27 +7635,37 @@ msgstr "" "Haga clic en el encabezado # para seleccionar todo, o Ctrl + LMB\n" "para la selección personalizada de herramientas." -#: appGUI/ObjectUI.py:1718 +#: appGUI/ObjectUI.py:1762 msgid "Launch Paint Tool in Tools Tab." msgstr "Inicie la herramienta Pintura en la pestaña Herramientas." -#: appGUI/ObjectUI.py:1727 appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:35 +#: appGUI/ObjectUI.py:1770 +#, fuzzy +#| msgid "Generating Solder Paste dispensing geometry..." +msgid "Generate a CNCJob by milling a Geometry." +msgstr "Generando geometría de dispensación de pasta de soldadura ..." + +#: appGUI/ObjectUI.py:1786 appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:35 +#, fuzzy +#| msgid "" +#| "Creates tool paths to cover the\n" +#| "whole area of a polygon (remove\n" +#| "all copper). You will be asked\n" +#| "to click on the desired polygon." msgid "" "Creates tool paths to cover the\n" -"whole area of a polygon (remove\n" -"all copper). You will be asked\n" -"to click on the desired polygon." +"whole area of a polygon." msgstr "" "Crea recorridos de herramientas para cubrir la\n" "toda el área de un polígono (eliminar\n" "todo el cobre). Te harán preguntas\n" "Para hacer clic en el polígono deseado." -#: appGUI/ObjectUI.py:1783 +#: appGUI/ObjectUI.py:1840 msgid "CNC Job Object" msgstr "Objeto de trabajo CNC" -#: appGUI/ObjectUI.py:1799 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:54 +#: appGUI/ObjectUI.py:1856 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:54 msgid "" "This selects the kind of geometries on the canvas to plot.\n" "Those can be either of type 'Travel' which means the moves\n" @@ -7655,21 +7677,21 @@ msgstr "" "Por encima de la pieza de trabajo o puede ser de tipo 'Corte',\n" "Lo que significa los movimientos que cortan en el material." -#: appGUI/ObjectUI.py:1808 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:62 +#: appGUI/ObjectUI.py:1865 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:62 msgid "Travel" msgstr "Viajar" -#: appGUI/ObjectUI.py:1831 +#: appGUI/ObjectUI.py:1888 #, fuzzy #| msgid "Create the QRCode object." msgid "Edit an GCode object." msgstr "Crea el objeto QRCode." -#: appGUI/ObjectUI.py:1868 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:71 +#: appGUI/ObjectUI.py:1925 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:71 msgid "Display Annotation" msgstr "Mostrar anotación" -#: appGUI/ObjectUI.py:1870 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:73 +#: appGUI/ObjectUI.py:1927 appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:73 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" @@ -7679,12 +7701,12 @@ msgstr "" "Cuando está marcado, mostrará números en orden para cada final.\n" "de una linea de viaje." -#: appGUI/ObjectUI.py:1882 appObjects/FlatCAMObj.py:861 +#: appGUI/ObjectUI.py:1939 appObjects/FlatCAMObj.py:864 #: appTools/ToolProperties.py:562 msgid "Travelled distance" msgstr "Distancia recorrida" -#: appGUI/ObjectUI.py:1884 +#: appGUI/ObjectUI.py:1941 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." @@ -7692,11 +7714,11 @@ msgstr "" "Esta es la distancia total recorrida en el plano X-Y.\n" "En unidades actuales." -#: appGUI/ObjectUI.py:1895 +#: appGUI/ObjectUI.py:1952 msgid "Estimated time" msgstr "Duración estimada" -#: appGUI/ObjectUI.py:1897 +#: appGUI/ObjectUI.py:1954 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." @@ -7704,11 +7726,11 @@ msgstr "" "Este es el tiempo estimado para hacer el enrutamiento / perforación,\n" "sin el tiempo dedicado a los eventos de cambio de herramienta." -#: appGUI/ObjectUI.py:1921 +#: appGUI/ObjectUI.py:1978 msgid "CNC Tools Table" msgstr "Tabla de herramientas CNC" -#: appGUI/ObjectUI.py:1924 +#: appGUI/ObjectUI.py:1981 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -7731,124 +7753,124 @@ msgstr "" "C4),\n" "bola (B) o en forma de V (V)." -#: appGUI/ObjectUI.py:1952 appGUI/ObjectUI.py:1963 +#: appGUI/ObjectUI.py:2009 appGUI/ObjectUI.py:2020 msgid "P" msgstr "P" -#: appGUI/ObjectUI.py:1973 +#: appGUI/ObjectUI.py:2030 msgid "Update Plot" msgstr "Actualizar Trama" -#: appGUI/ObjectUI.py:1975 +#: appGUI/ObjectUI.py:2032 msgid "Update the plot." msgstr "Actualiza la trama." -#: appGUI/ObjectUI.py:1985 +#: appGUI/ObjectUI.py:2042 msgid "Use CNC Code Snippets" msgstr "" -#: appGUI/ObjectUI.py:1987 +#: appGUI/ObjectUI.py:2044 msgid "" "When selected, it will include CNC Code snippets (append and prepend)\n" "defined in the Preferences." msgstr "" -#: appGUI/ObjectUI.py:1993 +#: appGUI/ObjectUI.py:2050 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:64 msgid "Autolevelling" msgstr "" -#: appGUI/ObjectUI.py:1995 +#: appGUI/ObjectUI.py:2052 msgid "Enable the autolevelling feature." msgstr "" -#: appGUI/ObjectUI.py:2012 +#: appGUI/ObjectUI.py:2069 #, fuzzy #| msgid "Tools Table" msgid "Probe Points Table" msgstr "Tabla de herramientas" -#: appGUI/ObjectUI.py:2013 +#: appGUI/ObjectUI.py:2070 msgid "Generate GCode that will obtain the height map" msgstr "" -#: appGUI/ObjectUI.py:2015 +#: appGUI/ObjectUI.py:2072 msgid "Show" msgstr "" -#: appGUI/ObjectUI.py:2016 +#: appGUI/ObjectUI.py:2073 #, fuzzy #| msgid "Toggle the display of axis on canvas" msgid "Toggle the display of the Probe Points table." msgstr "Alternar la visualización del eje en el lienzo" -#: appGUI/ObjectUI.py:2029 +#: appGUI/ObjectUI.py:2086 #, fuzzy #| msgid "Coordinates" msgid "X-Y Coordinates" msgstr "Coordenadas" -#: appGUI/ObjectUI.py:2029 +#: appGUI/ObjectUI.py:2086 #, fuzzy #| msgid "Light" msgid "Height" msgstr "Ligera" -#: appGUI/ObjectUI.py:2033 +#: appGUI/ObjectUI.py:2090 #, fuzzy #| msgid "Plot Options" msgid "Plot probing points" msgstr "Opciones de parcela" -#: appGUI/ObjectUI.py:2035 +#: appGUI/ObjectUI.py:2092 msgid "" "Plot the probing points in the table.\n" "If a Voronoi method is used then\n" "the Voronoi areas are also plotted." msgstr "" -#: appGUI/ObjectUI.py:2050 +#: appGUI/ObjectUI.py:2107 #, fuzzy #| msgid "Finished G-Code generation" msgid "Probe GCode Generation" msgstr "Generación de código G terminada" -#: appGUI/ObjectUI.py:2052 +#: appGUI/ObjectUI.py:2109 msgid "" "Will create a GCode which will be sent to the controller,\n" "either through a file or directly, with the intent to get the height map\n" "that is to modify the original GCode to level the cutting height." msgstr "" -#: appGUI/ObjectUI.py:2059 +#: appGUI/ObjectUI.py:2116 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:119 #, fuzzy #| msgid "Probe Z depth" msgid "Probe Z travel" msgstr "Profundidad de la sonda Z" -#: appGUI/ObjectUI.py:2061 +#: appGUI/ObjectUI.py:2118 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:121 #, fuzzy #| msgid "Height (Z) for travelling between the points." msgid "The safe Z for probe travelling between probe points." msgstr "Altura (Z) para viajar entre los puntos." -#: appGUI/ObjectUI.py:2084 +#: appGUI/ObjectUI.py:2141 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:144 #, fuzzy #| msgid "Feedrate" msgid "Probe Feedrate" msgstr "Avance" -#: appGUI/ObjectUI.py:2101 +#: appGUI/ObjectUI.py:2158 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:71 #, fuzzy #| msgid "Mode:" msgid "Mode" msgstr "Modo:" -#: appGUI/ObjectUI.py:2102 +#: appGUI/ObjectUI.py:2159 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:72 msgid "" "Choose a mode for height map generation.\n" @@ -7856,21 +7878,21 @@ msgid "" "- Grid: will automatically generate a grid of probe points" msgstr "" -#: appGUI/ObjectUI.py:2108 +#: appGUI/ObjectUI.py:2165 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:78 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:74 #: appTools/ToolCutOut.py:2324 appTools/ToolFiducials.py:801 msgid "Manual" msgstr "Manual" -#: appGUI/ObjectUI.py:2109 +#: appGUI/ObjectUI.py:2166 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:79 #, fuzzy #| msgid "Grids" msgid "Grid" msgstr "Rejillas" -#: appGUI/ObjectUI.py:2116 +#: appGUI/ObjectUI.py:2173 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:86 msgid "" "Choose a method for approximation of heights from autolevelling data.\n" @@ -7878,125 +7900,125 @@ msgid "" "- Bilinear: will use bilinear interpolation. Usable only for grid mode." msgstr "" -#: appGUI/ObjectUI.py:2122 +#: appGUI/ObjectUI.py:2179 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:92 msgid "Voronoi" msgstr "" -#: appGUI/ObjectUI.py:2123 +#: appGUI/ObjectUI.py:2180 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:93 #, fuzzy #| msgid "Linear" msgid "Bilinear" msgstr "Lineal" -#: appGUI/ObjectUI.py:2136 +#: appGUI/ObjectUI.py:2193 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:101 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:77 #: appTools/ToolPanelize.py:787 msgid "Columns" msgstr "Columnas" -#: appGUI/ObjectUI.py:2138 +#: appGUI/ObjectUI.py:2195 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:103 msgid "The number of grid columns." msgstr "" -#: appGUI/ObjectUI.py:2147 +#: appGUI/ObjectUI.py:2204 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:111 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:89 #: appTools/ToolPanelize.py:797 msgid "Rows" msgstr "Filas" -#: appGUI/ObjectUI.py:2149 +#: appGUI/ObjectUI.py:2206 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:113 msgid "The number of gird rows." msgstr "" -#: appGUI/ObjectUI.py:2154 +#: appGUI/ObjectUI.py:2211 #, fuzzy #| msgid "Get Points" msgid "Add Probe Points" msgstr "Obtener puntos" -#: appGUI/ObjectUI.py:2162 +#: appGUI/ObjectUI.py:2219 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:160 #, fuzzy #| msgid "Contour" msgid "Controller" msgstr "Contorno" -#: appGUI/ObjectUI.py:2164 +#: appGUI/ObjectUI.py:2221 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:162 msgid "" "The kind of controller for which to generate\n" "height map gcode." msgstr "" -#: appGUI/ObjectUI.py:2210 appGUI/ObjectUI.py:2225 -#: appObjects/FlatCAMCNCJob.py:1293 appObjects/FlatCAMCNCJob.py:1315 +#: appGUI/ObjectUI.py:2267 appGUI/ObjectUI.py:2282 +#: appObjects/FlatCAMCNCJob.py:1302 appObjects/FlatCAMCNCJob.py:1324 #, fuzzy #| msgid "Contour" msgid "Control" msgstr "Contorno" -#: appGUI/ObjectUI.py:2220 appGUI/ObjectUI.py:2227 -#: appObjects/FlatCAMCNCJob.py:1295 appObjects/FlatCAMCNCJob.py:1317 +#: appGUI/ObjectUI.py:2277 appGUI/ObjectUI.py:2284 +#: appObjects/FlatCAMCNCJob.py:1304 appObjects/FlatCAMCNCJob.py:1326 #, fuzzy #| msgid "Rendered" msgid "Sender" msgstr "Rendido" -#: appGUI/ObjectUI.py:2241 +#: appGUI/ObjectUI.py:2298 msgid "COM list" msgstr "" -#: appGUI/ObjectUI.py:2243 appGUI/ObjectUI.py:2258 +#: appGUI/ObjectUI.py:2300 appGUI/ObjectUI.py:2315 msgid "Lists the available serial ports." msgstr "" -#: appGUI/ObjectUI.py:2247 +#: appGUI/ObjectUI.py:2304 msgid "Search" msgstr "" -#: appGUI/ObjectUI.py:2249 +#: appGUI/ObjectUI.py:2306 msgid "Search for the available serial ports." msgstr "" -#: appGUI/ObjectUI.py:2256 +#: appGUI/ObjectUI.py:2313 msgid "Baud rates" msgstr "" -#: appGUI/ObjectUI.py:2275 +#: appGUI/ObjectUI.py:2332 msgid "New, custom baudrate." msgstr "" -#: appGUI/ObjectUI.py:2283 +#: appGUI/ObjectUI.py:2340 msgid "Add the specified custom baudrate to the list." msgstr "" -#: appGUI/ObjectUI.py:2289 +#: appGUI/ObjectUI.py:2346 #, fuzzy #| msgid "Delete Selected" msgid "Delete selected baudrate" msgstr "Eliminar seleccionado" -#: appGUI/ObjectUI.py:2293 +#: appGUI/ObjectUI.py:2350 msgid "Reset" msgstr "Reiniciar" -#: appGUI/ObjectUI.py:2295 +#: appGUI/ObjectUI.py:2352 msgid "Software reset of the controller." msgstr "" -#: appGUI/ObjectUI.py:2301 appObjects/FlatCAMCNCJob.py:1309 +#: appGUI/ObjectUI.py:2358 appObjects/FlatCAMCNCJob.py:1318 #, fuzzy #| msgid "Connect" msgid "Disconnected" msgstr "Conectar" -#: appGUI/ObjectUI.py:2303 +#: appGUI/ObjectUI.py:2360 #, fuzzy #| msgid "" #| "Create a Gerber object from the selected object, within\n" @@ -8006,131 +8028,131 @@ msgstr "" "Cree un objeto Gerber a partir del objeto seleccionado, dentro de\n" "El cuadro especificado." -#: appGUI/ObjectUI.py:2328 +#: appGUI/ObjectUI.py:2385 msgid "Jog" msgstr "" -#: appGUI/ObjectUI.py:2336 +#: appGUI/ObjectUI.py:2393 #, fuzzy #| msgid "Zeros" msgid "Zero Axes" msgstr "Ceros" -#: appGUI/ObjectUI.py:2369 +#: appGUI/ObjectUI.py:2426 msgid "Pause/Resume" msgstr "" -#: appGUI/ObjectUI.py:2391 +#: appGUI/ObjectUI.py:2448 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:172 msgid "Step" msgstr "" -#: appGUI/ObjectUI.py:2393 +#: appGUI/ObjectUI.py:2450 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:174 msgid "Each jog action will move the axes with this value." msgstr "" -#: appGUI/ObjectUI.py:2405 +#: appGUI/ObjectUI.py:2462 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:185 #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:89 -#: appObjects/FlatCAMObj.py:828 appTools/ToolProperties.py:529 +#: appObjects/FlatCAMObj.py:831 appTools/ToolProperties.py:529 msgid "Feedrate" msgstr "Avance" -#: appGUI/ObjectUI.py:2407 +#: appGUI/ObjectUI.py:2464 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:187 msgid "Feedrate when jogging." msgstr "" -#: appGUI/ObjectUI.py:2427 +#: appGUI/ObjectUI.py:2484 msgid "Send Command" msgstr "" -#: appGUI/ObjectUI.py:2429 appGUI/ObjectUI.py:2439 +#: appGUI/ObjectUI.py:2486 appGUI/ObjectUI.py:2496 msgid "Send a custom command to GRBL." msgstr "" -#: appGUI/ObjectUI.py:2434 +#: appGUI/ObjectUI.py:2491 msgid "Type GRBL command ..." msgstr "" -#: appGUI/ObjectUI.py:2437 +#: appGUI/ObjectUI.py:2494 msgid "Send" msgstr "" -#: appGUI/ObjectUI.py:2445 +#: appGUI/ObjectUI.py:2502 #, fuzzy #| msgid "Text to PDF parameters" msgid "Get Config parameter" msgstr "Parámetros de texto a PDF" -#: appGUI/ObjectUI.py:2447 +#: appGUI/ObjectUI.py:2504 msgid "A GRBL configuration parameter." msgstr "" -#: appGUI/ObjectUI.py:2452 +#: appGUI/ObjectUI.py:2509 msgid "Type GRBL parameter ..." msgstr "" -#: appGUI/ObjectUI.py:2455 +#: appGUI/ObjectUI.py:2512 #, fuzzy #| msgid "Geo" msgid "Get" msgstr "Geo" -#: appGUI/ObjectUI.py:2457 +#: appGUI/ObjectUI.py:2514 msgid "Get the value of a specified GRBL parameter." msgstr "" -#: appGUI/ObjectUI.py:2465 +#: appGUI/ObjectUI.py:2522 #, fuzzy #| msgid "Gerber Export" msgid "Get Report" msgstr "Gerber Export" -#: appGUI/ObjectUI.py:2467 +#: appGUI/ObjectUI.py:2524 msgid "Print in shell the GRBL report." msgstr "" -#: appGUI/ObjectUI.py:2473 +#: appGUI/ObjectUI.py:2530 msgid "Apply AutoLevelling" msgstr "" -#: appGUI/ObjectUI.py:2475 +#: appGUI/ObjectUI.py:2532 msgid "" "Will send the probing GCode to the GRBL controller,\n" "wait for the Z probing data and then apply this data\n" "over the original GCode therefore doing autolevelling." msgstr "" -#: appGUI/ObjectUI.py:2484 +#: appGUI/ObjectUI.py:2541 msgid "Will save the GRBL height map." msgstr "" -#: appGUI/ObjectUI.py:2494 +#: appGUI/ObjectUI.py:2551 #, fuzzy #| msgid "Starting G-Code" msgid "Save Probing GCode" msgstr "Iniciando el código G" -#: appGUI/ObjectUI.py:2496 +#: appGUI/ObjectUI.py:2553 #, fuzzy #| msgid "Starting G-Code" msgid "Will save the probing GCode." msgstr "Iniciando el código G" -#: appGUI/ObjectUI.py:2505 +#: appGUI/ObjectUI.py:2562 msgid "View/Edit the probing GCode." msgstr "" -#: appGUI/ObjectUI.py:2512 appObjects/FlatCAMCNCJob.py:1726 -#: appObjects/FlatCAMCNCJob.py:1730 +#: appGUI/ObjectUI.py:2569 appObjects/FlatCAMCNCJob.py:1735 +#: appObjects/FlatCAMCNCJob.py:1739 #, fuzzy #| msgid "Import List" msgid "Import Height Map" msgstr "Importar la lista" -#: appGUI/ObjectUI.py:2514 +#: appGUI/ObjectUI.py:2571 msgid "" "Import the file that has the Z heights\n" "obtained through probing and then apply this data\n" @@ -8138,11 +8160,11 @@ msgid "" "doing autolevelling." msgstr "" -#: appGUI/ObjectUI.py:2532 +#: appGUI/ObjectUI.py:2589 msgid "Export CNC Code" msgstr "Exportar código CNC" -#: appGUI/ObjectUI.py:2534 +#: appGUI/ObjectUI.py:2591 #: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:37 #: appGUI/preferences/cncjob/CNCJobOptPrefGroupUI.py:33 msgid "" @@ -8152,11 +8174,11 @@ msgstr "" "Exportar y guardar código G a\n" "Hacer este objeto a un archivo." -#: appGUI/ObjectUI.py:2543 +#: appGUI/ObjectUI.py:2600 msgid "Save CNC Code" msgstr "Guardar código CNC" -#: appGUI/ObjectUI.py:2546 +#: appGUI/ObjectUI.py:2603 msgid "" "Opens dialog to save G-Code\n" "file." @@ -8164,86 +8186,86 @@ msgstr "" "Abre el diálogo para guardar el código G\n" "expediente." -#: appGUI/ObjectUI.py:2553 +#: appGUI/ObjectUI.py:2610 #, fuzzy #| msgid "View CNC Code" msgid "Review CNC Code." msgstr "Ver código CNC" -#: appGUI/ObjectUI.py:2614 +#: appGUI/ObjectUI.py:2671 msgid "Script Object" msgstr "Objeto de script" -#: appGUI/ObjectUI.py:2634 appGUI/ObjectUI.py:2708 +#: appGUI/ObjectUI.py:2691 appGUI/ObjectUI.py:2765 msgid "Auto Completer" msgstr "Autocompletador" -#: appGUI/ObjectUI.py:2636 +#: appGUI/ObjectUI.py:2693 msgid "This selects if the auto completer is enabled in the Script Editor." msgstr "" "Esto selecciona si el autocompletador está habilitado en el Editor de " "secuencias de comandos." -#: appGUI/ObjectUI.py:2681 +#: appGUI/ObjectUI.py:2738 msgid "Document Object" msgstr "Objeto de Documento" -#: appGUI/ObjectUI.py:2710 +#: appGUI/ObjectUI.py:2767 msgid "This selects if the auto completer is enabled in the Document Editor." msgstr "" "Esto selecciona si el autocompletador está habilitado en el Editor de " "Documentos." -#: appGUI/ObjectUI.py:2728 +#: appGUI/ObjectUI.py:2785 msgid "Font Type" msgstr "Tipo de Fuente" -#: appGUI/ObjectUI.py:2745 +#: appGUI/ObjectUI.py:2802 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:189 msgid "Font Size" msgstr "Tamaño de Fuente" -#: appGUI/ObjectUI.py:2781 +#: appGUI/ObjectUI.py:2838 msgid "Alignment" msgstr "Alineación" -#: appGUI/ObjectUI.py:2786 +#: appGUI/ObjectUI.py:2843 msgid "Align Left" msgstr "Alinear a la izquierda" -#: appGUI/ObjectUI.py:2791 app_Main.py:4993 +#: appGUI/ObjectUI.py:2848 app_Main.py:4993 msgid "Center" msgstr "Centrar" -#: appGUI/ObjectUI.py:2796 +#: appGUI/ObjectUI.py:2853 msgid "Align Right" msgstr "Alinear a la derecha" -#: appGUI/ObjectUI.py:2801 +#: appGUI/ObjectUI.py:2858 msgid "Justify" msgstr "Alinear Justificar" -#: appGUI/ObjectUI.py:2808 +#: appGUI/ObjectUI.py:2865 msgid "Font Color" msgstr "Color de Fuente" -#: appGUI/ObjectUI.py:2810 +#: appGUI/ObjectUI.py:2867 msgid "Set the font color for the selected text" msgstr "Establecer el color de fuente para el texto seleccionado" -#: appGUI/ObjectUI.py:2824 +#: appGUI/ObjectUI.py:2881 msgid "Selection Color" msgstr "Color de seleccion" -#: appGUI/ObjectUI.py:2826 +#: appGUI/ObjectUI.py:2883 msgid "Set the selection color when doing text selection." msgstr "Establezca el color de selección al hacer la selección de texto." -#: appGUI/ObjectUI.py:2840 +#: appGUI/ObjectUI.py:2897 msgid "Tab Size" msgstr "Tamaño de Pestaña" -#: appGUI/ObjectUI.py:2842 +#: appGUI/ObjectUI.py:2899 msgid "Set the tab size. In pixels. Default value is 80 pixels." msgstr "" "Establece el tamaño de la pestaña. En píxeles El valor predeterminado es 80 " @@ -8281,41 +8303,41 @@ msgstr "" "No se pudo anotar debido a una diferencia entre el número de elementos de " "texto y el número de posiciones de texto." -#: appGUI/preferences/PreferencesUIManager.py:905 +#: appGUI/preferences/PreferencesUIManager.py:906 msgid "Preferences applied." msgstr "Preferencias aplicadas." -#: appGUI/preferences/PreferencesUIManager.py:925 +#: appGUI/preferences/PreferencesUIManager.py:926 msgid "Are you sure you want to continue?" msgstr "¿Estás seguro de que quieres continuar?" -#: appGUI/preferences/PreferencesUIManager.py:926 +#: appGUI/preferences/PreferencesUIManager.py:927 msgid "Application will restart" msgstr "La aplicación se reiniciará" -#: appGUI/preferences/PreferencesUIManager.py:1024 +#: appGUI/preferences/PreferencesUIManager.py:1025 msgid "Preferences closed without saving." msgstr "Preferencias cerradas sin guardar." -#: appGUI/preferences/PreferencesUIManager.py:1036 +#: appGUI/preferences/PreferencesUIManager.py:1037 msgid "Preferences default values are restored." msgstr "Se restauran los valores predeterminados de las preferencias." -#: appGUI/preferences/PreferencesUIManager.py:1067 app_Main.py:2622 +#: appGUI/preferences/PreferencesUIManager.py:1068 app_Main.py:2622 #: app_Main.py:2690 msgid "Failed to write defaults to file." msgstr "Error al escribir los valores predeterminados en el archivo." -#: appGUI/preferences/PreferencesUIManager.py:1071 -#: appGUI/preferences/PreferencesUIManager.py:1185 +#: appGUI/preferences/PreferencesUIManager.py:1072 +#: appGUI/preferences/PreferencesUIManager.py:1186 msgid "Preferences saved." msgstr "Preferencias guardadas." -#: appGUI/preferences/PreferencesUIManager.py:1121 +#: appGUI/preferences/PreferencesUIManager.py:1122 msgid "Preferences edited but not saved." msgstr "Preferencias editadas pero no guardadas." -#: appGUI/preferences/PreferencesUIManager.py:1170 +#: appGUI/preferences/PreferencesUIManager.py:1171 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" @@ -8666,7 +8688,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:55 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:134 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:117 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:123 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:121 msgid "New Dia" msgstr "Nuevo dia" @@ -9103,7 +9125,7 @@ msgstr "MetaHeuristic" #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:171 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:175 #: appObjects/FlatCAMExcellon.py:154 appObjects/FlatCAMGeometry.py:565 -#: appObjects/FlatCAMGerber.py:171 appTools/ToolDrilling.py:306 +#: appObjects/FlatCAMGerber.py:174 appTools/ToolDrilling.py:306 #: appTools/ToolIsolation.py:246 appTools/ToolMilling.py:294 msgid "Basic" msgstr "BASIC" @@ -9328,7 +9350,7 @@ msgstr "" "e incluye las pestañas Proyecto, Seleccionado y Herramienta." #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:214 -#: appTools/ToolDblSided.py:673 appTools/ToolDblSided.py:847 +#: appTools/ToolDblSided.py:666 appTools/ToolDblSided.py:838 msgid "Axis" msgstr "Eje" @@ -9657,7 +9679,7 @@ msgstr "" #: appGUI/preferences/general/GeneralAppPrefGroupUI.py:105 #: appObjects/FlatCAMExcellon.py:163 appObjects/FlatCAMGeometry.py:586 -#: appObjects/FlatCAMGerber.py:179 appTools/ToolDrilling.py:310 +#: appObjects/FlatCAMGerber.py:182 appTools/ToolDrilling.py:310 #: appTools/ToolIsolation.py:273 appTools/ToolMilling.py:305 msgid "Advanced" msgstr "Avanzado" @@ -10296,7 +10318,7 @@ msgstr "" #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:75 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:41 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:41 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:48 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:46 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:42 msgid "Tools Dia" msgstr "Diá. de Herram" @@ -10305,7 +10327,7 @@ msgstr "Diá. de Herram" #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:108 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:43 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:43 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:50 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:48 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:44 msgid "" "Diameters of the tools, separated by comma.\n" @@ -10419,12 +10441,12 @@ msgid "\"Follow\"" msgstr "\"Seguir\"" #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:64 -#: appObjects/FlatCAMGerber.py:367 appTools/ToolCopperThieving.py:581 +#: appObjects/FlatCAMGerber.py:370 appTools/ToolCopperThieving.py:581 #: appTools/ToolCopperThieving.py:770 appTools/ToolCopperThieving.py:782 -#: appTools/ToolIsolation.py:1353 appTools/ToolNCC.py:1744 -#: appTools/ToolNCC.py:1771 appTools/ToolNCC.py:1879 appTools/ToolNCC.py:1892 -#: appTools/ToolNCC.py:2738 appTools/ToolNCC.py:2843 appTools/ToolNCC.py:2858 -#: appTools/ToolNCC.py:3124 appTools/ToolNCC.py:3225 appTools/ToolNCC.py:3240 +#: appTools/ToolIsolation.py:1353 appTools/ToolNCC.py:1791 +#: appTools/ToolNCC.py:1818 appTools/ToolNCC.py:1926 appTools/ToolNCC.py:1939 +#: appTools/ToolNCC.py:2785 appTools/ToolNCC.py:2890 appTools/ToolNCC.py:2905 +#: appTools/ToolNCC.py:3171 appTools/ToolNCC.py:3272 appTools/ToolNCC.py:3287 #: camlib.py:1113 msgid "Buffering" msgstr "Tamponamiento" @@ -10446,9 +10468,9 @@ msgstr "" #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:71 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:88 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:196 -#: appObjects/FlatCAMObj.py:752 appObjects/FlatCAMObj.py:755 -#: appObjects/FlatCAMObj.py:758 appObjects/FlatCAMObj.py:786 -#: appObjects/FlatCAMObj.py:793 appObjects/FlatCAMObj.py:796 +#: appObjects/FlatCAMObj.py:755 appObjects/FlatCAMObj.py:758 +#: appObjects/FlatCAMObj.py:761 appObjects/FlatCAMObj.py:789 +#: appObjects/FlatCAMObj.py:796 appObjects/FlatCAMObj.py:799 #: appTools/ToolFiducials.py:815 appTools/ToolFilm.py:1102 #: appTools/ToolProperties.py:453 appTools/ToolProperties.py:456 #: appTools/ToolProperties.py:459 appTools/ToolProperties.py:487 @@ -10753,9 +10775,9 @@ msgstr "" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:86 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:309 -#: appTools/ToolCopperThieving.py:1218 appTools/ToolNCC.py:1302 -#: appTools/ToolNCC.py:1618 appTools/ToolNCC.py:1682 appTools/ToolNCC.py:2602 -#: appTools/ToolNCC.py:2611 appTools/ToolNCC.py:4193 appTools/ToolNCC.py:4319 +#: appTools/ToolCopperThieving.py:1218 appTools/ToolNCC.py:1349 +#: appTools/ToolNCC.py:1665 appTools/ToolNCC.py:1729 appTools/ToolNCC.py:2649 +#: appTools/ToolNCC.py:2658 appTools/ToolNCC.py:4240 appTools/ToolNCC.py:4376 #: defaults.py:475 tclCommands/TclCommandCopperClear.py:190 msgid "Itself" msgstr "Sí mismo" @@ -10763,11 +10785,11 @@ msgstr "Sí mismo" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:87 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:295 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:309 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:278 #: appTools/ToolCopperThieving.py:1219 appTools/ToolIsolation.py:819 #: appTools/ToolIsolation.py:1435 appTools/ToolIsolation.py:3378 -#: appTools/ToolNCC.py:1316 appTools/ToolNCC.py:1634 appTools/ToolNCC.py:1689 -#: appTools/ToolNCC.py:4193 appTools/ToolNCC.py:4329 appTools/ToolPaint.py:1061 +#: appTools/ToolNCC.py:1363 appTools/ToolNCC.py:1681 appTools/ToolNCC.py:1736 +#: appTools/ToolNCC.py:4240 appTools/ToolNCC.py:4386 appTools/ToolPaint.py:1061 #: appTools/ToolPaint.py:3127 appTools/ToolPaint.py:3249 msgid "Area Selection" msgstr "Selección de área" @@ -10775,12 +10797,12 @@ msgstr "Selección de área" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:88 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:295 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:309 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 -#: appTools/ToolCopperThieving.py:1220 appTools/ToolDblSided.py:764 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:278 +#: appTools/ToolCopperThieving.py:1220 appTools/ToolDblSided.py:757 #: appTools/ToolIsolation.py:1475 appTools/ToolIsolation.py:3378 -#: appTools/ToolNCC.py:1335 appTools/ToolNCC.py:1640 appTools/ToolNCC.py:1697 -#: appTools/ToolNCC.py:2075 appTools/ToolNCC.py:2309 appTools/ToolNCC.py:2647 -#: appTools/ToolNCC.py:4193 appTools/ToolPaint.py:1080 +#: appTools/ToolNCC.py:1382 appTools/ToolNCC.py:1687 appTools/ToolNCC.py:1744 +#: appTools/ToolNCC.py:2122 appTools/ToolNCC.py:2356 appTools/ToolNCC.py:2694 +#: appTools/ToolNCC.py:4240 appTools/ToolPaint.py:1080 #: appTools/ToolPaint.py:3127 appTools/ToolPaint.py:3232 #: tclCommands/TclCommandCopperClear.py:192 tclCommands/TclCommandPaint.py:166 msgid "Reference Object" @@ -11834,7 +11856,7 @@ msgid "Drill dia" msgstr "Diá. del taladro" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:49 -#: appTools/ToolDblSided.py:833 appTools/ToolDblSided.py:838 +#: appTools/ToolDblSided.py:824 appTools/ToolDblSided.py:829 msgid "Diameter of the drill for the alignment holes." msgstr "Diámetro del taladro para los orificios de alineación." @@ -11844,7 +11866,7 @@ msgstr "Alinear eje" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:58 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:71 -#: appTools/ToolDblSided.py:674 appTools/ToolDblSided.py:849 +#: appTools/ToolDblSided.py:667 appTools/ToolDblSided.py:840 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "Espejo verticalmente (X) u horizontal (Y)." @@ -11853,12 +11875,12 @@ msgid "Mirror Axis:" msgstr "Eje del espejo:" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:86 -#: appTools/ToolDblSided.py:700 +#: appTools/ToolDblSided.py:693 msgid "Box" msgstr "Caja" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:87 -#: appTools/ToolDblSided.py:701 +#: appTools/ToolDblSided.py:694 #, fuzzy #| msgid "Hole Size" msgid "Hole Snap" @@ -12127,9 +12149,9 @@ msgstr "Crear geometría para fresar agujeros." #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:41 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:54 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:156 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:142 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:140 #: appTools/ToolDrilling.py:2082 appTools/ToolIsolation.py:3058 -#: appTools/ToolMilling.py:1687 appTools/ToolNCC.py:3820 +#: appTools/ToolMilling.py:1687 appTools/ToolNCC.py:3867 #: appTools/ToolPaint.py:2843 msgid "Tool order" msgstr "Orden de la Herram" @@ -12138,10 +12160,10 @@ msgstr "Orden de la Herram" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:55 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:157 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:167 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:143 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:141 #: appTools/ToolDrilling.py:2083 appTools/ToolIsolation.py:3059 -#: appTools/ToolMilling.py:1688 appTools/ToolNCC.py:3821 -#: appTools/ToolNCC.py:3831 appTools/ToolPaint.py:2844 +#: appTools/ToolMilling.py:1688 appTools/ToolNCC.py:3868 +#: appTools/ToolNCC.py:3878 appTools/ToolPaint.py:2844 #: appTools/ToolPaint.py:2854 msgid "" "This set the way that the tools in the tools table are used.\n" @@ -12166,9 +12188,9 @@ msgstr "" #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:50 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:63 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:165 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:151 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:149 #: appTools/ToolDrilling.py:2091 appTools/ToolIsolation.py:3067 -#: appTools/ToolMilling.py:1696 appTools/ToolNCC.py:3829 +#: appTools/ToolMilling.py:1696 appTools/ToolNCC.py:3876 #: appTools/ToolPaint.py:2852 msgid "Forward" msgstr "Adelante" @@ -12176,9 +12198,9 @@ msgstr "Adelante" #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:51 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:64 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:166 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:152 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:150 #: appTools/ToolDrilling.py:2092 appTools/ToolIsolation.py:3068 -#: appTools/ToolMilling.py:1697 appTools/ToolNCC.py:3830 +#: appTools/ToolMilling.py:1697 appTools/ToolNCC.py:3877 #: appTools/ToolPaint.py:2853 msgid "Reverse" msgstr "Atras" @@ -12482,7 +12504,7 @@ msgstr "Opc. de Herram. de Aislamiento" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:48 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:49 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:57 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:55 msgid "Comma separated values" msgstr "Valores Separados por Comas" @@ -12490,7 +12512,7 @@ msgstr "Valores Separados por Comas" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:80 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:55 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:63 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:64 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:62 msgid "" "Default tool type:\n" "- 'V-shape'\n" @@ -12502,7 +12524,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:77 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:60 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:69 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 msgid "V-shape" msgstr "Forma V" @@ -12527,7 +12549,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:136 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:119 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:125 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:123 #: appTools/ToolPaint.py:2884 msgid "" "Diameter for the new tool to add in the Tool Table.\n" @@ -12540,9 +12562,9 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:243 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:288 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:244 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:245 -#: appTools/ToolIsolation.py:3286 appTools/ToolNCC.py:4115 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:242 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:243 +#: appTools/ToolIsolation.py:3286 appTools/ToolNCC.py:4162 #: appTools/ToolPaint.py:3069 msgid "Rest" msgstr "Resto" @@ -12594,12 +12616,14 @@ msgstr "" "será restado de la geometría de aislamiento." #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:275 -#: appTools/ToolIsolation.py:3320 +#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:350 +#: appTools/ToolIsolation.py:3320 appTools/ToolNCC.py:4298 msgid "Check validity" msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:277 -#: appTools/ToolIsolation.py:3322 +#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:352 +#: appTools/ToolIsolation.py:3322 appTools/ToolNCC.py:4300 msgid "" "If checked then the tools diameters are verified\n" "if they will provide a complete isolation." @@ -12621,7 +12645,7 @@ msgstr "" "- 'Objeto de referencia': procesará el área especificada por otro objeto." #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:295 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:278 #: appTools/ToolIsolation.py:831 appTools/ToolIsolation.py:1454 #: appTools/ToolIsolation.py:3378 appTools/ToolPaint.py:1038 #: appTools/ToolPaint.py:3127 appTools/ToolPaint.py:3243 @@ -12664,20 +12688,20 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:337 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:339 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:303 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:301 msgid "Normal" msgstr "Normal" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:338 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:340 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:304 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:302 msgid "Progressive" msgstr "Progresivo" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:339 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:341 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:305 -#: appObjects/AppObject.py:439 appObjects/FlatCAMObj.py:266 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:303 +#: appObjects/AppObject.py:453 appObjects/FlatCAMObj.py:266 #: appObjects/FlatCAMObj.py:297 appObjects/FlatCAMObj.py:313 #: appObjects/FlatCAMObj.py:393 appTools/ToolCopperThieving.py:1038 #: appTools/ToolCorners.py:263 appTools/ToolFiducials.py:530 @@ -12687,7 +12711,7 @@ msgstr "Trazado" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:341 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:343 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:307 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:305 msgid "" "- 'Normal' - normal plotting, done at the end of the job\n" "- 'Progressive' - each shape is plotted after it is generated" @@ -12723,7 +12747,7 @@ msgstr "" "de las características de cobre.\n" "El valor puede estar entre 0 y 9999.9 unidades FlatCAM." -#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:290 appTools/ToolNCC.py:4119 +#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:290 appTools/ToolNCC.py:4166 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -12742,7 +12766,7 @@ msgstr "" "no más cobre para limpiar o no hay más herramientas.\n" "Si no está marcado, use el algoritmo estándar." -#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:313 appTools/ToolNCC.py:4199 +#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:313 appTools/ToolNCC.py:4246 msgid "" "Selection of area to be processed.\n" "- 'Itself' - the processing extent is based on the object that is " @@ -12766,8 +12790,8 @@ msgstr "Opc. de herra. de pintura" msgid "Parameters:" msgstr "Parámetros:" -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:107 -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:116 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:105 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:114 msgid "" "Depth of cut into material. Negative value.\n" "In application units." @@ -12775,7 +12799,7 @@ msgstr "" "Profundidad de corte en el material. Valor negativo.\n" "En unidades de aplicación." -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:247 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:245 #: appTools/ToolPaint.py:3072 msgid "" "If checked, use 'rest machining'.\n" @@ -12797,7 +12821,7 @@ msgstr "" "\n" "Si no está marcado, use el algoritmo estándar." -#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:260 +#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:258 #: appTools/ToolPaint.py:3099 msgid "" "Selection of area to be processed.\n" @@ -12879,16 +12903,16 @@ msgstr "Número de filas del panel deseado" #: appTools/ToolCalibration.py:891 appTools/ToolCalibration.py:1326 #: appTools/ToolCalibration.py:1343 appTools/ToolCopperThieving.py:163 #: appTools/ToolCopperThieving.py:1237 appTools/ToolCopperThieving.py:1251 -#: appTools/ToolCutOut.py:2009 appTools/ToolDblSided.py:528 -#: appTools/ToolDblSided.py:772 appTools/ToolFilm.py:928 +#: appTools/ToolCutOut.py:2009 appTools/ToolDblSided.py:525 +#: appTools/ToolDblSided.py:765 appTools/ToolFilm.py:928 #: appTools/ToolFilm.py:951 appTools/ToolImage.py:117 appTools/ToolImage.py:138 #: appTools/ToolImage.py:191 appTools/ToolIsolation.py:802 #: appTools/ToolIsolation.py:3339 appTools/ToolIsolation.py:3391 -#: appTools/ToolNCC.py:793 appTools/ToolNCC.py:3742 appTools/ToolNCC.py:4216 +#: appTools/ToolNCC.py:803 appTools/ToolNCC.py:3789 appTools/ToolNCC.py:4263 #: appTools/ToolPaint.py:167 appTools/ToolPaint.py:3143 #: appTools/ToolPanelize.py:147 appTools/ToolPanelize.py:167 #: appTools/ToolPanelize.py:715 appTools/ToolPanelize.py:809 -#: appTools/ToolTransform.py:126 appTools/ToolTransform.py:585 defaults.py:566 +#: appTools/ToolTransform.py:126 appTools/ToolTransform.py:585 defaults.py:567 msgid "Gerber" msgstr "Gerber" @@ -13363,39 +13387,39 @@ msgstr "Asociaciones de archivos GCode" msgid "Gerber File associations" msgstr "Asociaciones de archivos Gerber" -#: appObjects/AppObject.py:157 +#: appObjects/AppObject.py:165 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" "\n" msgstr "El objeto ({kind}) falló porque: {error}\n" -#: appObjects/AppObject.py:176 +#: appObjects/AppObject.py:184 msgid "Converting units to " msgstr "Convertir unidades a " -#: appObjects/AppObject.py:248 appObjects/FlatCAMGeometry.py:128 +#: appObjects/AppObject.py:259 appObjects/FlatCAMGeometry.py:128 #: appObjects/FlatCAMGeometry.py:519 appObjects/FlatCAMGeometry.py:1053 -#: appObjects/FlatCAMGerber.py:539 appObjects/FlatCAMGerber.py:682 +#: appObjects/FlatCAMGerber.py:542 appObjects/FlatCAMGerber.py:685 #: appTools/ToolCutOut.py:448 appTools/ToolIsolation.py:1623 #: appTools/ToolIsolation.py:1785 appTools/ToolIsolation.py:1978 camlib.py:1231 #: camlib.py:1292 msgid "Rough" msgstr "Áspero" -#: appObjects/AppObject.py:302 +#: appObjects/AppObject.py:313 msgid "CREATE A NEW FLATCAM TCL SCRIPT" msgstr "CREA UN NUEVO SCRIPT FLATCAM TCL" -#: appObjects/AppObject.py:303 +#: appObjects/AppObject.py:314 msgid "TCL Tutorial is here" msgstr "TCL Tutorial está aquí" -#: appObjects/AppObject.py:305 +#: appObjects/AppObject.py:316 msgid "FlatCAM commands list" msgstr "Lista de comandos de FlatCAM" -#: appObjects/AppObject.py:306 +#: appObjects/AppObject.py:317 msgid "" "Type >help< followed by Run Code for a list of FlatCAM Tcl Commands " "(displayed in Tcl Shell)." @@ -13403,33 +13427,39 @@ msgstr "" "Escriba> help Basic" msgstr "Basic" -#: appObjects/FlatCAMCNCJob.py:643 appObjects/FlatCAMDocument.py:75 +#: appObjects/FlatCAMCNCJob.py:644 appObjects/FlatCAMDocument.py:75 #: appObjects/FlatCAMScript.py:86 msgid "Advanced" msgstr "Avanzado" -#: appObjects/FlatCAMCNCJob.py:803 +#: appObjects/FlatCAMCNCJob.py:780 appObjects/FlatCAMCNCJob.py:1058 +msgid "" +"Voronoi function can not be loaded.\n" +"Shapely >= 1.8 is required" +msgstr "" + +#: appObjects/FlatCAMCNCJob.py:808 #, fuzzy #| msgid "Click on Start point ..." msgid "Click on canvas to add a Probe Point..." msgstr "Haga clic en el punto de inicio ..." -#: appObjects/FlatCAMCNCJob.py:999 +#: appObjects/FlatCAMCNCJob.py:1004 msgid "Point is not within the object area. Choose another point." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1019 +#: appObjects/FlatCAMCNCJob.py:1024 #, fuzzy #| msgid "" #| "Zone added. Click to start adding next zone or right click to finish." @@ -13440,139 +13470,139 @@ msgstr "" "Zona agregada. Haga clic para comenzar a agregar la siguiente zona o haga " "clic con el botón derecho para finalizar." -#: appObjects/FlatCAMCNCJob.py:1041 +#: appObjects/FlatCAMCNCJob.py:1046 #, fuzzy #| msgid "Finished G-Code processing..." msgid "Finished adding Probe Points..." msgstr "Procesamiento de código G terminado ..." -#: appObjects/FlatCAMCNCJob.py:1251 +#: appObjects/FlatCAMCNCJob.py:1260 #, fuzzy #| msgid "Click to place ..." msgid "COM list updated ..." msgstr "Haga clic para colocar ..." -#: appObjects/FlatCAMCNCJob.py:1287 +#: appObjects/FlatCAMCNCJob.py:1296 #, fuzzy #| msgid "Connect" msgid "Connected" msgstr "Conectar" -#: appObjects/FlatCAMCNCJob.py:1298 +#: appObjects/FlatCAMCNCJob.py:1307 msgid "Port connected" msgstr "" -#: appObjects/FlatCAMCNCJob.py:1302 +#: appObjects/FlatCAMCNCJob.py:1311 msgid "Could not connect to GRBL on port" msgstr "" -#: appObjects/FlatCAMCNCJob.py:1319 +#: appObjects/FlatCAMCNCJob.py:1328 msgid "Port is connected. Disconnecting" msgstr "" -#: appObjects/FlatCAMCNCJob.py:1321 +#: appObjects/FlatCAMCNCJob.py:1330 #, fuzzy #| msgid "Could not retrieve box object" msgid "Could not connect to port" msgstr "No se pudo recuperar el objeto" -#: appObjects/FlatCAMCNCJob.py:1351 appObjects/FlatCAMCNCJob.py:1781 +#: appObjects/FlatCAMCNCJob.py:1360 appObjects/FlatCAMCNCJob.py:1790 #, fuzzy #| msgid "Opening G-Code." msgid "Sending GCode..." msgstr "Apertura del código G." -#: appObjects/FlatCAMCNCJob.py:1480 +#: appObjects/FlatCAMCNCJob.py:1489 msgid "GRBL is doing a home cycle." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1486 +#: appObjects/FlatCAMCNCJob.py:1495 msgid "GRBL software reset was sent." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1494 +#: appObjects/FlatCAMCNCJob.py:1503 msgid "GRBL resumed." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1498 +#: appObjects/FlatCAMCNCJob.py:1507 msgid "GRBL paused." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1640 appObjects/FlatCAMCNCJob.py:1830 -#: appObjects/FlatCAMCNCJob.py:1915 appTools/ToolSolderPaste.py:1066 +#: appObjects/FlatCAMCNCJob.py:1649 appObjects/FlatCAMCNCJob.py:1839 +#: appObjects/FlatCAMCNCJob.py:1924 appTools/ToolSolderPaste.py:1066 msgid "Export cancelled ..." msgstr "Exportación cancelada ..." -#: appObjects/FlatCAMCNCJob.py:1664 appObjects/FlatCAMCNCJob.py:1951 +#: appObjects/FlatCAMCNCJob.py:1673 appObjects/FlatCAMCNCJob.py:1960 #: appObjects/FlatCAMScript.py:134 app_Main.py:7824 msgid "Loading..." msgstr "Cargando..." -#: appObjects/FlatCAMCNCJob.py:1668 +#: appObjects/FlatCAMCNCJob.py:1677 #, fuzzy #| msgid "There is no such parameter" msgid "There is nothing to view" msgstr "No hay tal parámetro" -#: appObjects/FlatCAMCNCJob.py:1674 +#: appObjects/FlatCAMCNCJob.py:1683 #, fuzzy #| msgid "Gcode Viewer" msgid "Code Viewer" msgstr "Visor de Gcode" -#: appObjects/FlatCAMCNCJob.py:1712 +#: appObjects/FlatCAMCNCJob.py:1721 #, fuzzy #| msgid "Loaded Machine Code into Code Editor" msgid "Loaded Machine Code into Code Viewer" msgstr "Código de máquina cargado en el editor de código" -#: appObjects/FlatCAMCNCJob.py:1757 +#: appObjects/FlatCAMCNCJob.py:1766 #, fuzzy #| msgid "Failed to open config file" msgid "Failed to open height map file" msgstr "Error al abrir el archivo de configuración" -#: appObjects/FlatCAMCNCJob.py:1807 +#: appObjects/FlatCAMCNCJob.py:1816 msgid "Finished probing. Doing the autolevelling." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1812 +#: appObjects/FlatCAMCNCJob.py:1821 msgid "Sending probing GCode to the GRBL controller." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1853 +#: appObjects/FlatCAMCNCJob.py:1862 msgid "Empty GRBL heightmap." msgstr "" -#: appObjects/FlatCAMCNCJob.py:1857 +#: appObjects/FlatCAMCNCJob.py:1866 #, fuzzy #| msgid "Finished G-Code processing..." msgid "Finished autolevelling." msgstr "Procesamiento de código G terminado ..." -#: appObjects/FlatCAMCNCJob.py:1871 +#: appObjects/FlatCAMCNCJob.py:1880 msgid "Plotting..." msgstr "Trazando ..." -#: appObjects/FlatCAMCNCJob.py:1941 +#: appObjects/FlatCAMCNCJob.py:1950 msgid "File saved to" msgstr "Archivo guardado en" -#: appObjects/FlatCAMCNCJob.py:1965 +#: appObjects/FlatCAMCNCJob.py:1974 #, fuzzy #| msgid "Gcode Viewer" msgid "Code Review" msgstr "Visor de Gcode" -#: appObjects/FlatCAMCNCJob.py:2148 +#: appObjects/FlatCAMCNCJob.py:2157 msgid "This CNCJob object can't be processed because it is a" msgstr "Este objeto CNCJob no se puede procesar porque es un" -#: appObjects/FlatCAMCNCJob.py:2150 +#: appObjects/FlatCAMCNCJob.py:2159 msgid "CNCJob object" msgstr "Objeto CNCJob" -#: appObjects/FlatCAMCNCJob.py:2260 +#: appObjects/FlatCAMCNCJob.py:2269 msgid "" "G-code does not have a G94 code.\n" "Append Code snippet will not be used.." @@ -13582,41 +13612,41 @@ msgstr "" msgid "Document Editor" msgstr "Editor de Documentos" -#: appObjects/FlatCAMExcellon.py:872 appObjects/FlatCAMExcellon.py:980 +#: appObjects/FlatCAMExcellon.py:874 appObjects/FlatCAMExcellon.py:982 #: appTools/ToolDrilling.py:1612 appTools/ToolMilling.py:1038 #: appTools/ToolMilling.py:1154 appTools/ToolMilling.py:1340 msgid "Please select one or more tools from the list and try again." msgstr "" "Por favor seleccione una o más herramientas de la lista e intente nuevamente." -#: appObjects/FlatCAMExcellon.py:877 appTools/ToolMilling.py:1045 +#: appObjects/FlatCAMExcellon.py:879 appTools/ToolMilling.py:1045 msgid "Milling tool for DRILLS is larger than hole size. Cancelled." msgstr "" "La herramienta de fresado para TALADRO es más grande que el tamaño del " "orificio. Cancelado." -#: appObjects/FlatCAMExcellon.py:900 appObjects/FlatCAMExcellon.py:1000 +#: appObjects/FlatCAMExcellon.py:902 appObjects/FlatCAMExcellon.py:1002 #: appTools/ToolDrilling.py:1762 appTools/ToolDrilling.py:1827 #: appTools/ToolMilling.py:1071 appTools/ToolMilling.py:1175 #: appTools/ToolMilling.py:1360 tclCommands/TclCommandDrillcncjob.py:195 msgid "Tool_nr" msgstr "Herramienta_nu" -#: appObjects/FlatCAMExcellon.py:900 appObjects/FlatCAMExcellon.py:1000 +#: appObjects/FlatCAMExcellon.py:902 appObjects/FlatCAMExcellon.py:1002 #: appTools/ToolDrilling.py:1762 appTools/ToolDrilling.py:1827 #: appTools/ToolMilling.py:1071 appTools/ToolMilling.py:1175 #: appTools/ToolMilling.py:1360 tclCommands/TclCommandDrillcncjob.py:195 msgid "Drills_Nr" msgstr "Taladros_nu" -#: appObjects/FlatCAMExcellon.py:900 appObjects/FlatCAMExcellon.py:1000 +#: appObjects/FlatCAMExcellon.py:902 appObjects/FlatCAMExcellon.py:1002 #: appTools/ToolDrilling.py:1762 appTools/ToolDrilling.py:1827 #: appTools/ToolMilling.py:1071 appTools/ToolMilling.py:1175 #: appTools/ToolMilling.py:1360 tclCommands/TclCommandDrillcncjob.py:195 msgid "Slots_Nr" msgstr "Ranuras_nu" -#: appObjects/FlatCAMExcellon.py:989 appTools/ToolMilling.py:1163 +#: appObjects/FlatCAMExcellon.py:991 appTools/ToolMilling.py:1163 msgid "Milling tool for SLOTS is larger than hole size. Cancelled." msgstr "" "La herramienta de fresado para SLOTS es más grande que el tamaño del " @@ -13637,7 +13667,7 @@ msgstr "Terminar" #: appTools/ToolIsolation.py:531 appTools/ToolIsolation.py:644 #: appTools/ToolIsolation.py:710 appTools/ToolMilling.py:628 #: appTools/ToolMilling.py:749 appTools/ToolMilling.py:794 -#: appTools/ToolNCC.py:271 appTools/ToolNCC.py:337 appTools/ToolNCC.py:701 +#: appTools/ToolNCC.py:276 appTools/ToolNCC.py:342 appTools/ToolNCC.py:711 #: appTools/ToolPaint.py:252 appTools/ToolPaint.py:316 #: appTools/ToolPaint.py:655 msgid "Multiple Tools" @@ -13651,7 +13681,7 @@ msgstr "Agregar desde la DB de herramientas" #: appTools/ToolDrilling.py:754 appTools/ToolDrilling.py:983 #: appTools/ToolDrilling.py:1021 appTools/ToolIsolation.py:639 #: appTools/ToolIsolation.py:674 appTools/ToolMilling.py:744 -#: appTools/ToolMilling.py:779 appTools/ToolNCC.py:266 appTools/ToolNCC.py:301 +#: appTools/ToolMilling.py:779 appTools/ToolNCC.py:271 appTools/ToolNCC.py:306 #: appTools/ToolPaint.py:247 appTools/ToolPaint.py:282 app_Main.py:2188 msgid "No Tool Selected" msgstr "Ninguna herramienta seleccionada" @@ -13806,31 +13836,31 @@ msgstr "Eliminar falló. No hay áreas de exclusión para eliminar." msgid "Delete failed. Nothing is selected." msgstr "Eliminar falló. Nada es seleccionado." -#: appObjects/FlatCAMGerber.py:364 appTools/ToolIsolation.py:1337 +#: appObjects/FlatCAMGerber.py:367 appTools/ToolIsolation.py:1337 msgid "Buffering solid geometry" msgstr "Amortiguación de geometría sólida" -#: appObjects/FlatCAMGerber.py:371 appTools/ToolIsolation.py:1359 +#: appObjects/FlatCAMGerber.py:374 appTools/ToolIsolation.py:1359 msgid "Done" msgstr "Hecho" -#: appObjects/FlatCAMGerber.py:397 appObjects/FlatCAMGerber.py:423 +#: appObjects/FlatCAMGerber.py:400 appObjects/FlatCAMGerber.py:426 msgid "Operation could not be done." msgstr "La operación no se pudo hacer." -#: appObjects/FlatCAMGerber.py:555 appObjects/FlatCAMGerber.py:629 +#: appObjects/FlatCAMGerber.py:558 appObjects/FlatCAMGerber.py:632 #: appTools/ToolIsolation.py:1583 appTools/ToolIsolation.py:1951 -#: appTools/ToolNCC.py:1807 appTools/ToolNCC.py:2772 appTools/ToolNCC.py:3151 +#: appTools/ToolNCC.py:1854 appTools/ToolNCC.py:2819 appTools/ToolNCC.py:3198 msgid "Isolation geometry could not be generated." msgstr "La geometría de aislamiento no se pudo generar." -#: appObjects/FlatCAMGerber.py:580 appObjects/FlatCAMGerber.py:707 +#: appObjects/FlatCAMGerber.py:583 appObjects/FlatCAMGerber.py:710 #: appTools/ToolIsolation.py:1650 appTools/ToolIsolation.py:1846 #: appTools/ToolIsolation.py:2035 msgid "Isolation geometry created" msgstr "Geometría de aislamiento creada" -#: appObjects/FlatCAMGerber.py:989 +#: appObjects/FlatCAMGerber.py:992 msgid "Plotting Apertures" msgstr "Aperturas de trazado" @@ -13870,82 +13900,82 @@ msgstr "Dimensiones" msgid "Calculating dimensions ... Please wait." msgstr "Calculando dimensiones ... Por favor espere." -#: appObjects/FlatCAMObj.py:721 appObjects/FlatCAMObj.py:789 +#: appObjects/FlatCAMObj.py:724 appObjects/FlatCAMObj.py:792 #: appTools/ToolProperties.py:422 appTools/ToolProperties.py:490 msgid "Drills number" msgstr "Número de taladros" -#: appObjects/FlatCAMObj.py:722 appObjects/FlatCAMObj.py:791 +#: appObjects/FlatCAMObj.py:725 appObjects/FlatCAMObj.py:794 #: appTools/ToolProperties.py:423 appTools/ToolProperties.py:492 msgid "Slots number" msgstr "Número de tragamonedas" -#: appObjects/FlatCAMObj.py:724 appTools/ToolProperties.py:425 +#: appObjects/FlatCAMObj.py:727 appTools/ToolProperties.py:425 msgid "Drills total number:" msgstr "Número total de taladros:" -#: appObjects/FlatCAMObj.py:725 appTools/ToolProperties.py:426 +#: appObjects/FlatCAMObj.py:728 appTools/ToolProperties.py:426 msgid "Slots total number:" msgstr "Número total de tragamonedas:" -#: appObjects/FlatCAMObj.py:752 appObjects/FlatCAMObj.py:755 -#: appObjects/FlatCAMObj.py:758 appObjects/FlatCAMObj.py:786 -#: appObjects/FlatCAMObj.py:793 appObjects/FlatCAMObj.py:796 +#: appObjects/FlatCAMObj.py:755 appObjects/FlatCAMObj.py:758 +#: appObjects/FlatCAMObj.py:761 appObjects/FlatCAMObj.py:789 +#: appObjects/FlatCAMObj.py:796 appObjects/FlatCAMObj.py:799 #: appTools/ToolProperties.py:453 appTools/ToolProperties.py:456 #: appTools/ToolProperties.py:459 appTools/ToolProperties.py:487 #: appTools/ToolProperties.py:494 appTools/ToolProperties.py:497 msgid "Present" msgstr "Presente" -#: appObjects/FlatCAMObj.py:753 appObjects/FlatCAMObj.py:787 +#: appObjects/FlatCAMObj.py:756 appObjects/FlatCAMObj.py:790 #: appTools/ToolProperties.py:454 appTools/ToolProperties.py:488 msgid "Solid Geometry" msgstr "Geometria solida" -#: appObjects/FlatCAMObj.py:756 appObjects/FlatCAMObj.py:794 +#: appObjects/FlatCAMObj.py:759 appObjects/FlatCAMObj.py:797 #: appTools/ToolProperties.py:457 appTools/ToolProperties.py:495 msgid "GCode Text" msgstr "GCode texto" -#: appObjects/FlatCAMObj.py:759 appObjects/FlatCAMObj.py:797 +#: appObjects/FlatCAMObj.py:762 appObjects/FlatCAMObj.py:800 #: appTools/ToolProperties.py:460 appTools/ToolProperties.py:498 msgid "GCode Geometry" msgstr "Geometría GCode" -#: appObjects/FlatCAMObj.py:767 appObjects/FlatCAMObj.py:840 +#: appObjects/FlatCAMObj.py:770 appObjects/FlatCAMObj.py:843 #: appTools/ToolProperties.py:468 appTools/ToolProperties.py:541 #, fuzzy #| msgid "Tool Dia" msgid "Tool Data" msgstr "Diá. de Herram" -#: appObjects/FlatCAMObj.py:804 appTools/ToolProperties.py:505 +#: appObjects/FlatCAMObj.py:807 appTools/ToolProperties.py:505 msgid "Depth of Cut" msgstr "Profundidad del corte" -#: appObjects/FlatCAMObj.py:816 appTools/ToolProperties.py:517 +#: appObjects/FlatCAMObj.py:819 appTools/ToolProperties.py:517 msgid "Clearance Height" msgstr "Altura libre" -#: appObjects/FlatCAMObj.py:854 appTools/ToolProperties.py:555 +#: appObjects/FlatCAMObj.py:857 appTools/ToolProperties.py:555 msgid "Routing time" msgstr "Tiempo de enrutamiento" -#: appObjects/FlatCAMObj.py:879 appTools/ToolProperties.py:580 +#: appObjects/FlatCAMObj.py:882 appTools/ToolProperties.py:580 msgid "Width" msgstr "Anchura" -#: appObjects/FlatCAMObj.py:885 appObjects/FlatCAMObj.py:893 +#: appObjects/FlatCAMObj.py:888 appObjects/FlatCAMObj.py:896 #: appTools/ToolProperties.py:586 appTools/ToolProperties.py:594 msgid "Box Area" msgstr "Área de caja" -#: appObjects/FlatCAMObj.py:888 appObjects/FlatCAMObj.py:896 +#: appObjects/FlatCAMObj.py:891 appObjects/FlatCAMObj.py:899 #: appTools/ToolProperties.py:589 appTools/ToolProperties.py:597 msgid "Convex_Hull Area" msgstr "Área de casco convexo" -#: appObjects/FlatCAMObj.py:903 appObjects/FlatCAMObj.py:906 +#: appObjects/FlatCAMObj.py:906 appObjects/FlatCAMObj.py:909 #: appTools/ToolProperties.py:604 appTools/ToolProperties.py:607 msgid "Copper Area" msgstr "Área de cobre" @@ -14235,15 +14265,15 @@ msgstr "" #: appTools/ToolAlignObjects.py:498 appTools/ToolCalculators.py:372 #: appTools/ToolCalibration.py:1378 appTools/ToolCopperThieving.py:1577 #: appTools/ToolCorners.py:444 appTools/ToolCutOut.py:2394 -#: appTools/ToolDblSided.py:947 appTools/ToolDrilling.py:2649 +#: appTools/ToolDblSided.py:938 appTools/ToolDrilling.py:2649 #: appTools/ToolEtchCompensation.py:458 appTools/ToolExtractDrills.py:702 #: appTools/ToolFiducials.py:932 appTools/ToolFilm.py:1383 #: appTools/ToolInvertGerber.py:286 appTools/ToolIsolation.py:3477 -#: appTools/ToolMilling.py:2324 appTools/ToolNCC.py:4271 +#: appTools/ToolMilling.py:2324 appTools/ToolNCC.py:4328 #: appTools/ToolOptimal.py:593 appTools/ToolPaint.py:3194 #: appTools/ToolPanelize.py:889 appTools/ToolPunchGerber.py:993 #: appTools/ToolQRCode.py:904 appTools/ToolRulesCheck.py:1618 -#: appTools/ToolSolderPaste.py:1557 appTools/ToolSub.py:752 +#: appTools/ToolSolderPaste.py:1557 appTools/ToolSub.py:754 #: appTools/ToolTransform.py:920 msgid "Reset Tool" msgstr "Restablecer la Herramienta" @@ -14251,15 +14281,15 @@ msgstr "Restablecer la Herramienta" #: appTools/ToolAlignObjects.py:501 appTools/ToolCalculators.py:375 #: appTools/ToolCalibration.py:1381 appTools/ToolCopperThieving.py:1580 #: appTools/ToolCorners.py:447 appTools/ToolCutOut.py:2397 -#: appTools/ToolDblSided.py:950 appTools/ToolDrilling.py:2652 +#: appTools/ToolDblSided.py:941 appTools/ToolDrilling.py:2652 #: appTools/ToolEtchCompensation.py:461 appTools/ToolExtractDrills.py:705 #: appTools/ToolFiducials.py:935 appTools/ToolFilm.py:1386 #: appTools/ToolInvertGerber.py:289 appTools/ToolIsolation.py:3480 -#: appTools/ToolMilling.py:2327 appTools/ToolNCC.py:4274 +#: appTools/ToolMilling.py:2327 appTools/ToolNCC.py:4331 #: appTools/ToolOptimal.py:596 appTools/ToolPaint.py:3197 #: appTools/ToolPanelize.py:892 appTools/ToolPunchGerber.py:996 #: appTools/ToolQRCode.py:907 appTools/ToolRulesCheck.py:1621 -#: appTools/ToolSolderPaste.py:1560 appTools/ToolSub.py:755 +#: appTools/ToolSolderPaste.py:1560 appTools/ToolSub.py:757 #: appTools/ToolTransform.py:923 msgid "Will reset the tool parameters." msgstr "Restablecerá los parámetros de la herramienta." @@ -14445,8 +14475,8 @@ msgstr "" "Contiene los puntos de calibración esperados y el\n" "los medidos." -#: appTools/ToolCalibration.py:930 appTools/ToolSub.py:652 -#: appTools/ToolSub.py:707 +#: appTools/ToolCalibration.py:930 appTools/ToolSub.py:654 +#: appTools/ToolSub.py:706 msgid "Target" msgstr "Objetivo" @@ -14702,8 +14732,8 @@ msgstr "Herramienta Copper Thieving hecha." #: appTools/ToolIsolation.py:908 appTools/ToolIsolation.py:1345 #: appTools/ToolIsolation.py:1372 appTools/ToolMilling.py:424 #: appTools/ToolMilling.py:639 appTools/ToolMilling.py:1322 -#: appTools/ToolNCC.py:830 appTools/ToolNCC.py:1262 appTools/ToolNCC.py:1308 -#: appTools/ToolNCC.py:1341 appTools/ToolPaint.py:1086 +#: appTools/ToolNCC.py:844 appTools/ToolNCC.py:1306 appTools/ToolNCC.py:1355 +#: appTools/ToolNCC.py:1388 appTools/ToolPaint.py:1086 #: appTools/ToolPanelize.py:191 appTools/ToolPanelize.py:205 #: appTools/ToolSub.py:157 appTools/ToolSub.py:170 appTools/ToolSub.py:359 #: appTools/ToolSub.py:372 tclCommands/TclCommandCopperClear.py:97 @@ -14735,7 +14765,7 @@ msgstr "" #: appTools/ToolCopperThieving.py:599 appTools/ToolFilm.py:631 #: appTools/ToolFilm.py:879 appTools/ToolIsolation.py:916 -#: appTools/ToolNCC.py:837 appTools/ToolOptimal.py:145 +#: appTools/ToolNCC.py:851 appTools/ToolOptimal.py:145 #: appTools/ToolPanelize.py:612 appTools/ToolRulesCheck.py:626 msgid "Working..." msgstr "Trabajando..." @@ -14744,13 +14774,13 @@ msgstr "Trabajando..." msgid "Geometry not supported for bounding box" msgstr "Geometría no admitida para cuadro delimitador" -#: appTools/ToolCopperThieving.py:632 appTools/ToolNCC.py:1632 -#: appTools/ToolNCC.py:1687 appTools/ToolNCC.py:2627 appTools/ToolPaint.py:2457 +#: appTools/ToolCopperThieving.py:632 appTools/ToolNCC.py:1679 +#: appTools/ToolNCC.py:1734 appTools/ToolNCC.py:2674 appTools/ToolPaint.py:2457 msgid "No object available." msgstr "No hay objeto disponible." -#: appTools/ToolCopperThieving.py:669 appTools/ToolNCC.py:1657 -#: appTools/ToolNCC.py:1710 appTools/ToolNCC.py:2669 +#: appTools/ToolCopperThieving.py:669 appTools/ToolNCC.py:1704 +#: appTools/ToolNCC.py:1757 appTools/ToolNCC.py:2716 msgid "The reference object type is not supported." msgstr "El tipo de objeto de referencia no es compatible." @@ -14809,7 +14839,7 @@ msgstr "" "otro objeto." #: appTools/ToolCopperThieving.py:1231 appTools/ToolIsolation.py:3385 -#: appTools/ToolNCC.py:4210 appTools/ToolPaint.py:3137 +#: appTools/ToolNCC.py:4257 appTools/ToolPaint.py:3137 msgid "Ref. Type" msgstr "Tipo de Ref" @@ -14823,12 +14853,12 @@ msgstr "" "Puede ser Gerber, Excellon o Geometry." #: appTools/ToolCopperThieving.py:1242 appTools/ToolIsolation.py:3396 -#: appTools/ToolNCC.py:4220 appTools/ToolPaint.py:3147 +#: appTools/ToolNCC.py:4267 appTools/ToolPaint.py:3147 msgid "Ref. Object" msgstr "Objeto de Ref" #: appTools/ToolCopperThieving.py:1244 appTools/ToolIsolation.py:3398 -#: appTools/ToolNCC.py:4222 appTools/ToolPaint.py:3149 +#: appTools/ToolNCC.py:4269 appTools/ToolPaint.py:3149 msgid "The FlatCAM object to be used as non copper clearing reference." msgstr "" "El objeto FlatCAM que se utilizará como referencia de compensación sin cobre." @@ -14962,7 +14992,7 @@ msgstr "Agregará marcadores de esquina al archivo Gerber seleccionado." #: appTools/ToolCutOut.py:281 appTools/ToolIsolation.py:791 #: appTools/ToolIsolation.py:1049 appTools/ToolIsolation.py:1185 -#: appTools/ToolNCC.py:458 appTools/ToolNCC.py:946 appTools/ToolNCC.py:1084 +#: appTools/ToolNCC.py:463 appTools/ToolNCC.py:990 appTools/ToolNCC.py:1128 #: appTools/ToolPaint.py:395 appTools/ToolPaint.py:686 #: appTools/ToolPaint.py:823 appTools/ToolSolderPaste.py:131 #: appTools/ToolSolderPaste.py:464 app_Main.py:4490 @@ -14972,7 +15002,7 @@ msgstr "" "Float." #: appTools/ToolCutOut.py:357 appTools/ToolIsolation.py:1130 -#: appTools/ToolNCC.py:1029 appTools/ToolPaint.py:767 +#: appTools/ToolNCC.py:1073 appTools/ToolPaint.py:767 #, fuzzy #| msgid "Tools in Tools Database edited but not saved." msgid "Tool not in Tools Database. Adding a default tool." @@ -14980,7 +15010,7 @@ msgstr "" "Herramientas en la base de datos de herramientas editadas pero no guardadas." #: appTools/ToolCutOut.py:364 appTools/ToolDrilling.py:955 -#: appTools/ToolIsolation.py:1137 appTools/ToolNCC.py:1036 +#: appTools/ToolIsolation.py:1137 appTools/ToolNCC.py:1080 #: appTools/ToolPaint.py:775 msgid "" "Cancelled.\n" @@ -15000,7 +15030,7 @@ msgid "Default tool added." msgstr "Valores predeterminados" #: appTools/ToolCutOut.py:466 appTools/ToolIsolation.py:2577 -#: appTools/ToolNCC.py:3602 appTools/ToolPaint.py:2620 +#: appTools/ToolNCC.py:3649 appTools/ToolPaint.py:2620 msgid "Selected tool can't be used here. Pick another." msgstr "" @@ -15051,7 +15081,7 @@ msgstr "Cualquier forma de operación de corte finalizada." #: appTools/ToolEtchCompensation.py:158 appTools/ToolInvertGerber.py:105 #: appTools/ToolIsolation.py:912 appTools/ToolIsolation.py:1349 #: appTools/ToolIsolation.py:1376 appTools/ToolMilling.py:1326 -#: appTools/ToolNCC.py:834 appTools/ToolNCC.py:1266 appTools/ToolPaint.py:1003 +#: appTools/ToolNCC.py:848 appTools/ToolNCC.py:1310 appTools/ToolPaint.py:1003 #: appTools/ToolPanelize.py:196 tclCommands/TclCommandBbox.py:71 #: tclCommands/TclCommandNregions.py:71 msgid "Object not found" @@ -15147,7 +15177,7 @@ msgstr "Objeto a recortar" msgid "Kind" msgstr "Tipo" -#: appTools/ToolCutOut.py:2015 appTools/ToolDblSided.py:521 +#: appTools/ToolCutOut.py:2015 msgid "" "Specify the type of object to be cutout.\n" "It can be of type: Gerber or Geometry.\n" @@ -15160,7 +15190,7 @@ msgstr "" "de objetos que llenarán el cuadro combinado 'Objeto'." #: appTools/ToolCutOut.py:2074 appTools/ToolIsolation.py:3125 -#: appTools/ToolNCC.py:3892 appTools/ToolPaint.py:2901 +#: appTools/ToolNCC.py:3939 appTools/ToolPaint.py:2901 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above.\n" @@ -15346,11 +15376,15 @@ msgstr "PCB a 2 caras" msgid "Objects to be mirrored" msgstr "Objetos a ser reflejados" -#: appTools/ToolDblSided.py:560 +#: appTools/ToolDblSided.py:521 +msgid "Select the type of application object to be processed in this tool." +msgstr "" + +#: appTools/ToolDblSided.py:555 msgid "Bounds Values" msgstr "Valores de límites" -#: appTools/ToolDblSided.py:562 +#: appTools/ToolDblSided.py:557 msgid "" "Select on canvas the object(s)\n" "for which to calculate bounds values." @@ -15358,39 +15392,39 @@ msgstr "" "Seleccione en lienzo los objetos\n" "para el cual calcular valores de límites." -#: appTools/ToolDblSided.py:572 +#: appTools/ToolDblSided.py:567 msgid "X min" msgstr "X min" -#: appTools/ToolDblSided.py:574 appTools/ToolDblSided.py:588 +#: appTools/ToolDblSided.py:569 appTools/ToolDblSided.py:583 msgid "Minimum location." msgstr "Ubicacion minima." -#: appTools/ToolDblSided.py:586 +#: appTools/ToolDblSided.py:581 msgid "Y min" msgstr "Y min" -#: appTools/ToolDblSided.py:600 +#: appTools/ToolDblSided.py:595 msgid "X max" msgstr "X max" -#: appTools/ToolDblSided.py:602 appTools/ToolDblSided.py:616 +#: appTools/ToolDblSided.py:597 appTools/ToolDblSided.py:611 msgid "Maximum location." msgstr "Máxima ubicación." -#: appTools/ToolDblSided.py:614 +#: appTools/ToolDblSided.py:609 msgid "Y max" msgstr "Y max" -#: appTools/ToolDblSided.py:625 +#: appTools/ToolDblSided.py:620 msgid "Center point coordinates" msgstr "Coords del punto central" -#: appTools/ToolDblSided.py:627 +#: appTools/ToolDblSided.py:622 msgid "Centroid" msgstr "Centroide" -#: appTools/ToolDblSided.py:629 +#: appTools/ToolDblSided.py:624 msgid "" "The center point location for the rectangular\n" "bounding shape. Centroid. Format is (x, y)." @@ -15398,11 +15432,11 @@ msgstr "" "La ubicación del punto central para el rectangular\n" "forma delimitadora. Centroide. El formato es (x, y)." -#: appTools/ToolDblSided.py:638 +#: appTools/ToolDblSided.py:633 msgid "Calculate Bounds Values" msgstr "Calcular valores de límites" -#: appTools/ToolDblSided.py:640 +#: appTools/ToolDblSided.py:635 msgid "" "Calculate the enveloping rectangular shape coordinates,\n" "for the selection of objects.\n" @@ -15412,15 +15446,15 @@ msgstr "" "para la selección de objetos.\n" "La forma de la envoltura es paralela al eje X, Y." -#: appTools/ToolDblSided.py:667 +#: appTools/ToolDblSided.py:660 msgid "Mirror Operation" msgstr "Operación Espejo" -#: appTools/ToolDblSided.py:668 +#: appTools/ToolDblSided.py:661 msgid "Parameters for the mirror operation" msgstr "Parámetros para la operación Reflejar" -#: appTools/ToolDblSided.py:690 +#: appTools/ToolDblSided.py:683 #, fuzzy #| msgid "" #| "The coordinates used as reference for the mirror operation.\n" @@ -15445,11 +15479,11 @@ msgstr "" "- Cuadro -> un conjunto de coordenadas (x, y) obtenidas del centro de la\n" "cuadro delimitador de otro objeto seleccionado a continuación" -#: appTools/ToolDblSided.py:710 +#: appTools/ToolDblSided.py:703 msgid "Point coordinates" msgstr "Coordenadas de puntos" -#: appTools/ToolDblSided.py:715 +#: appTools/ToolDblSided.py:708 msgid "" "Add the coordinates in format (x, y) through which the mirroring " "axis\n" @@ -15465,21 +15499,21 @@ msgstr "" "y haga clic con el botón izquierdo del mouse en el lienzo o puede ingresar " "las coordenadas manualmente." -#: appTools/ToolDblSided.py:733 +#: appTools/ToolDblSided.py:726 msgid "Object that holds holes that can be picked as reference for mirroing." msgstr "" -#: appTools/ToolDblSided.py:748 +#: appTools/ToolDblSided.py:741 msgid "Pick hole" msgstr "" -#: appTools/ToolDblSided.py:750 +#: appTools/ToolDblSided.py:743 msgid "" "Click inside a drill hole that belong to the selected Excellon object,\n" "and the hole center coordinates will be copied to the Point field." msgstr "" -#: appTools/ToolDblSided.py:766 +#: appTools/ToolDblSided.py:759 msgid "" "It can be of type: Gerber or Excellon or Geometry.\n" "The coordinates of the center of the bounding box are used\n" @@ -15489,11 +15523,11 @@ msgstr "" "Se utilizan las coordenadas del centro del cuadro delimitador.\n" "como referencia para la operación del espejo." -#: appTools/ToolDblSided.py:792 +#: appTools/ToolDblSided.py:785 msgid "Mirror" msgstr "Espejo" -#: appTools/ToolDblSided.py:794 +#: appTools/ToolDblSided.py:787 msgid "" "Mirrors (flips) the specified object around \n" "the specified axis. Does not create a new \n" @@ -15503,11 +15537,11 @@ msgstr "" "El eje especificado. No crea un nuevo\n" "objeto, pero lo modifica." -#: appTools/ToolDblSided.py:822 +#: appTools/ToolDblSided.py:813 msgid "PCB Alignment" msgstr "Alineación de PCB" -#: appTools/ToolDblSided.py:824 appTools/ToolDblSided.py:932 +#: appTools/ToolDblSided.py:815 appTools/ToolDblSided.py:923 msgid "" "Creates an Excellon Object containing the\n" "specified alignment holes and their mirror\n" @@ -15517,11 +15551,11 @@ msgstr "" "agujeros de alineación especificados y su espejo\n" "imágenes." -#: appTools/ToolDblSided.py:831 +#: appTools/ToolDblSided.py:822 msgid "Drill Diameter" msgstr "Diá del Taladro" -#: appTools/ToolDblSided.py:866 appTools/ToolDblSided.py:873 +#: appTools/ToolDblSided.py:857 appTools/ToolDblSided.py:864 msgid "" "The reference point used to create the second alignment drill\n" "from the first alignment drill, by doing mirror.\n" @@ -15532,11 +15566,11 @@ msgstr "" "desde el primer ejercicio de alineación, haciendo espejo.\n" "Se puede modificar en la sección Parámetros Espejo -> Referencia" -#: appTools/ToolDblSided.py:886 +#: appTools/ToolDblSided.py:877 msgid "Alignment Drill Coordinates" msgstr "Taladro de alineación Coords" -#: appTools/ToolDblSided.py:888 +#: appTools/ToolDblSided.py:879 msgid "" "Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For " "each set of (x, y) coordinates\n" @@ -15554,11 +15588,11 @@ msgstr "" "- un taladro en posición de espejo sobre el eje seleccionado arriba en " "'Alinear eje'." -#: appTools/ToolDblSided.py:896 +#: appTools/ToolDblSided.py:887 msgid "Drill coordinates" msgstr "Coords de Perforación" -#: appTools/ToolDblSided.py:903 +#: appTools/ToolDblSided.py:894 msgid "" "Add alignment drill holes coordinates in the format: (x1, y1), (x2, " "y2), ... \n" @@ -15586,15 +15620,15 @@ msgstr "" "- ingresando las coordenadas manualmente en el formato: (x1, y1), (x2, " "y2), ..." -#: appTools/ToolDblSided.py:918 +#: appTools/ToolDblSided.py:909 msgid "Delete Last" msgstr "Eliminar último" -#: appTools/ToolDblSided.py:920 +#: appTools/ToolDblSided.py:911 msgid "Delete the last coordinates tuple in the list." msgstr "Eliminar la última tupla de coordenadas en la lista." -#: appTools/ToolDblSided.py:930 +#: appTools/ToolDblSided.py:921 msgid "Create Excellon Object" msgstr "Crear objeto Excellon" @@ -15771,7 +15805,7 @@ msgid "Jump to Half Point" msgstr "Saltar a Medio Punto" #: appTools/ToolDrilling.py:1195 appTools/ToolIsolation.py:778 -#: appTools/ToolMilling.py:962 appTools/ToolNCC.py:444 +#: appTools/ToolMilling.py:962 appTools/ToolNCC.py:449 #: appTools/ToolPaint.py:381 msgid "Current Tool parameters were applied to all tools." msgstr "" @@ -16417,17 +16451,17 @@ msgstr "" "estará vacío de cobre y el área vacía anterior será\n" "lleno de cobre." -#: appTools/ToolIsolation.py:782 appTools/ToolNCC.py:449 +#: appTools/ToolIsolation.py:782 appTools/ToolNCC.py:454 #: appTools/ToolPaint.py:386 appTools/ToolSolderPaste.py:122 msgid "New Tool" msgstr "Nueva Herram" -#: appTools/ToolIsolation.py:795 appTools/ToolNCC.py:462 +#: appTools/ToolIsolation.py:795 appTools/ToolNCC.py:467 #: appTools/ToolPaint.py:399 appTools/ToolSolderPaste.py:135 app_Main.py:4494 msgid "Adding Tool cancelled" msgstr "Añadiendo herramienta cancelada" -#: appTools/ToolIsolation.py:941 appTools/ToolNCC.py:865 +#: appTools/ToolIsolation.py:941 appTools/ToolNCC.py:879 #: appTools/ToolOptimal.py:179 msgid "" "The Gerber object has one Polygon as geometry.\n" @@ -16436,7 +16470,7 @@ msgstr "" "El objeto Gerber tiene un Polígono como geometría.\n" "No hay distancias entre los elementos de geometría que se encuentran." -#: appTools/ToolIsolation.py:988 appTools/ToolNCC.py:908 +#: appTools/ToolIsolation.py:988 appTools/ToolNCC.py:924 #, fuzzy #| msgid "tooldia = tool diameter" msgid "Optimal tool diameter found" @@ -16444,7 +16478,7 @@ msgstr "tooldia = diá. de la herramienta" #: appTools/ToolIsolation.py:1000 appTools/ToolIsolation.py:1508 #: appTools/ToolIsolation.py:1710 appTools/ToolIsolation.py:1897 -#: appTools/ToolNCC.py:1296 appTools/ToolPaint.py:1031 +#: appTools/ToolNCC.py:935 appTools/ToolNCC.py:1343 appTools/ToolPaint.py:1031 #: appTools/ToolPaint.py:1744 #, fuzzy #| msgid "Failed. No tool selected in the tool table ..." @@ -16459,44 +16493,44 @@ msgstr "" #: appTools/ToolIsolation.py:1057 appTools/ToolIsolation.py:1144 #: appTools/ToolIsolation.py:1206 appTools/ToolIsolation.py:2626 -#: appTools/ToolNCC.py:955 appTools/ToolNCC.py:1043 appTools/ToolNCC.py:1105 -#: appTools/ToolNCC.py:3651 appTools/ToolPaint.py:694 appTools/ToolPaint.py:782 +#: appTools/ToolNCC.py:999 appTools/ToolNCC.py:1087 appTools/ToolNCC.py:1149 +#: appTools/ToolNCC.py:3698 appTools/ToolPaint.py:694 appTools/ToolPaint.py:782 #: appTools/ToolPaint.py:844 appTools/ToolPaint.py:2676 #: appTools/ToolSolderPaste.py:488 msgid "Cancelled. Tool already in Tool Table." msgstr "Cancelado. Herramienta ya en la tabla de herramientas." -#: appTools/ToolIsolation.py:1172 appTools/ToolNCC.py:1071 +#: appTools/ToolIsolation.py:1172 appTools/ToolNCC.py:1115 #: appTools/ToolPaint.py:810 #, fuzzy #| msgid "New tool added to Tool Table." msgid "New tool added to Tool Table from Tools Database." msgstr "Nueva herramienta agregada a la Tabla de herramientas." -#: appTools/ToolIsolation.py:1236 appTools/ToolNCC.py:1135 +#: appTools/ToolIsolation.py:1236 appTools/ToolNCC.py:1179 #: appTools/ToolPaint.py:873 #, fuzzy #| msgid "New tool added to Tool Table." msgid "Default tool added to Tool Table." msgstr "Nueva herramienta agregada a la Tabla de herramientas." -#: appTools/ToolIsolation.py:1262 appTools/ToolNCC.py:1161 +#: appTools/ToolIsolation.py:1262 appTools/ToolNCC.py:1205 #: appTools/ToolPaint.py:898 msgid "Tool from Tool Table was edited." msgstr "Se editó la herramienta de la tabla de herramientas." -#: appTools/ToolIsolation.py:1275 appTools/ToolNCC.py:1174 +#: appTools/ToolIsolation.py:1275 appTools/ToolNCC.py:1218 #: appTools/ToolPaint.py:911 appTools/ToolSolderPaste.py:548 msgid "Cancelled. New diameter value is already in the Tool Table." msgstr "" "Cancelado. El nuevo valor del diámetro ya está en la Tabla de herramientas." -#: appTools/ToolIsolation.py:1326 appTools/ToolNCC.py:1225 +#: appTools/ToolIsolation.py:1326 appTools/ToolNCC.py:1269 #: appTools/ToolPaint.py:961 msgid "Delete failed. Select a tool to delete." msgstr "Eliminar falló. Seleccione una herramienta para eliminar." -#: appTools/ToolIsolation.py:1332 appTools/ToolNCC.py:1231 +#: appTools/ToolIsolation.py:1332 appTools/ToolNCC.py:1275 #: appTools/ToolPaint.py:967 msgid "Tool(s) deleted from Tool Table." msgstr "Herramienta (s) eliminada de la tabla de herramientas." @@ -16591,12 +16625,12 @@ msgstr "No hay polígono en la selección." msgid "Click the end point of the paint area." msgstr "Haga clic en el punto final del área de pintura." -#: appTools/ToolIsolation.py:2590 appTools/ToolNCC.py:3615 +#: appTools/ToolIsolation.py:2590 appTools/ToolNCC.py:3662 #: appTools/ToolPaint.py:2633 app_Main.py:5773 app_Main.py:5783 msgid "Tool from DB added in Tool Table." msgstr "Herramienta de DB agregada en la Tabla de herramientas." -#: appTools/ToolIsolation.py:2644 appTools/ToolNCC.py:3668 +#: appTools/ToolIsolation.py:2644 appTools/ToolNCC.py:3715 #: appTools/ToolPaint.py:2693 msgid "New tool added to Tool Table." msgstr "Nueva herramienta agregada a la Tabla de herramientas." @@ -16605,7 +16639,7 @@ msgstr "Nueva herramienta agregada a la Tabla de herramientas." msgid "Gerber object for isolation routing." msgstr "Objeto Gerber para enrutamiento de aislamiento." -#: appTools/ToolIsolation.py:3012 appTools/ToolNCC.py:3768 +#: appTools/ToolIsolation.py:3012 appTools/ToolNCC.py:3815 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for copper clearing." @@ -16629,7 +16663,7 @@ msgstr "" "en la geometría resultante. Esto es porque con algunas herramientas\n" "Esta función no podrá crear geometría de enrutamiento." -#: appTools/ToolIsolation.py:3036 appTools/ToolNCC.py:3792 +#: appTools/ToolIsolation.py:3036 appTools/ToolNCC.py:3839 msgid "" "Tool Diameter. It's value (in current FlatCAM units)\n" "is the cut width into the material." @@ -16637,7 +16671,7 @@ msgstr "" "Diámetro de herramienta. Su valor (en unidades actuales de FlatCAM)\n" "es el ancho de corte en el material." -#: appTools/ToolIsolation.py:3040 appTools/ToolNCC.py:3796 +#: appTools/ToolIsolation.py:3040 appTools/ToolNCC.py:3843 msgid "" "The Tool Type (TT) can be:\n" "- Circular with 1 ... 4 teeth -> it is informative only. Being circular,\n" @@ -16675,19 +16709,19 @@ msgstr "" "seleccionará el Tipo de operación\n" "en la geometría resultante como Aislamiento." -#: appTools/ToolIsolation.py:3108 appTools/ToolNCC.py:3876 +#: appTools/ToolIsolation.py:3108 appTools/ToolNCC.py:3923 #, fuzzy #| msgid "Optimal Tool" msgid "Optimal" msgstr "Herramienta de Óptima" -#: appTools/ToolIsolation.py:3112 appTools/ToolNCC.py:3880 +#: appTools/ToolIsolation.py:3112 appTools/ToolNCC.py:3927 msgid "" "Find a tool diameter that is guaranteed\n" "to do a complete isolation." msgstr "" -#: appTools/ToolIsolation.py:3153 appTools/ToolNCC.py:3920 +#: appTools/ToolIsolation.py:3153 appTools/ToolNCC.py:3967 #: appTools/ToolPaint.py:2929 appTools/ToolSolderPaste.py:1211 msgid "" "Delete a selection of tools in the Tool Table\n" @@ -16712,7 +16746,7 @@ msgstr "" msgid "Object whose area will be removed from isolation geometry." msgstr "Objeto cuya área se eliminará de la geometría de aislamiento." -#: appTools/ToolIsolation.py:3387 appTools/ToolNCC.py:4212 +#: appTools/ToolIsolation.py:3387 appTools/ToolNCC.py:4259 msgid "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." @@ -16801,101 +16835,115 @@ msgstr "No hay objetos seleccionados." msgid "Error when mouse left click." msgstr "Error al hacer clic con el botón izquierdo del mouse." -#: appTools/ToolNCC.py:1675 appTools/ToolNCC.py:2599 +#: appTools/ToolNCC.py:835 +msgid "NCC Tool. Checking tools for validity." +msgstr "" + +#: appTools/ToolNCC.py:947 +msgid "" +"Incomplete isolation. None of the selected tools could do a complete " +"isolation." +msgstr "" + +#: appTools/ToolNCC.py:950 +msgid "At least one of the selected tools can do a complete isolation." +msgstr "" + +#: appTools/ToolNCC.py:1722 appTools/ToolNCC.py:2646 msgid "NCC Tool. Preparing non-copper polygons." msgstr "Herramienta NCC. Preparación de polígonos sin cobre." -#: appTools/ToolNCC.py:1735 appTools/ToolNCC.py:2727 +#: appTools/ToolNCC.py:1782 appTools/ToolNCC.py:2774 msgid "NCC Tool. Calculate 'empty' area." msgstr "Herramienta NCC. Calcule el área 'vacía'." -#: appTools/ToolNCC.py:1746 appTools/ToolNCC.py:1775 appTools/ToolNCC.py:1881 -#: appTools/ToolNCC.py:1894 appTools/ToolNCC.py:2740 appTools/ToolNCC.py:2845 -#: appTools/ToolNCC.py:2860 appTools/ToolNCC.py:3126 appTools/ToolNCC.py:3227 -#: appTools/ToolNCC.py:3242 +#: appTools/ToolNCC.py:1793 appTools/ToolNCC.py:1822 appTools/ToolNCC.py:1928 +#: appTools/ToolNCC.py:1941 appTools/ToolNCC.py:2787 appTools/ToolNCC.py:2892 +#: appTools/ToolNCC.py:2907 appTools/ToolNCC.py:3173 appTools/ToolNCC.py:3274 +#: appTools/ToolNCC.py:3289 msgid "Buffering finished" msgstr "Buffering terminado" -#: appTools/ToolNCC.py:1750 appTools/ToolNCC.py:1779 appTools/ToolNCC.py:1885 -#: appTools/ToolNCC.py:1897 appTools/ToolNCC.py:2748 appTools/ToolNCC.py:2867 -#: appTools/ToolNCC.py:3133 appTools/ToolNCC.py:3249 +#: appTools/ToolNCC.py:1797 appTools/ToolNCC.py:1826 appTools/ToolNCC.py:1932 +#: appTools/ToolNCC.py:1944 appTools/ToolNCC.py:2795 appTools/ToolNCC.py:2914 +#: appTools/ToolNCC.py:3180 appTools/ToolNCC.py:3296 msgid "Could not get the extent of the area to be non copper cleared." msgstr "" "No se pudo obtener la extensión del área que no fue limpiada con cobre." -#: appTools/ToolNCC.py:1758 appTools/ToolNCC.py:1908 appTools/ToolNCC.py:2878 +#: appTools/ToolNCC.py:1805 appTools/ToolNCC.py:1955 appTools/ToolNCC.py:2925 msgid "NCC Tool. Finished calculation of 'empty' area." msgstr "Herramienta NCC. Cálculo finalizado del área 'vacía'." -#: appTools/ToolNCC.py:1811 appTools/ToolNCC.py:2775 appTools/ToolNCC.py:2852 -#: appTools/ToolNCC.py:3153 appTools/ToolNCC.py:3234 +#: appTools/ToolNCC.py:1858 appTools/ToolNCC.py:2822 appTools/ToolNCC.py:2899 +#: appTools/ToolNCC.py:3200 appTools/ToolNCC.py:3281 msgid "" "Isolation geometry is broken. Margin is less than isolation tool diameter." msgstr "" "La geometría de aislamiento está rota. El margen es menor que el diámetro de " "la herramienta de aislamiento." -#: appTools/ToolNCC.py:1901 appTools/ToolNCC.py:2871 appTools/ToolNCC.py:3252 +#: appTools/ToolNCC.py:1948 appTools/ToolNCC.py:2918 appTools/ToolNCC.py:3299 msgid "The selected object is not suitable for copper clearing." msgstr "El objeto seleccionado no es adecuado para la limpieza de cobre." -#: appTools/ToolNCC.py:1951 +#: appTools/ToolNCC.py:1998 msgid "Clearing the polygon with the method: lines." msgstr "Borrar el polígono con el método: líneas." -#: appTools/ToolNCC.py:1961 +#: appTools/ToolNCC.py:2008 msgid "Failed. Clearing the polygon with the method: seed." msgstr "Ha fallado. Borrar el polígono con el método: semilla." -#: appTools/ToolNCC.py:1970 +#: appTools/ToolNCC.py:2017 msgid "Failed. Clearing the polygon with the method: standard." msgstr "Ha fallado. Borrar el polígono con el método: estándar." -#: appTools/ToolNCC.py:1986 +#: appTools/ToolNCC.py:2033 #, fuzzy #| msgid "Geometry could not be cleared completely" msgid "Polygon could not be cleared. Location:" msgstr "La geometría no se pudo borrar por completo" -#: appTools/ToolNCC.py:2018 appTools/ToolNCC.py:2020 appTools/ToolNCC.py:2548 -#: appTools/ToolNCC.py:2550 +#: appTools/ToolNCC.py:2065 appTools/ToolNCC.py:2067 appTools/ToolNCC.py:2595 +#: appTools/ToolNCC.py:2597 msgid "Non-Copper clearing ..." msgstr "Limpieza sin cobre ..." -#: appTools/ToolNCC.py:2039 +#: appTools/ToolNCC.py:2086 msgid "" "There is no copper clearing tool in the selection and at least one is needed." msgstr "" -#: appTools/ToolNCC.py:2054 appTools/ToolNCC.py:2695 +#: appTools/ToolNCC.py:2101 appTools/ToolNCC.py:2742 msgid "" "NCC Tool. Finished non-copper polygons. Normal copper clearing task started." msgstr "" "Herramienta NCC. Polígonos terminados sin cobre. Se inició la tarea normal " "de limpieza de cobre." -#: appTools/ToolNCC.py:2082 appTools/ToolNCC.py:2316 +#: appTools/ToolNCC.py:2129 appTools/ToolNCC.py:2363 msgid "NCC Tool failed creating bounding box." msgstr "La herramienta NCC no pudo crear el cuadro delimitador." -#: appTools/ToolNCC.py:2102 appTools/ToolNCC.py:2352 appTools/ToolNCC.py:2891 -#: appTools/ToolNCC.py:3277 +#: appTools/ToolNCC.py:2149 appTools/ToolNCC.py:2399 appTools/ToolNCC.py:2938 +#: appTools/ToolNCC.py:3324 msgid "NCC Tool clearing with tool diameter" msgstr "La Herram. NCC se está limpiando con el diá. de la herramienta" -#: appTools/ToolNCC.py:2102 appTools/ToolNCC.py:2352 appTools/ToolNCC.py:2891 -#: appTools/ToolNCC.py:3277 +#: appTools/ToolNCC.py:2149 appTools/ToolNCC.py:2399 appTools/ToolNCC.py:2938 +#: appTools/ToolNCC.py:3324 msgid "started." msgstr "empezado." -#: appTools/ToolNCC.py:2230 +#: appTools/ToolNCC.py:2277 #, fuzzy #| msgid "Could not get the extent of the area to be non copper cleared." msgid "Could not use the tool for copper clear." msgstr "" "No se pudo obtener la extensión del área que no fue limpiada con cobre." -#: appTools/ToolNCC.py:2252 appTools/ToolNCC.py:3052 +#: appTools/ToolNCC.py:2299 appTools/ToolNCC.py:3099 msgid "" "There is no NCC Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -16907,22 +16955,22 @@ msgstr "" "grande para la geometría pintada.\n" "Cambie los parámetros de pintura e intente nuevamente." -#: appTools/ToolNCC.py:2262 appTools/ToolNCC.py:3061 +#: appTools/ToolNCC.py:2309 appTools/ToolNCC.py:3108 msgid "NCC Tool clear all done." msgstr "Herramienta NCC borrar todo hecho." -#: appTools/ToolNCC.py:2265 appTools/ToolNCC.py:3064 +#: appTools/ToolNCC.py:2312 appTools/ToolNCC.py:3111 msgid "NCC Tool clear all done but the copper features isolation is broken for" msgstr "" "La herramienta NCC borra todo, pero el aislamiento de las características de " "cobre está roto por" -#: appTools/ToolNCC.py:2267 appTools/ToolNCC.py:2463 appTools/ToolNCC.py:3066 -#: appTools/ToolNCC.py:3449 +#: appTools/ToolNCC.py:2314 appTools/ToolNCC.py:2510 appTools/ToolNCC.py:3113 +#: appTools/ToolNCC.py:3496 msgid "tools" msgstr "herramientas" -#: appTools/ToolNCC.py:2294 +#: appTools/ToolNCC.py:2341 #, fuzzy #| msgid "Paint Tool. Rest machining painting area task started." msgid "NCC Tool. Rest machining copper clearing task started." @@ -16930,11 +16978,11 @@ msgstr "" "Herramienta de pintura. Se inició la tarea de área de pintura de mecanizado " "de descanso." -#: appTools/ToolNCC.py:2459 appTools/ToolNCC.py:3445 +#: appTools/ToolNCC.py:2506 appTools/ToolNCC.py:3492 msgid "NCC Tool Rest Machining clear all done." msgstr "NCC herramienta de mecanizado de reposo claro todo hecho." -#: appTools/ToolNCC.py:2462 appTools/ToolNCC.py:3448 +#: appTools/ToolNCC.py:2509 appTools/ToolNCC.py:3495 msgid "" "NCC Tool Rest Machining clear all done but the copper features isolation is " "broken for" @@ -16942,11 +16990,11 @@ msgstr "" "El mecanizado de reposo de herramientas NCC está claro, pero el aislamiento " "de características de cobre está roto por" -#: appTools/ToolNCC.py:2560 +#: appTools/ToolNCC.py:2607 msgid "NCC Tool started. Reading parameters." msgstr "Herramienta NCC iniciada. Parámetros de lectura." -#: appTools/ToolNCC.py:3547 +#: appTools/ToolNCC.py:3594 msgid "" "Try to use the Buffering Type = Full in Preferences -> Gerber General. " "Reload the Gerber file after this change." @@ -16955,15 +17003,15 @@ msgstr "" "Preferencias -> Gerber General. Vuelva a cargar el archivo Gerber después de " "este cambio." -#: appTools/ToolNCC.py:3703 +#: appTools/ToolNCC.py:3750 msgid "Non-Copper Clearing" msgstr "Compensación sin cobre" -#: appTools/ToolNCC.py:3732 appTools/ToolPaint.py:2765 +#: appTools/ToolNCC.py:3779 appTools/ToolPaint.py:2765 msgid "Obj Type" msgstr "Tipo de obj" -#: appTools/ToolNCC.py:3734 +#: appTools/ToolNCC.py:3781 msgid "" "Specify the type of object to be cleared of excess copper.\n" "It can be of type: Gerber or Geometry.\n" @@ -16975,11 +17023,11 @@ msgstr "" "Lo que se seleccione aquí dictará el tipo\n" "de objetos que llenarán el cuadro combinado 'Objeto'." -#: appTools/ToolNCC.py:3756 +#: appTools/ToolNCC.py:3803 msgid "Object to be cleared of excess copper." msgstr "Objeto a eliminar del exceso de cobre." -#: appTools/ToolNCC.py:3784 +#: appTools/ToolNCC.py:3831 msgid "" "This is the Tool Number.\n" "Non copper clearing will start with the tool with the biggest \n" @@ -18447,7 +18495,7 @@ msgstr "Analizando solid_geometry ..." msgid "Parsing solid_geometry for tool" msgstr "Análisis de geometría para herramienta" -#: appTools/ToolSub.py:654 +#: appTools/ToolSub.py:656 msgid "" "Gerber object from which to subtract\n" "the subtractor Gerber object." @@ -18455,11 +18503,11 @@ msgstr "" "Objeto de Gerber para restar\n" "El sustractor del objeto Gerber." -#: appTools/ToolSub.py:667 appTools/ToolSub.py:722 +#: appTools/ToolSub.py:670 appTools/ToolSub.py:722 msgid "Subtractor" msgstr "Sustractor" -#: appTools/ToolSub.py:669 +#: appTools/ToolSub.py:672 msgid "" "Gerber object that will be subtracted\n" "from the target Gerber object." @@ -18467,11 +18515,11 @@ msgstr "" "Objeto de Gerber que se restará\n" "del objeto objetivo de Gerber." -#: appTools/ToolSub.py:676 +#: appTools/ToolSub.py:679 msgid "Subtract Gerber" msgstr "Restar Gerber" -#: appTools/ToolSub.py:678 +#: appTools/ToolSub.py:681 msgid "" "Will remove the area occupied by the subtractor\n" "Gerber from the Target Gerber.\n" @@ -18483,7 +18531,7 @@ msgstr "" "Se puede utilizar para eliminar la serigrafía superpuesta\n" "sobre la máscara de soldadura." -#: appTools/ToolSub.py:709 +#: appTools/ToolSub.py:708 msgid "" "Geometry object from which to subtract\n" "the subtractor Geometry object." @@ -18505,11 +18553,11 @@ msgid "" msgstr "" "Marcar esto cerrará los caminos cortados por el objeto sustrato Geometry." -#: appTools/ToolSub.py:735 +#: appTools/ToolSub.py:736 msgid "Subtract Geometry" msgstr "Restar Geometría" -#: appTools/ToolSub.py:737 +#: appTools/ToolSub.py:738 msgid "" "Will remove the area occupied by the subtractor\n" "Geometry from the Target Geometry." @@ -20074,11 +20122,11 @@ msgstr "Crear geometría a partir del archivo GCode analizado. " msgid "G91 coordinates not implemented ..." msgstr "Coordenadas G91 no implementadas ..." -#: defaults.py:858 +#: defaults.py:859 msgid "Could not load defaults file." msgstr "No se pudo cargar el archivo predeterminado." -#: defaults.py:871 +#: defaults.py:872 msgid "Failed to parse defaults file." msgstr "Error al analizar el archivo predeterminado." diff --git a/locale/fr/LC_MESSAGES/strings.mo b/locale/fr/LC_MESSAGES/strings.mo index 150f6fc18dfa6755f1e3bcab349c3109a1cd2d85..60b9d5cef069ed4c5fc9a4750dc40cd24bbb54fb 100644 GIT binary patch delta 65572 zcmXWkb%0jI8prYT?k?SpLZrI|q*EFxflDI-3J9VIDo6>E zA|>4K?|tU}^O-p@XXcq_=A2!Sd;4|T9sj2FZ=?*H=kdSzi9Ih9wrb~j$&!2C(j!#( z-%nn^%Zk_V6MT)Cad05uWxzR@1HZytco7TWD_4&Q33y4V*TMMM3X@@HOyqgKH<&^a z4vcjtW*~j>mOD3NM(X?UBm5EL;bWu$?_YO5G&JCaQO}C$Fej$QGN|k8quOci9E>0F zd~X(o^qkm)De*X}fvczn9-~GY7G~FF#Z=TwppMsec13mQQ%s1{U40QYp}qzS;yWCP z`Qi{!p6_j-@DJvSYi5iW@P<-P5kKIK#?LWnfGJ84@R%7dT|#?MB&uE%6|t&V3>&!f zlTaOQQK-fR_S`pysA37Q)6@7(c_JxF7T5W7J${P8{$$VP)rf zR4yb*67V`;Aq;i^b$mT)px@z1JeoA%dzC4Co-E+y#dE0oYpj7~lLx$VI1zi{39O5S zQv|&F_$gMw%NUCvr3`rWup>6YT^Nc9QrT1`K_zn}*1{U8d`rH$9MFX;QK4Lm#c?O< zhQBZ_CQ5DBr$k*Jj$<$!h0Pz_c>U02H;Z-PqF&X^X5pst&ST<3f9Dd>S;x)WPb z4emwt{1mEVKVU5Wis2ZM&h~>EsOvjmB=*OexEPf)e`0TJklu3Z2v(vV_EEt5k^J+j zQ&7(`XSA#@iUp~6L3Ln0DvMX3IiVsy z+&O~^{SDLr?xL>^<`sp4Y%oK^Et}V6vpI~+ZWeKtLnT`*s)J2X8%rltWQL;VejKjC z>8J=4&S6_`8PrrY!wfvHYYyVC1E1!!`M2+NE)KvV7dT^p#wmh?7 z9O~szdwdntl(s|NHxzZ>EF6q$uoY&^?OOhJ$;6aF>YQv-wG9} z9%%J$ETP%o8psEFNh#~-3P{2tX#k^(lca4bN*D01BQI#S5bfgz|5i`A&D z_bAT7H>eIxB|{adrKtKw)C2ar<7Zs`Dr#%KgQf5RX2)F7wn}QCA~q6}>ivI+f<}HW zc!0Tc^{4op<8cew-v0*m(g_p}c-62WYRVR47_LKgXfrDL4xpy;qC0;Fwfz1WsRt7pfz}oa5Z_>CVNd2d>2ixCwRt zdv`ug4C`NWnj*$}loi!*K36Y+n(L~r-WaufI-sU(BI^DnsF7|!g?Ni|kMl5UK&P<{ zUPMKzP;u73dQ`l)-B=Fw!0N8v)YaR$dOuemj@ptxM|F5Psw0~)H|}%w-%xY?H>%zL zurekoVXLaXPeBcIz--tD)zg`%WwRLdpe?9nb_{Rgb*z8~O9s3R_#Y|)>q=QUHv9%${xGA|AvB+C1GjX;ZmYTvK-Z+Etm%{U{-vM;rLM*tCw=NKs{)LtACD~ z`wbX^U!fkn9W}s%NV5ChNeW838@LjmU|*b5HsH0z&~gE95_ZJ7_z;KT*z&d--k>6w zy@G|b04h@DQ4eZ{iev|Oey}?~5wmFhFQ<@;3l5=j;dbx@>lF2UpRl6!JQo(G9*v4f zN6d%QP#e~MERD}l8%}{rc71&er#>FF!L30p?_-#o=X>|ufn=5K3#KR*;dpC|!da-K zI*8heZ=oXg0xMwLDi-?cr~x!VMW8imH4H(mcOM(#R8+)%Lths@q|gQ9RJAGSg{mj3 z7VxU$5Uh)bus0^HZV?-anyQsJ5L4E$508l$OZ^AbGRqjtrxs?zp7<{|$Bs2w|9u0V z_f5@!ca8)3YX`g+_!h_ElRA9EaemOp0q-pJ-|O1)*;3DZifuSwtiFwWZUYrin<{eDr-x)dS%pdY=YXVdtoyikGlU? zRMI^{P1V0R0pmBaT$zr#?*Qr@amlBkJ^TSG3Bwv&4n(1rTSHU_2co9xGgJdBFbD3% zY zi}{+_oHxU8>Z?!>JdR4*N2qpFH@D-(QTMgOGFtyrDQMZ8K`o~^EdpLyER2=0A6CL$ zs44ju)v<&vtzH22%~uhXY^|LgQCZ&|6~Q5x2q&X9ruo6T&&z{?Mz#*M6aEkNz%#C% zxRo0L>H)=3p(~4eKqJ(0Y>fv5+KMzuE?b^UBqPHaH^P`h8}dA|3Wf^H17wgwZU z>K~!9H79E1B~i&&8?`ZYaE@~47ox7;gzDH4)C13FwPyHg=%;uDtW#}b>On|F&3hpu&qsH8PuoOFf4*QQPAD4xdW5k1=~;!pGSrM7gPuS#$Naa$zHE(hk(}_S7TcY>FA~gwcJKwdHez=;jcIf zyL1Y86Y;iBVFZPqoh>Qupk5NWy6El1uU1g?4yg4%1{LZ>sAY8)!|`v_b;-I~GUrFt ztD|Jm+NgiV{`nHdUq_0iTVVe>wD!WwBtZC)VJ9_tc&S+F=+X8!&cZ2 zH5KPj8`5v6q)pb(-jd;{Ijx0Sru|V{@=(+RKSSlzeyo9~v7FxjDf-)7*K@W;&2d83lJX`hdGDb*@EnyRudxxv46yT4P#v3(iFm%ZmV&Z#2M)lK zI2KC|v=55|s1ZCz&3*1c0k1YT!|AvN)q$de&9bPMP&HHs>!GHy5o#GPLG6Is&{xB| zDJazUoKH|m^9uE)6K{xRb0N$|y*_Hk8;FX`1k}ie|?KJ9&RHXfjOuzMkU!HjKD`2gK0)sWNJHGqO!b)t4~1PH`g6M=DdN5 z$ZIT%aX+yiLaX=`)boj`5U#<2xD9nf&XKm~7ea-yI_kQnsEBkx&2b-84h+DO_z7xR z@5cFf0TqERqikPTfa<8fn}U++Ha5Vtqiv(;j^n70K|LUhNa?}xF(v9Zr+rYrK`Dy! zP)YYK*2T;CG3Fc-@D}1goPmkQ+A3O#M9%j%QqV|Gppxn$>I>(#UEsY#jV#@#gf8HD z;iw#FGtRPj0IEYnQ3IKby8a-ly%VUn=2cX#JwolIZ-d8Kf2qgY1Ea7YCn{k+9DoYZ za?~n0k4m1v1bcm!L4|rS7RRlq^LJ7EL-vVwU1wCg%be#?$@?A?YW?T>%;q-QSpl^^ z>!CK1#;6==iOSj$mtD-f z1P3(d^W247T>T8{{O`_ps3c1_#YU73)nE)NVs$YoHbTvHN7O3m?~ac`?F&=g@%vNA zQmw~-IG~XgnQA*>6I4TOoV`)WG!nIprlUG?7?r$dP)TI#v^e<4?Czxid zC>83uEItL@mv|IDwkGKTt^&m~IVbLtPk&8c8wKl+;8eUuVpRlTlOnH5S7Qs0YQFVUf#< zy1x)=Yp;g1>w8TpG~qxe)Lb1v_52j-!mFrcx`%o311`k8GwoyZI3ANhb8lP_@J|D_jLLzPgWYJgR+J1Uf4p|bca*5w`WJ?gsf zMFFn`7DpxRY*aGtKuz6EEP?M)4=lde&Ue6E)MqSa{cA3Fb3oa75S2VXphkAv`2rQP zuqAdpjWZW&xfVmc9m}KUyrw(f92L3lsK|{+wKLn*SNRl_6x&fZeuHZ0JJf|&Q6ssB zY9QWHTTW@55vc1+qH>@LD#R^NBc6gF+c5%*;57`#Bx~%oTL5)mGt~7nP*b@JHTTDyH&6q7je3nIS<4@M zX#MA*pgC)bn(IlU~ion~l1Dn>&8d)&D`g?9#2b zowG6e`tF}aK_gp)#qk`fLvc3P@`=Gx)cayl+=%MPO$^5b8|_Oe3bijZ$MQJPxf4rM zf9~o9H`)HucN6Ph8^#h2)WWl^ zHYLMQQ?V73;UU!h=TX=FvcuO=J7PH&z_l2T zKceRTC2A_(qB;_Hx0xKZA7sD=SRS+DY*aGuz_?ofhbZVlC)|m1Scm#G9DxygER-uz z58Ue9g=%OYDl#Wf$$JYm$N#$HDZjQ2E*h0njZhuwguZsZ@f5VzuSbRM2x>$ZP)YeS z>c(5BNIXX+=^NBO5r40pFNwh6S_QIxE0gt0{BF;V=aLRqGe`Rk54yXgss0(VK za-cD)L%pzZfUjB92KB>!yDq^2%Z0S4p93PX1y;n{xD+)7V-H${)}r2u$5A=;_#o?F zp-cRY?MP8rk$MyS92cTOn*ER&gZgl&i3)K)R8CAm?R@)D?OjF<>=`P;@ekWuG9N0k z(Wpq3_9yZESl+nfiH_KH8Bxaz zp_084>h0(^r4UKs0BQucQNQtckJ&Ky|12^!up0G2SOX7WAq+ce*Tp!Sp+Y_a)$Vdv zKaEPdN2tgpIToz@UZfSg8mNt@8)~DN;p#hF{TeFy-l0MldfcWYu`?VMxuU4ZRC4uZ zsNCp+inNbfHPbPb-v5h(1wJxS4ID*f_4lY`3!Jc|Dv8R4xu}NLyZYD8v#6c%CTfFv zh8k(uNeg*a)D#p&O;uHl)cS8tAsi>V6YEeRJdBm_wyQ^+vM-$4sL;+rZB+YFNp=_Y zz(l8QAh|Iw^`e*u+qvVDQ8}~_eSIFUqM(spM~y7?88Zj!N2tQ6kd;71s0u0)4NxQQ zf?Br2U40@dV-&%u7oZ+Z-S_GAx^)M8Bp!SD8 zsD>t>Ixq*-&I(kAH=%OrYb=OAV}49{*1m*Fob~Om*$m-8dro|Zy0E}^mTYY>jCyBO zq&bk*+v7I#x0@ss^% z7Jbbkl4FblQJmZGwC6{=&q-1$SO>(8L3<{B#LUZS!(#m_bsc~DajgW*^S zH8mYkInW20GT$3TVFm{#qZ-KYi$$O?s$Lou;)bZX?tx0CVW^Hwb;p zjX}=y=YJIPbD{?7!(#|4gv(HKx&}jVJ8F6DLN&M-75d+?Acj4#2NXpOs1oYO?5?Qx z#-Xx*GO8nA29FcFtrU83U=K!Nj=wDAAEQRn5H*rksNCp+n)@NBkWWB0xE*ujVN{mi z!94gLhhyYJ`DI|6!1=H?&ecaNL&4FQ_vNaBqLEtI326&I;@O0a1dsHY!6<5 z8sQq}W_NriDuVw*wSUg}6RO=?=m(RGf_#VCNRm9UA0jiLes*h$dvFdO$C^*=Z@VUY zW)WG8dca0hq;{hoaM*bYm0K53Nq!r(4BtFs{VU1RJhx?5(%H;86xFf$sEDjX-M9}m z;>)Pe|AOlHebj?qqV7xd!Xl6fwa-MNrnm$4!)Y&A|5}IdIiUA@*gy8`va+b%b)-BhN9wqGYg7*PM0IeGJ3bcG?hK!TvT_+}>)eeB;Ti0K zmr!$9?q9Pe>UHPsTDQSXU;5)N0F$By0Hxw!FjHJ#_0t@g1=-gj-@!?8#Ti9r~w^D zP33*mK;B|eOdS&92T#O?gaos;CFbKqAJhnzpyp~fs^Jr;5PG2@!8tCE!49GtZiAYN zp{P|b1C@j;u@u0u`G37=>99 zSjS>fJ#TJd@feP?P`R-K)q!KE+_``nzztLq{)=U>SVFtbA3#Ajj>c%5f!Xi~ zYOnqSHIi4TP-jhK$BSSa>anQf>zxNtq5mE==eJN(_m8VbCk_cN+e%1;eXk}3C0}<` z(tL&*=`z$#x5m}CqL$wt=V9k*)KvX|nz|>bY)_uV%!S$^OQCYAhO+~v)%qV9Ebw;2 z0bH;VwfAREY9VfnYM=vZefPs^I1poTKPtJxl7$3c)Adk0;zF!~r%_XpBzcIZWu6I( zVR_7@^*@+`Ub9P3JK9xL*4{+*_%bjPwDIJLF_;}Qm z%tpOE*I-FJg2DIy8wyIAL@BL-bf|hkR70gvBdU#h&`4Ca&qFo50+lN}QB!or9lz*~ z|A}hnEvkcwQ(0tlregi;L?I4n&MKis)D-oguC6`?m1Hw95?5n5o6*4liC_C zf*N53T#O@79Zr+Raw{B_YY}N!{|ae24rt4*hf2oYs18j*b!Y`@4!61Ehf$%ujOy4Q zs0h47t)9ebtwRM+?Uuk#urX@c{(x%#hEJgch3BYb%9k!AxCIZvoYYsk`YEih>rgpT zHNE9V9n@5HMXj2FsEuX>YQ*cX5bi(?w5Zp5E>uVIAd% z1l7G6_Y@V;xZ$k-tQ4|Q zSc(-HR5A@lyBH(4W5oSUyv%;tc#-dhNC+vlv zW@r7sCo3Lv;2RG7ojWA>pGI$vuu$iTw2h}ADwJ(eBkqaiaUN=fKVl_JlqV$kU&DNi z*{Hw5DwrY4Y>QfLt5FgCHOjXUXUJdr6BXW73Jl~kKh z*B?UV$hSy#d*8eBf1p;&Kd6YjM@@AaKfh&lI4VgBp_XAqcRbb|Z-JV-9;gO%pWY4g zQ4iXN+K7&#Hli!29C?UJ#yAD6{Zyz9=RmC{KZb%vSRK{FM$XpQka`zXME0ZB@p07k zmrx`A4b`!Ss0}4h(6;EDs41v}dSG8vM?Xc~KNo4w_rA1(w+*{<;xH-#d7|wBg;1d? ziyBD{R1!6D^+BkJe2VJGB2;9)a`n@wocR?Mp?HOCAQ>_E_kW@&Xe7m)6;U0ig9=e& z)Qw%7Bi!-nsE#d1P2EP+$o8YA;1t%zU$G)a6}I!eP#qnPDYX8lQ&2-IoSSrl`X1CW zJdNt$1uTufxO%!G*0CI@>x*Mej74p=b5Y5-5Y^5y)KsiNMQkqy|NhSf3L3$6)LcJA zJ@6%Jxr7w821}!+pgd}Xbx_xJMBUfdIUIvqHELjUQTHuJbz}>6#9c*M|4O>_#q0-+ zY^V@6!@}4ZHKK*6P~JjyG&;tTwE}9xiACMl8TEhxu09+Ufr+S&Om*iMxcagf*1vAt zz=2@MQ4ctck@%CV2Z~$hQ=oRpI;b3JfEsBF)DGAao8tzI#?TVhp`w_ddTG>ix})y@ z#HXMRj6-daGf@xNgbMLC)QC=^MsN<*!Jkl{Quk1E>6NspNQeEY=D^}O55w^sYB~Om zTE@vs**n3{NbV$m=4uY7FRFeEQZ=>%D8%4ROGt2`dHL*o#g6EQ4v~& ziokx<>bQ=n_5S~jf=2WYDofv>IugH(^)w|aB2lP~rLeO$>bfqd2=qgZ>=RTZ=Ae>u zDTd=-R7b9%BKHJ?zyA-EwVowKjW`-Lf(obx8=*SZ%N-wq3gvX?63k6~Jr=+VI1t}s zZ5&X}{TPnA?>_1|FVR;|W0eBhNup9L^U`R6@l@n`(`*7 zU@q#*QCs#2)OW)zRBnY-VEwCsq!nzvXT%EBKSmv&fqIKAb?(M1)X!rCuBjLj{0oNX zF!+U3$sW)b)uHLA$SrcNLrvLkS3g|Iw+Ef$fJXQ;YGe;k9e9t+Fi~ZD&_-0QB&%YP zN$t#mS|x>1_mxC-pc-lb^-=pn57e?;kNSZ5&8JYELU>jCxxO3Lp*{yI;P0p;%3jSj zpmL~h|+PRje4`7Yx{i<2!3uE@X%e3H}QyU9l#|{k;^bQ3$PR z2WnzC^?6tW_h420fTgf%EgQiY)VpCXYFRx+EyGl`ZIu*2g}MeRvJIRaFgYC?fJ^je z7vt*Ka>-iPE{sIoSOOKoN~kHRgW=d7qwrJI$hTl7{2sOSKEi@ny`G&Pig~Cn#?g2j z_h9AvlJ)VFl`$8(LDf!F<$bp+bKM)!<#Mg((_YGPXud!35`F)JyC& z9>aW%L%jdt6WotGns8q4|K3gQ0V_};J%{R0+-CN&DCVq=TAs~O8&O+SvJFRN`9xHx z=c1PFYShbSC+fNrsEA&~2KXxm|NH;w<~9XoPz_f_?Nn`@Ls08?8fw4Tg#BN zL0$h3>XRydD?6SUbvz&HczM)@(+IVrwsQ_^#roF;Gu?%2upIUMsFA$J!5G%s>LXCE z*kA8UyEN$-|YMmG95aKPs;iw*` z=x9@s0X5QW&Vs0rmPLg$7Pa@cN9}CgQCso`)PU|dpQDzo*D1v7p!J`FLSE_Dx@garRaLq}XoJx5o5Y{qZ#DE8?V;%&o1-EDdOf!nFC?h)dBg-v?eb#Z!` zr%~-r>8-aW>+ddwZX8J3$3{3570Lp(6FYOok;XRC^tpA)8R&zk#WM`0E^vPf`4P8JKmuF26y1KPeQzLbYSYpkl=q4 zn%p04q3DeLxnLYFAq4**3&Wc=mMq4X<3fUeXuM`(NbnDnvwRj3{JWtGQ7@fTlk5Yd z4k{O>U>qLwEw-ip{pU82=*c0$|6sX4Y6|=d6k@pW5f0=)&Z+hqU5IM<8P>*p)9edq zIL@Jd1EX=kbUVKa>r#J$8c2m1_Mjb@pL+6{A;Et^sT|g)eipgk_cG72(0`1PoS2ER zxDN|s=xj@_7*xFn*26DQx$`#`#Z+_58n}S^C{!}0nQP0p46da<7k|al^Yo>~`uk{p zNbrxYSzErZWGpo1pkuRTh#k{(^{LO6R2!X zx6T@_-KagC- zQM!H`>tA#E$#zScOQ@vkxx?1^OjL(inQRwyO4E@HOpIc*%*Ecpe{pZAo@;Z%FX(cqH0q-}z&(2Io(pB9?T&{oK$7 zOH*Hq+3*k4Yd7qGb+Dqdn{x(gfO}Bw`M*$DK_TbC5N{2hK+S2-Z_LH0o}a?WpZ=GqD-<^VkR@j#-38Vgu^`!*-bZxH;H)1-0=MKVcpI9RJh$KS<#LC-$GT zx7(Ui*3e#5ZX`Nw$=4Az;^~+IHy}HhcL1BL!=XO{h@wZ?Oiy^%`Of)j7Bn zzs0K9^@??L3y!D$6o0}YS8ZzR{>1v%9RKx`Z5W?j<5P@?r2E-^L>lu;hiWHy z9{q1Abfa(!lVR<9wn4N)J!mXyg!3^Mu0SQzNmTB?KFzH{`(aWev-A3*Gk5TuxeQ0}ocht-5 zE^5SqNA~9nsW1`sQJ6&Q|8oio@d8xOcVH$wfSR+PFdW~Y)_cakE!4G<5qPap9r+qF z;!*5@H*hk>KDJ*fgzmXz|GpP2 zKR!mEqc)uG|Jq#c$5`sAURlGfF_d~QR7Crs1~l9`-Z|qH>t7vM%mH;^wR0Ql_(4Od7#hw7rPZ;AQ=WdQ0y!%+j7f;n(5>b|``1+DXA*blE@ zEv)|5meU+;O?@FMNnc`NO!3Yds)AZh-LNbE&(-t%XZ2695XT>26lQvF`%HDz!2Qt_ z6uL>y>8OolE;7~L8q|o^qeghxoj;3;)OGBJf8hme^ugX8Imv(~)Vre|bOg0ee2Yr* zH^_5+FC-8eOt$!#juSDc2YrmXu?6aePN@5$QJ)Ye)GMm>|DHm7ED|>~_;0n$!x_}`#S0C7mLJ4KEW=*$ zLxan1Sc1^tH{cnZ#C0Df3=OXHm8b|MPh_S=4J;Gt2ayOIf?co-{))aHlp%3w@ZW6O zh()PaNx}&nj@npWV*{L?)chSMQ!knQouZ~rzH$+{(2-Sg=uD%hqDt4ll^>@hgeD8|8;4W&zd4gJ>&rx&u3iY7$ z8SQ))RL8QR)^h>WNXnodTo;wZ%}^bf=8n%pwZ9D2-j|q|zklwnqo9U%WwLdB6dO{1 zhi8d-z09_*Gi9}`uZr5kzsGF&0yW2J!$X5#L^V;%Z8&OG>_zP(FHjwfo6T}A87AlX zUM>n6K@6tGSkwsHplMyqA}dfKJc8=@x9<2)s1d(HeffCVt-TDW>kDEoEQxBb zE&6(?d`dwLe}TI38&|)I+WY@SeV`=G5gPoJN`6#F8=)f69d-XScYF(Kq(@P?au)mJ zRjiD$IYYhAa9Yk#KUheUi%=5kFEAG#&K(;3e?a&%A~g7q(Y1~wDLMWewY);3EJ@R$ zk}ASk0c%iij*84m)Bv}k?mLSa@g_#&+bG}WEMH!`pd~8geX%5tbsoS9)c--vbxgj{ z;A^!94y3*m2VwI3*4_l{M|~HDW3B?W^HswX45SZ!$MG?K!O-9@hw4OI!<#Xd6Te|Q zj4Biw{H4s6AZ;T#cV%FfTgIX#sXLuwQNSCl65>P*%sh-T#kC(){n7$q#Y`f{hi}bQ!vlf zH(1^G4!8psP#yUl_09GYm2|0!+l_@$^=hu(8TBV?aM27in{;7neY^*@R|u`>nr@K$+Cu0RF*K!`n`ePxSfm)vbL*>LN)X49max1is zbv!dpqn;lJp?`paHiYPp&34Y2s0NQxBk?h4T^>$=UVo zBQ?5#ITn?i7g4L|0czt3Gz`8A`1fBZXs!o3$D=Nshh1?qDk7;HS&~Jdt}l%Rur{{G zPw+GR6{}(A#-YId?|{}MHI`>-_rf;oAXU6WYUJZk$+-m8(S4{6eUF-o%cv>5*_!pQ zFP$eG(C_2^Lp6}0t%bTUMpAE%O43hJBieylh7VAYd4pO-$=lib&Wf6f2-I8`au!E* zv@GfarBXZJZm7ipHP{dpk&f#!H@LQSckt)mqpQ6VXadQb^huZ?Q3v8#7=^?s<;@hPg|rKl;`fQ4``>cJ1(`Io4U zhIVovCP)N)ZvX|I7>D_A4l3kFP|M{f)H~n}Mqt*?%sIJI9qUqW-6b^m=XqOD5t!1| z?w^4Q@jBE?YcHyU=TK8}9aC!kKcJvF{SW73oNjJJsF%|Q)UvsU8d>h{_VL&ZOH%*b z)sLYXeu3(6NDoW42;?Q}X~}k zmb)F7Q?J+CHmoP82WRPH9nXiFnv$sH)({neHmKz|5W{gY`r2qVQ7D2>QIW{i*WOn7 zF&FiEs2&eNePH+)jr*}E{)N>syr1n0-B4TeE^LgqP(N^#>~HP0LY@D#KkHv}zMTVk z@dg&ggahoQQx+qskHY-87PYZl#&CRwwJ_B{o7=XitnP!lZZIkWb5KdV4Ar4+sEEfM z#QM)eA=4oH1w=JGP5m4W$N7Wpw^+%CgnAvRcg4wg7PS#I8EU^dnU0#0$YG(uKW;zm zj2vzeorId&nW+0ajj*4H9{Uvbkhr0&54UnYY@CgJ*LWN00o2IPp;p09s2sSDip+adj`*1-*oQ(4YQt!Nn(NM}3;Li! zHwks)V${1~FX{v1M;wb!QP&NeXjwi1m29(c39d&?VU^G9z5z%(zBiqM8s3CTiZfUY zUtts$m}KAW%`pe{L6{8}VnN)Gx$yxiS5ka#U%#cWCG`cU2R}#UTDHm7&c~Qh>wf?R zt=H+O4Q3}+!e3Aw$}+{ihU;KB^~qQpH=$O|E9{E-rdmhlq6TmPmCR33$(?hWH)_w6<$HT zb|0X2x)-Ppd9!WK<2iGnB3ynp>pvcaPdT7$os8Pa=DGSRR1$uLdeCXqgMLQ+X!SQL z8I#Ph^&Evt$_l7+3|7F$*aV~J*#kbqiqy|yu%q)WhoVrCtmRWs1nQ$g)*LlQolzqmhKj&s z)LgGdMd~0X#Z##3t~l>uf9h{g>%P|lTV112Km9I2b$kzM|;oZ*dlWu_RP~O^5IQrJ=!p zYV8zO;Y9r}Y+cVsEt`|5_4^F7VfZo&btTkGXdG(Y?{fZ%x-RZ=>qsPOum2b|kWQ#& zJqm+=|93M5Z6F<2*oY?M2I@Dk6;Arnex>p!@{c5V#aG($EVw$<>&*G_I0PS{z8BiB z2@U@Bn-!>zR9$O3VOKm!eKeNT@pT;6`u8dH#QE3*L)P2I(i@cyY|-5b;cl5DaIv!ISgqgF>{ zR1((5#@HRTz7M08*Gbf;+$GdLa0{#BBkYdFHrx5-s43aHnf0$8o#247@+vOFmpBvW zZLzt^{gs8RF&5|e4Ae3^g)1=2R@cdx2U9x*lv+(hPu8x>cRa{Q{tmWI32Z*takN%sMT@79sfrc zD#QtQSaxPc)nibv&sbM)hl~lVJw!}VwCL9egQQ_w^37?>1(qz zDj8d#KHK|X10LfYqM)9n*lWpA61!24MLl2#X2sK}P~JmrME{{eonW8MWqMT7Wk&5I z5vUII!j(7$OJRZicDy?l)cb!Dg(95Ti>>h?YOk(&fKM;%ib^8ype0opYHE_<1k8;Z z(PmT!-l38$?l)$8+(7*xF2^p1ELY+lW{2eYUTO*&X?fIx8)J4HfZEySp+ija)h%cZ9cGsEdly42yKV{#5!%#1Y zFHmp8J*Wr&j(T96)Are&54G%uqOMzude9H3Z^@7|)`1ArlvYC}aYs~p<4{}mI^UhR zidshhq8do^tu4z^s0VdL-7p`M<4IJGT*X5829>1w&RQ-+qxO+%&gQ7)*9&{%7)*x# zLkikT-=QAR@HmSm|>$rbL5Ky|bLD)i-1Q`r>t zu4s=Wr|;3#TJE}p@KZ`2O=4As$hsHsc#hy65N1QRlK z6H%|_S+{te-v3`vP%>>tJ@9)hfsasGpZm7$kOfhpj=|el6?H!9Pa8lHY(c#hDp$V7 z&+ss+z3O-Dhte^q96OG|fB*9_1^rl@;jX>6tK%T`6k|C4_FkxW9}C~NZ@^3sESb7s zNsiCOa(Et=zgYj;D4udaJ5S*+0TqqP?37-Q&4v1d~UxM zZ;tBuUQ`5LqSkZv7nX$eQ8~~awaofq5gd!!aCSQr{9`{OwnkmQ9JLjHh1w|(VmI_J zQ&6^-eQ9&j5LF+E%KF);<+2j>z=IfEj?M?DWQ+H&eJ3PCEwd=p2rHw`4?(pv8nurs zL{^*cZK0qC{STGRKcJS`&vt?L5Y=<H{JV>Ua$5WmN^W>^fj94n{rbFsj|l z7=gcHR*dsn?*!IgE(#h^bqvQ&s0$~creX_5<6o!;W_n{r;TP0Ppdxk!73znm5Whur zG}T+nnQ+v1Mpx8Zb}Hu4`d?3>3SLAdOS*T~^Pw2L5S3)>QE#;i?)*Q_g#X!tvZ6Me ze5jqXo;%*v9UtV5FGLM^D+d4nzrLfOWp>{g|Glk-2-MuQLw%xkLv^$-Y6IEjj^9Lu z`VJ~b-l8Ir_=D{$8L=nz8mP$bLPhfW2iCtDe!u}e=&3vL8rx8h$GdSqc0o0mEf5y` zqKS6Kph8>*wV}kKa%TW4QsYqr+lbl+&bae$QISd#;)ex$R4BwQY>sMR7$(BW&iSYj zu0(bCYgE!6!pe9a_3lU+8Wv2#+^G9Y;ySE~z3>sL{T5+i!FNS3pMvIi2xh?9sL*Ud zEtdnRto{)XvnAg{W%v5H)}d#p`{Tt63vRVJup{+q7{>J*u>ke0@hw6(u)MBMV9)cb zQ&5OHptj(#SP%E(227MNEV!O`JI`Y=j^9OvICG+~;7(Z?wG1bsHm=nee3_y4{zn+5 z>l23sb0j+wLEkGvLD^av72+0l!t0BgTOYNNOhtwCFe*Z4Q4hF=T5c~<4^EmSEVvv? zq1vm5n(NM}=X{QODXqYMTK~r=6y-qCq;{e^mZm-xweC-2aeR%{uu!tF;9o8oh6?3b z%!Y}QhXp^e@}ur+iMns9s~<;o@E^>N*-{W0p6}IF0e#f6+KRgIXH?dvOlhI6f=a#~ zs2#08YO5WAO1?R$Rk98>;ytL``5Cj~Bh>OtlFA~R1%rS8FE0hnT{U;26RM~EQFHwT zcEC%h2gRheEUt+PaVyjV`lC8D%N^f{O6tR|{xj_AP_Ty{mh z$9*h^8&D6phk7l?Pir|*3pI74QR{yvs^ROXc3z{VGDSL@sye9S(@>FFlaBS@fWlr5 zG{i*dEqU6aLNyqbwG&ZEHw87qMVJ$JU^reyEyGvN)F0XTXlG;8gGZnuHXGI6I-i2F zdbjg`sC9o1)!<#!T!v<_;}IB2y&~#-Ra8gYqgKlROo+a#Peyfg0hYvrs2qEVRdijp zjA8bd!f_M_enl;}mYJ-f>8J=SLVXJ^!{YcOD%p}`wuogyji@kckFS7@up3TeBl-qM zVy&!U!9Nc;9Ui71=lT6lwqU_af{H|PXC_QQJrZ|fVH`#ScW@21%@O9U#yGjcykodA zcUbVhgy<6)7W`@W6prP-ukwTi|I5ngs4(v$^$%DRFXq+rSbv%GSvKcEg|IZLBQ;QS z)d;oMcXtj)CE4ewb-WhC@iJz^e^AMlF2A)Kg}S~Bs{Q7uDei*7zyCLe!e$Q4K_yp( z0=B-Jqn1ktRKr714KH+Va_0}BI(QMaW&eS3aB9J@;IDROV^iw)u{l$I6-GW-rdr_~+N2mvVa3(8iTXa@b!qQXTi(oxn)AY_FR55m$h)B;F$fFbXw(3=xZ~$A`2YWPm4Y60 z1M_0i3U*^DRF+pkwo0!dD%+c2VQhhFcpBEmgQzS|P|-S?2^I22sHy3Vxp5FG;!Dui zTyCb&4R>HE%vi~8Xo5~r<+T>S7Q2j?ZI!{1&L}{Ju@l^3t%1e@pn9j-{IESu;9OBFtVmCyQo^$;ZmrL zs4i;tv~cwfs0j8(4QwQ4$5}oFZ3w$CCtkz|{MXg9*0zyULEYE{l|(&Jk(q*uz--h5 zR-j%kTTu}>t$Z9N-Vanw%M6xU%_)N)Ez z-=-!bD#ZCv$BUyzUfG>*fZCWky82Mms+ojpcdBzKX43lKOkp4=&Y;$L*#=?3KiBVz z+A4oU9e<6=?z|1H-WIiQ%)%HvgdOl7)IQOykv(`Os)KV;5m|-W(9U3dp6{Kfp!Iwe zKf#2JEqNxQLO&g~g|2h;W2j|$-FY81*Dq015Wk5%Ff%F=`B3dtK&^)6sOx&6uLqB% zpdRkRa6IPfw^27dM{Tuno7#h`pf-^D7=;~Bk(!1I^>*xvyHQ!5xmj57ujy65+SI3_ zlJr_L)_*Mu&pDt_mTztwN-xw-xCYgMA5bri+o&5qU`70>MOg5^c4>(XsBc02yx_I8 z`^!6fqW1g+SPi$LrtD=)*1rn*TiLf)tu2@73vI8_v+Kwgc`$ z&FwX3#%}Hv=IMcQ#^Lyo&0;-|qZdR74VWx2-$^^~E(96Knl%rJ&_= z5DVaW)ZG2&j;HToKU_wklCdG``Yx!q<}lO)en%zef2d?j*VF0+Q6rB<-8Tsp>BSiQ z|Nr}vfcLOl1&MoEXj7r)EE{Ua%j+!etc;NyuZvnW!%**()u;{~MdiwMRE|7y zChpDpSI_fOkkxSpcEtMl9F;^>`&dVsqh6a`u{8EWExXMaiyyEh#`d)jnl-5NKcYGi z+0T}DNz^JD(2w=6EpJVxwzH{~GsO1+JXmgkWb-p<&$;O~UJPj4{ zb*Oeupx$zqFdN=SC1;{Rw*IrDuB+-((1;qMM%dZaN1+}x12vL8?)+J7Nc|R8#o~kQ zHyfi+%kLXh!{4FK|BNRve2Bd@?_gZ&Pf@wxzoMWyPB+xDKQC(Cw?J)3pQ1Xr95sjA zF_=`S<#!#GI}e@lhgqa@qF&P-QOmUtPQ-<%cCro+w(on<6!hUy2bCP$7Pdnv$2ONW~dtZ^tyKss0FqfB(Ob zJMpoz0cu1|P$BGq3SnJxD@q1-;7!&S5a>(k5!_M