jpcgt/flatcam/Beta слито с Beta

This commit is contained in:
Camellan 2019-12-28 22:44:16 +04:00
commit 8cc5b28410
21 changed files with 10405 additions and 10138 deletions

View File

@ -2070,10 +2070,6 @@ class App(QtCore.QObject):
# call it once to make sure it is updated at startup
self.on_update_exc_export(state=self.defaults["excellon_update"])
# Load the defaults values into the Excellon Format and Excellon Zeros fields
self.ui.excellon_defaults_form.excellon_opt_group.excellon_defaults_button.clicked.connect(
self.on_excellon_defaults_button)
# when there are arguments at application startup this get launched
self.args_at_startup[list].connect(self.on_startup_args)
@ -6388,15 +6384,6 @@ class App(QtCore.QObject):
"background-color:%s;"
"border-color: dimgray" % str(self.defaults['tools_qrcode_back_color'])[:7])
def on_excellon_defaults_button(self):
self.defaults_form_fields["excellon_format_lower_in"].set_value('4')
self.defaults_form_fields["excellon_format_upper_in"].set_value('2')
self.defaults_form_fields["excellon_format_lower_mm"].set_value('3')
self.defaults_form_fields["excellon_format_upper_mm"].set_value('3')
self.defaults_form_fields["excellon_zeros"].set_value('L')
self.defaults_form_fields["excellon_units"].set_value('INCH')
log.debug("Excellon app defaults loaded ...")
def on_update_exc_export(self, state):
"""
This is handling the update of Excellon Export parameters based on the ones in the Excellon General but only

View File

@ -11,6 +11,11 @@ CAD program, and create G-Code for Isolation routing.
28.12.2019
- more updates to the Preferences window and in some other parts of the GUI
- updated the translations (less Russian)
28.12.2019
- updated all the translations files
- fixed the big mouse cursor in OpenGL(3D) graphic mode to get the set color
- fixed the cursor to have the set color and set cursor width in the Legacy(2D) graphic engine

View File

@ -1637,7 +1637,7 @@ class GeometryObjectUI(ObjectUI):
self.grid3.addWidget(self.dwelltime_entry, 15, 1)
# preprocessor selection
pp_label = QtWidgets.QLabel('%s:' % _("PostProcessor"))
pp_label = QtWidgets.QLabel('%s:' % _("Preprocessor"))
pp_label.setToolTip(
_("The Preprocessor file that dictates\n"
"the Machine Code (like GCode, RML, HPGL) output.")

View File

@ -273,7 +273,7 @@ class CNCJobPreferencesUI(QtWidgets.QWidget):
self.decimals = decimals
self.cncjob_gen_group = CNCJobGenPrefGroupUI(decimals=self.decimals)
self.cncjob_gen_group.setMinimumWidth(320)
self.cncjob_gen_group.setMinimumWidth(260)
self.cncjob_opt_group = CNCJobOptPrefGroupUI(decimals=self.decimals)
self.cncjob_opt_group.setMinimumWidth(260)
self.cncjob_adv_opt_group = CNCJobAdvOptPrefGroupUI(decimals=self.decimals)
@ -1474,15 +1474,13 @@ class GeneralAppPrefGroupUI(OptionsGroupUI):
grid0.addWidget(self.app_level_radio, 5, 1)
# Portability for FlatCAM
self.portability_label = QtWidgets.QLabel('%s:' % _('Portable app'))
self.portability_label.setToolTip(_("Choose if the application should run as portable.\n\n"
"If Checked the application will run portable,\n"
"which means that the preferences files will be saved\n"
"in the application folder, in the lib\\config subfolder."))
self.portability_cb = FCCheckBox()
self.portability_cb = FCCheckBox('%s' % _('Portable app'))
self.portability_cb.setToolTip(_("Choose if the application should run as portable.\n\n"
"If Checked the application will run portable,\n"
"which means that the preferences files will be saved\n"
"in the application folder, in the lib\\config subfolder."))
grid0.addWidget(self.portability_label, 6, 0)
grid0.addWidget(self.portability_cb, 6, 1)
grid0.addWidget(self.portability_cb, 6, 0, 1, 2)
separator_line = QtWidgets.QFrame()
separator_line.setFrameShape(QtWidgets.QFrame.HLine)
@ -2358,7 +2356,7 @@ class GerberExpPrefGroupUI(OptionsGroupUI):
self.layout.addLayout(form)
# Gerber Units
self.gerber_units_label = QtWidgets.QLabel('<b>%s:</b>' % _('Units'))
self.gerber_units_label = QtWidgets.QLabel('%s:' % _('Units'))
self.gerber_units_label.setToolTip(
_("The units used in the Gerber file.")
)
@ -2372,7 +2370,7 @@ class GerberExpPrefGroupUI(OptionsGroupUI):
form.addRow(self.gerber_units_label, self.gerber_units_radio)
# Gerber format
self.digits_label = QtWidgets.QLabel("<b>%s:</b>" % _("Int/Decimals"))
self.digits_label = QtWidgets.QLabel("%s:" % _("Int/Decimals"))
self.digits_label.setToolTip(
_("The number of digits in the whole part of the number\n"
"and in the fractional part of the number.")
@ -2412,7 +2410,7 @@ class GerberExpPrefGroupUI(OptionsGroupUI):
form.addRow(self.digits_label, hlay1)
# Gerber Zeros
self.zeros_label = QtWidgets.QLabel('<b>%s:</b>' % _('Zeros'))
self.zeros_label = QtWidgets.QLabel('%s:' % _('Zeros'))
self.zeros_label.setAlignment(QtCore.Qt.AlignLeft)
self.zeros_label.setToolTip(
_("This sets the type of Gerber zeros.\n"
@ -2691,6 +2689,16 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
)
grid1.addWidget(self.solid_cb, 0, 1)
separator_line = QtWidgets.QFrame()
separator_line.setFrameShape(QtWidgets.QFrame.HLine)
separator_line.setFrameShadow(QtWidgets.QFrame.Sunken)
grid1.addWidget(separator_line, 1, 0, 1, 2)
grid2 = QtWidgets.QGridLayout()
self.layout.addLayout(grid2)
grid2.setColumnStretch(0, 0)
grid2.setColumnStretch(1, 1)
# Excellon format
self.excellon_format_label = QtWidgets.QLabel("<b>%s:</b>" % _("Excellon Format"))
self.excellon_format_label.setToolTip(
@ -2715,16 +2723,12 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
"\n"
"KiCAD 3:5 INCH TZ")
)
self.layout.addWidget(self.excellon_format_label)
grid2.addWidget(self.excellon_format_label, 0, 0, 1, 2)
self.excellon_format_in_label = QtWidgets.QLabel('%s:' % _("INCH"))
self.excellon_format_in_label.setToolTip(_("Default values for INCH are 2:4"))
hlay1 = QtWidgets.QHBoxLayout()
self.layout.addLayout(hlay1)
self.excellon_format_in_label = QtWidgets.QLabel('%s:' % _("INCH"))
self.excellon_format_in_label.setAlignment(QtCore.Qt.AlignLeft)
self.excellon_format_in_label.setToolTip(
_("Default values for INCH are 2:4"))
hlay1.addWidget(self.excellon_format_in_label, QtCore.Qt.AlignLeft)
self.excellon_format_upper_in_entry = FCSpinner()
self.excellon_format_upper_in_entry.set_range(0, 9)
self.excellon_format_upper_in_entry.setMinimumWidth(30)
@ -2732,11 +2736,11 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
_("This numbers signify the number of digits in\n"
"the whole part of Excellon coordinates.")
)
hlay1.addWidget(self.excellon_format_upper_in_entry, QtCore.Qt.AlignLeft)
hlay1.addWidget(self.excellon_format_upper_in_entry)
excellon_separator_in_label = QtWidgets.QLabel(':')
excellon_separator_in_label.setFixedWidth(5)
hlay1.addWidget(excellon_separator_in_label, QtCore.Qt.AlignLeft)
hlay1.addWidget(excellon_separator_in_label)
self.excellon_format_lower_in_entry = FCSpinner()
self.excellon_format_lower_in_entry.set_range(0, 9)
@ -2745,17 +2749,15 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
_("This numbers signify the number of digits in\n"
"the decimal part of Excellon coordinates.")
)
hlay1.addWidget(self.excellon_format_lower_in_entry, QtCore.Qt.AlignLeft)
hlay1.addStretch()
hlay1.addWidget(self.excellon_format_lower_in_entry)
grid2.addWidget(self.excellon_format_in_label, 1, 0)
grid2.addLayout(hlay1, 1, 1)
self.excellon_format_mm_label = QtWidgets.QLabel('%s:' % _("METRIC"))
self.excellon_format_mm_label.setToolTip(_("Default values for METRIC are 3:3"))
hlay2 = QtWidgets.QHBoxLayout()
self.layout.addLayout(hlay2)
self.excellon_format_mm_label = QtWidgets.QLabel('%s:' % _("METRIC"))
self.excellon_format_mm_label.setAlignment(QtCore.Qt.AlignLeft)
self.excellon_format_mm_label.setToolTip(
_("Default values for METRIC are 3:3"))
hlay2.addWidget(self.excellon_format_mm_label, QtCore.Qt.AlignLeft)
self.excellon_format_upper_mm_entry = FCSpinner()
self.excellon_format_upper_mm_entry.set_range(0, 9)
self.excellon_format_upper_mm_entry.setMinimumWidth(30)
@ -2763,7 +2765,7 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
_("This numbers signify the number of digits in\n"
"the whole part of Excellon coordinates.")
)
hlay2.addWidget(self.excellon_format_upper_mm_entry, QtCore.Qt.AlignLeft)
hlay2.addWidget(self.excellon_format_upper_mm_entry)
excellon_separator_mm_label = QtWidgets.QLabel(':')
excellon_separator_mm_label.setFixedWidth(5)
@ -2776,37 +2778,30 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
_("This numbers signify the number of digits in\n"
"the decimal part of Excellon coordinates.")
)
hlay2.addWidget(self.excellon_format_lower_mm_entry, QtCore.Qt.AlignLeft)
hlay2.addStretch()
hlay2.addWidget(self.excellon_format_lower_mm_entry)
grid2 = QtWidgets.QGridLayout()
self.layout.addLayout(grid2)
grid2.addWidget(self.excellon_format_mm_label, 2, 0)
grid2.addLayout(hlay2, 2, 1)
self.excellon_zeros_label = QtWidgets.QLabel('%s:' % _('Default <b>Zeros</b>'))
self.excellon_zeros_label = QtWidgets.QLabel('%s:' % _('Zeros'))
self.excellon_zeros_label.setAlignment(QtCore.Qt.AlignLeft)
self.excellon_zeros_label.setToolTip(
_("This sets the type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
"Trailing Zeros are removed.\n"
"If TZ is checked then Trailing Zeros are kept\n"
"and Leading Zeros are removed.")
"and Leading Zeros are removed.\n\n"
"This is used when there is no information\n"
"stored in the Excellon file.")
)
grid2.addWidget(self.excellon_zeros_label, 0, 0)
grid2.addWidget(self.excellon_zeros_label, 3, 0)
self.excellon_zeros_radio = RadioSet([{'label': _('LZ'), 'value': 'L'},
{'label': _('TZ'), 'value': 'T'}])
self.excellon_zeros_radio.setToolTip(
_("This sets the default type of Excellon zeros.\n"
"If it is not detected in the parsed file the value here\n"
"will be used."
"If LZ then Leading Zeros are kept and\n"
"Trailing Zeros are removed.\n"
"If TZ is checked then Trailing Zeros are kept\n"
"and Leading Zeros are removed.")
)
grid2.addWidget(self.excellon_zeros_radio, 0, 1)
self.excellon_units_label = QtWidgets.QLabel('%s:' % _('Default <b>Units</b>'))
grid2.addWidget(self.excellon_zeros_radio, 3, 1)
self.excellon_units_label = QtWidgets.QLabel('%s:' % _('Units'))
self.excellon_units_label.setAlignment(QtCore.Qt.AlignLeft)
self.excellon_units_label.setToolTip(
_("This sets the default units of Excellon files.\n"
@ -2815,7 +2810,6 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
"Some Excellon files don't have an header\n"
"therefore this parameter will be used.")
)
grid2.addWidget(self.excellon_units_label, 1, 0)
self.excellon_units_radio = RadioSet([{'label': _('INCH'), 'value': 'INCH'},
{'label': _('MM'), 'value': 'METRIC'}])
@ -2824,18 +2818,29 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
"Some Excellon files don't have an header\n"
"therefore this parameter will be used.")
)
grid2.addWidget(self.excellon_units_radio, 1, 1)
grid2.addWidget(self.excellon_units_label, 4, 0)
grid2.addWidget(self.excellon_units_radio, 4, 1)
self.update_excellon_cb = FCCheckBox(label=_('Update Export settings'))
self.update_excellon_cb.setToolTip(
"If checked, the Excellon Export settings will be updated with the ones above."
)
grid2.addWidget(self.update_excellon_cb, 2, 0, 1, 2)
grid2.addWidget(self.update_excellon_cb, 5, 0, 1, 2)
grid2.addWidget(QtWidgets.QLabel(""), 3, 0)
# Adding the Excellon Format Defaults Button
self.excellon_defaults_button = QtWidgets.QPushButton()
self.excellon_defaults_button.setText(str(_("Restore Defaults")))
self.excellon_defaults_button.setMinimumWidth(80)
grid2.addWidget(self.excellon_defaults_button, 6, 0, 1, 2)
separator_line = QtWidgets.QFrame()
separator_line.setFrameShape(QtWidgets.QFrame.HLine)
separator_line.setFrameShadow(QtWidgets.QFrame.Sunken)
grid2.addWidget(separator_line, 7, 0, 1, 2)
self.excellon_general_label = QtWidgets.QLabel("<b>%s:</b>" % _("Excellon Optimization"))
grid2.addWidget(self.excellon_general_label, 4, 0, 1, 2)
grid2.addWidget(self.excellon_general_label, 8, 0, 1, 2)
self.excellon_optimization_label = QtWidgets.QLabel(_('Algorithm:'))
self.excellon_optimization_label.setToolTip(
@ -2849,7 +2854,6 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
"If this control is disabled, then FlatCAM works in 32bit mode and it uses\n"
"Travelling Salesman algorithm for path optimization.")
)
grid2.addWidget(self.excellon_optimization_label, 5, 0)
self.excellon_optimization_radio = RadioSet([{'label': _('MetaHeuristic'), 'value': 'M'},
{'label': _('Basic'), 'value': 'B'},
@ -2866,9 +2870,11 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
"If this control is disabled, then FlatCAM works in 32bit mode and it uses\n"
"Travelling Salesman algorithm for path optimization.")
)
grid2.addWidget(self.excellon_optimization_radio, 5, 1)
self.optimization_time_label = QtWidgets.QLabel('%s:' % _('Optimization Time'))
grid2.addWidget(self.excellon_optimization_label, 9, 0)
grid2.addWidget(self.excellon_optimization_radio, 9, 1)
self.optimization_time_label = QtWidgets.QLabel('%s:' % _('Duration'))
self.optimization_time_label.setAlignment(QtCore.Qt.AlignLeft)
self.optimization_time_label.setToolTip(
_("When OR-Tools Metaheuristic (MH) is enabled there is a\n"
@ -2877,21 +2883,21 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
"In seconds.")
)
grid2.addWidget(self.optimization_time_label, 6, 0)
self.optimization_time_entry = FCSpinner()
self.optimization_time_entry.set_range(0, 999)
grid2.addWidget(self.optimization_time_entry, 6, 1)
grid2.addWidget(self.optimization_time_label, 10, 0)
grid2.addWidget(self.optimization_time_entry, 10, 1)
separator_line = QtWidgets.QFrame()
separator_line.setFrameShape(QtWidgets.QFrame.HLine)
separator_line.setFrameShadow(QtWidgets.QFrame.Sunken)
grid2.addWidget(separator_line, 9, 0, 1, 2)
grid2.addWidget(separator_line, 11, 0, 1, 2)
# Excellon Object Color
self.gerber_color_label = QtWidgets.QLabel('<b>%s</b>' % _('Excellon Object Color'))
grid2.addWidget(self.gerber_color_label, 10, 0, 1, 2)
grid2.addWidget(self.gerber_color_label, 12, 0, 1, 2)
# Plot Line Color
self.line_color_label = QtWidgets.QLabel('%s:' % _('Outline'))
@ -2907,8 +2913,8 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
self.form_box_child_2.addWidget(self.line_color_button)
self.form_box_child_2.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter)
grid2.addWidget(self.line_color_label, 11, 0)
grid2.addLayout(self.form_box_child_2, 11, 1)
grid2.addWidget(self.line_color_label, 13, 0)
grid2.addLayout(self.form_box_child_2, 13, 1)
# Plot Fill Color
self.fill_color_label = QtWidgets.QLabel('%s:' % _('Fill'))
@ -2926,8 +2932,8 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
self.form_box_child_1.addWidget(self.fill_color_button)
self.form_box_child_1.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter)
grid2.addWidget(self.fill_color_label, 12, 0)
grid2.addLayout(self.form_box_child_1, 12, 1)
grid2.addWidget(self.fill_color_label, 14, 0)
grid2.addLayout(self.form_box_child_1, 14, 1)
# Plot Fill Transparency Level
self.alpha_label = QtWidgets.QLabel('%s:' % _('Alpha'))
@ -2947,8 +2953,8 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
self.form_box_child_3.addWidget(self.color_alpha_slider)
self.form_box_child_3.addWidget(self.color_alpha_spinner)
grid2.addWidget(self.alpha_label, 13, 0)
grid2.addLayout(self.form_box_child_3, 13, 1)
grid2.addWidget(self.alpha_label, 15, 0)
grid2.addLayout(self.form_box_child_3, 15, 1)
self.layout.addStretch()
@ -2974,6 +2980,9 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
self.color_alpha_spinner.valueChanged.connect(self.on_color_spinner)
self.color_alpha_slider.valueChanged.connect(self.on_color_slider)
# Load the defaults values into the Excellon Format and Excellon Zeros fields
self.excellon_defaults_button.clicked.connect(self.on_excellon_defaults_button)
def optimization_selection(self):
if self.excellon_optimization_radio.get_value() == 'M':
self.optimization_time_label.setDisabled(False)
@ -3038,6 +3047,14 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
self.line_color_entry.set_value(new_val_line)
self.app.defaults['excellon_plot_line'] = new_val_line
def on_excellon_defaults_button(self):
self.app.defaults_form_fields["excellon_format_lower_in"].set_value('4')
self.app.defaults_form_fields["excellon_format_upper_in"].set_value('2')
self.app.defaults_form_fields["excellon_format_lower_mm"].set_value('3')
self.app.defaults_form_fields["excellon_format_upper_mm"].set_value('3')
self.app.defaults_form_fields["excellon_zeros"].set_value('L')
self.app.defaults_form_fields["excellon_units"].set_value('INCH')
class ExcellonOptPrefGroupUI(OptionsGroupUI):
@ -3058,6 +3075,8 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
grid2 = QtWidgets.QGridLayout()
self.layout.addLayout(grid2)
grid2.setColumnStretch(0, 0)
grid2.setColumnStretch(1, 1)
# Cut Z
cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z'))
@ -3095,14 +3114,12 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
grid2.addWidget(self.travelz_entry, 1, 1)
# Tool change:
toolchlabel = QtWidgets.QLabel('%s:' % _("Tool change"))
toolchlabel.setToolTip(
self.toolchange_cb = FCCheckBox('%s' % _("Tool change"))
self.toolchange_cb.setToolTip(
_("Include tool-change sequence\n"
"in G-Code (Pause for tool change).")
)
self.toolchange_cb = FCCheckBox()
grid2.addWidget(toolchlabel, 2, 0)
grid2.addWidget(self.toolchange_cb, 2, 1)
grid2.addWidget(self.toolchange_cb, 2, 0, 1, 2)
toolchangezlabel = QtWidgets.QLabel('%s:' % _('Toolchange Z'))
toolchangezlabel.setToolTip(
@ -3165,22 +3182,19 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
grid2.addWidget(self.spindlespeed_entry, 6, 1)
# Dwell
dwelllabel = QtWidgets.QLabel('%s:' % _('Dwell'))
dwelllabel.setToolTip(
self.dwell_cb = FCCheckBox('%s' % _('Enable Dwell'))
self.dwell_cb .setToolTip(
_("Pause to allow the spindle to reach its\n"
"speed before cutting.")
)
grid2.addWidget(self.dwell_cb, 7, 0, 1, 2)
dwelltime = QtWidgets.QLabel('%s:' % _('Duration'))
dwelltime.setToolTip(
_("Number of time units for spindle to dwell.")
)
self.dwell_cb = FCCheckBox()
dwelltime.setToolTip(_("Number of time units for spindle to dwell."))
self.dwelltime_entry = FCDoubleSpinner()
self.dwelltime_entry.set_precision(self.decimals)
self.dwelltime_entry.set_range(0, 99999.9999)
grid2.addWidget(dwelllabel, 7, 0)
grid2.addWidget(self.dwell_cb, 7, 1)
grid2.addWidget(dwelltime, 8, 0)
grid2.addWidget(self.dwelltime_entry, 8, 1)
@ -3245,15 +3259,6 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
grid2.addWidget(stdlabel, 13, 0)
grid2.addWidget(self.slot_tooldia_entry, 13, 1)
grid4 = QtWidgets.QGridLayout()
self.layout.addLayout(grid4)
# Adding the Excellon Format Defaults Button
self.excellon_defaults_button = QtWidgets.QPushButton()
self.excellon_defaults_button.setText(str(_("Defaults")))
self.excellon_defaults_button.setMinimumWidth(80)
grid4.addWidget(self.excellon_defaults_button, 0, 0, QtCore.Qt.AlignRight)
self.layout.addStretch()
@ -3365,19 +3370,17 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI):
grid1.addWidget(spindle_dir_label, 6, 0)
grid1.addWidget(self.spindledir_radio, 6, 1)
fplungelabel = QtWidgets.QLabel('%s:' % _('Fast Plunge'))
fplungelabel.setToolTip(
self.fplunge_cb = FCCheckBox('%s' % _('Fast Plunge'))
self.fplunge_cb.setToolTip(
_("By checking this, the vertical move from\n"
"Z_Toolchange to Z_move is done with G0,\n"
"meaning the fastest speed available.\n"
"WARNING: the move is done at Toolchange X,Y coords.")
)
self.fplunge_cb = FCCheckBox()
grid1.addWidget(fplungelabel, 7, 0)
grid1.addWidget(self.fplunge_cb, 7, 1)
grid1.addWidget(self.fplunge_cb, 7, 0, 1, 2)
fretractlabel = QtWidgets.QLabel('%s:' % _('Fast Retract'))
fretractlabel.setToolTip(
self.fretract_cb = FCCheckBox('%s' % _('Fast Retract'))
self.fretract_cb.setToolTip(
_("Exit hole strategy.\n"
" - When uncheked, while exiting the drilled hole the drill bit\n"
"will travel slow, with set feedrate (G1), up to zero depth and then\n"
@ -3385,9 +3388,8 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI):
" - When checked the travel from Z cut (cut depth) to Z_move\n"
"(travel height) is done as fast as possible (G0) in one move.")
)
self.fretract_cb = FCCheckBox()
grid1.addWidget(fretractlabel, 8, 0)
grid1.addWidget(self.fretract_cb, 8, 1)
grid1.addWidget(self.fretract_cb, 8, 0, 1, 2)
self.layout.addStretch()
@ -3412,7 +3414,7 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI):
self.layout.addLayout(form)
# Excellon Units
self.excellon_units_label = QtWidgets.QLabel('<b>%s:</b>' % _('Units'))
self.excellon_units_label = QtWidgets.QLabel('%s:' % _('Units'))
self.excellon_units_label.setToolTip(
_("The units used in the Excellon file.")
)
@ -3426,7 +3428,7 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI):
form.addRow(self.excellon_units_label, self.excellon_units_radio)
# Excellon non-decimal format
self.digits_label = QtWidgets.QLabel("<b>%s:</b>" % _("Int/Decimals"))
self.digits_label = QtWidgets.QLabel("%s:" % _("Int/Decimals"))
self.digits_label.setToolTip(
_("The NC drill files, usually named Excellon files\n"
"are files that can be found in different formats.\n"
@ -3462,7 +3464,7 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI):
form.addRow(self.digits_label, hlay1)
# Select the Excellon Format
self.format_label = QtWidgets.QLabel("<b>%s:</b>" % _("Format"))
self.format_label = QtWidgets.QLabel("%s:" % _("Format"))
self.format_label.setToolTip(
_("Select the kind of coordinates format used.\n"
"Coordinates can be saved with decimal point or without.\n"
@ -3485,7 +3487,7 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI):
form.addRow(self.format_label, self.format_radio)
# Excellon Zeros
self.zeros_label = QtWidgets.QLabel('<b>%s:</b>' % _('Zeros'))
self.zeros_label = QtWidgets.QLabel('%s:' % _('Zeros'))
self.zeros_label.setAlignment(QtCore.Qt.AlignLeft)
self.zeros_label.setToolTip(
_("This sets the type of Excellon zeros.\n"
@ -3508,7 +3510,7 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI):
form.addRow(self.zeros_label, self.zeros_radio)
# Slot type
self.slot_type_label = QtWidgets.QLabel('<b>%s:</b>' % _('Slot type'))
self.slot_type_label = QtWidgets.QLabel('%s:' % _('Slot type'))
self.slot_type_label.setAlignment(QtCore.Qt.AlignLeft)
self.slot_type_label.setToolTip(
_("This sets how the slots will be exported.\n"
@ -3952,6 +3954,8 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
grid1 = QtWidgets.QGridLayout()
self.layout.addLayout(grid1)
grid1.setColumnStretch(0, 0)
grid1.setColumnStretch(1, 1)
# Cut Z
cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z'))
@ -4027,16 +4031,14 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
grid1.addWidget(self.travelz_entry, 3, 1)
# Tool change:
toolchlabel = QtWidgets.QLabel('%s:' % _("Tool change"))
toolchlabel.setToolTip(
self.toolchange_cb = FCCheckBox('%s' % _("Tool change"))
self.toolchange_cb.setToolTip(
_(
"Include tool-change sequence\n"
"in the Machine Code (Pause for tool change)."
)
)
self.toolchange_cb = FCCheckBox()
grid1.addWidget(toolchlabel, 4, 0)
grid1.addWidget(self.toolchange_cb, 4, 1)
grid1.addWidget(self.toolchange_cb, 4, 0, 1, 2)
# Toolchange Z
toolchangezlabel = QtWidgets.QLabel('%s:' % _('Toolchange Z'))
@ -4128,7 +4130,7 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
grid1.addWidget(self.cncspindlespeed_entry, 9, 1)
# Dwell
self.dwell_cb = FCCheckBox(label='%s:' % _('Dwell'))
self.dwell_cb = FCCheckBox(label='%s' % _('Enable Dwell'))
self.dwell_cb.setToolTip(
_("Pause to allow the spindle to reach its\n"
"speed before cutting.")
@ -4289,16 +4291,14 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI):
grid1.addWidget(self.spindledir_radio, 8, 1)
# Fast Move from Z Toolchange
fplungelabel = QtWidgets.QLabel('%s:' % _('Fast Plunge'))
fplungelabel.setToolTip(
self.fplunge_cb = FCCheckBox('%s' % _('Fast Plunge'))
self.fplunge_cb.setToolTip(
_("By checking this, the vertical move from\n"
"Z_Toolchange to Z_move is done with G0,\n"
"meaning the fastest speed available.\n"
"WARNING: the move is done at Toolchange X,Y coords.")
)
self.fplunge_cb = FCCheckBox()
grid1.addWidget(fplungelabel, 9, 0)
grid1.addWidget(self.fplunge_cb, 9, 1)
grid1.addWidget(self.fplunge_cb, 9, 0, 1, 2)
# Size of trace segment on X axis
segx_label = QtWidgets.QLabel('%s:' % _("Segment X size"))
@ -4404,7 +4404,7 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI):
# self.plot_cb = QtWidgets.QCheckBox('Plot')
self.plot_cb = FCCheckBox(_('Plot Object'))
self.plot_cb.setToolTip(_("Plot (show) this object."))
grid0.addWidget(self.plot_cb, 0, 0)
grid0.addWidget(self.plot_cb, 0, 0, 1, 2)
# Plot Kind
self.cncplot_method_label = QtWidgets.QLabel('%s:' % _("Plot kind"))
@ -4419,7 +4419,7 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI):
{"label": _("All"), "value": "all"},
{"label": _("Travel"), "value": "travel"},
{"label": _("Cut"), "value": "cut"}
], stretch=False)
], orientation='vertical')
grid0.addWidget(self.cncplot_method_label, 1, 0)
grid0.addWidget(self.cncplot_method_radio, 1, 1)
@ -4465,10 +4465,10 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI):
grid0.addWidget(self.tooldia_entry, 4, 1)
# add a space
grid0.addWidget(QtWidgets.QLabel(''), 5, 0)
grid0.addWidget(QtWidgets.QLabel('<b>%s:</b>' % _("G-code Decimals")), 5, 0, 1, 2)
# Number of decimals to use in GCODE coordinates
cdeclabel = QtWidgets.QLabel('%s:' % _('Coordinates decimals'))
cdeclabel = QtWidgets.QLabel('%s:' % _('Coordinates'))
cdeclabel.setToolTip(
_("The number of decimals to be used for \n"
"the X, Y, Z coordinates in CNC code (GCODE, etc.)")
@ -4481,7 +4481,7 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI):
grid0.addWidget(self.coords_dec_entry, 6, 1)
# Number of decimals to use in GCODE feedrate
frdeclabel = QtWidgets.QLabel('%s:' % _('Feedrate decimals'))
frdeclabel = QtWidgets.QLabel('%s:' % _('Feedrate'))
frdeclabel.setToolTip(
_("The number of decimals to be used for \n"
"the Feedrate parameter in CNC code (GCODE, etc.)")
@ -4788,7 +4788,7 @@ class CNCJobOptPrefGroupUI(OptionsGroupUI):
self.prepend_text = FCTextArea()
self.prepend_text.setPlaceholderText(
_("Type here any G-Code commands you would\n"
_("Type here any G-Code commands you would "
"like to add at the beginning of the G-Code file.")
)
self.layout.addWidget(self.prepend_text)
@ -4805,7 +4805,7 @@ class CNCJobOptPrefGroupUI(OptionsGroupUI):
self.append_text = FCTextArea()
self.append_text.setPlaceholderText(
_("Type here any G-Code commands you would\n"
_("Type here any G-Code commands you would "
"like to append to the generated file.\n"
"I.e.: M2 (End of program)")
)
@ -4832,7 +4832,7 @@ class CNCJobAdvOptPrefGroupUI(OptionsGroupUI):
self.layout.addWidget(self.export_gcode_label)
# Prepend to G-Code
toolchangelabel = QtWidgets.QLabel('%s:' % _('Toolchange G-Code'))
toolchangelabel = QtWidgets.QLabel('%s' % _('Toolchange G-Code'))
toolchangelabel.setToolTip(
_(
"Type here any G-Code commands you would\n"
@ -4858,12 +4858,12 @@ class CNCJobAdvOptPrefGroupUI(OptionsGroupUI):
self.toolchange_text = FCTextArea()
self.toolchange_text.setPlaceholderText(
_(
"Type here any G-Code commands you would\n"
"Type here any G-Code commands you would "
"like to be executed when Toolchange event is encountered.\n"
"This will constitute a Custom Toolchange GCode,\n"
"This will constitute a Custom Toolchange GCode, "
"or a Toolchange Macro.\n"
"The FlatCAM variables are surrounded by '%' symbol.\n"
"WARNING: it can be used only with a preprocessor file\n"
"WARNING: it can be used only with a preprocessor file "
"that has 'toolchange_custom' in it's name."
)
)
@ -4898,26 +4898,32 @@ class CNCJobAdvOptPrefGroupUI(OptionsGroupUI):
variables = [_('Parameters'), 'tool', 'tooldia', 't_drills', 'x_toolchange', 'y_toolchange', 'z_toolchange',
'z_cut', 'z_move', 'z_depthpercut', 'spindlespeed', 'dwelltime']
self.tc_variable_combo.addItems(variables)
self.tc_variable_combo.insertSeparator(1)
self.tc_variable_combo.setItemData(0, _("FlatCAM CNC parameters"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(1, 'tool = %s' % _("tool number"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(2, 'tooldia = %s' % _("tool diameter"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(3, 't_drills = %s' % _("for Excellon, total number of drills"),
fnt = QtGui.QFont()
fnt.setBold(True)
self.tc_variable_combo.setItemData(0, fnt, Qt.FontRole)
self.tc_variable_combo.setItemData(2, 'tool = %s' % _("tool number"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(3, 'tooldia = %s' % _("tool diameter"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(4, 't_drills = %s' % _("for Excellon, total number of drills"),
Qt.ToolTipRole)
self.tc_variable_combo.setItemData(4, 'x_toolchange = %s' % _("X coord for Toolchange"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(5, 'y_toolchange = %s' % _("Y coord for Toolchange"),
self.tc_variable_combo.setItemData(5, 'x_toolchange = %s' % _("X coord for Toolchange"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(6, 'y_toolchange = %s' % _("Y coord for Toolchange"),
Qt.ToolTipRole)
self.tc_variable_combo.setItemData(6, 'z_toolchange = %s' % _("Z coord for Toolchange"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(7, 'z_cut = %s' % _("Z depth for the cut"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(8, 'z_move = %s' % _("Z height for travel"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(9, 'z_depthpercut = %s' % _("the step value for multidepth cut"),
self.tc_variable_combo.setItemData(7, 'z_toolchange = %s' % _("Z coord for Toolchange"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(8, 'z_cut = %s' % _("Z depth for the cut"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(9, 'z_move = %s' % _("Z height for travel"), Qt.ToolTipRole)
self.tc_variable_combo.setItemData(10, 'z_depthpercut = %s' % _("the step value for multidepth cut"),
Qt.ToolTipRole)
self.tc_variable_combo.setItemData(10, 'spindlesspeed = %s' % _("the value for the spindle speed"),
self.tc_variable_combo.setItemData(11, 'spindlesspeed = %s' % _("the value for the spindle speed"),
Qt.ToolTipRole)
self.tc_variable_combo.setItemData(11,
self.tc_variable_combo.setItemData(12,
_("dwelltime = time to dwell to allow the spindle to reach it's set RPM"),
Qt.ToolTipRole)
hlay1.addStretch()
# hlay1.addStretch()
# Insert Variable into the Toolchange G-Code Text Box
# self.tc_insert_buton = FCButton("Insert")
@ -5193,30 +5199,26 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
grid0.addWidget(self.ncc_method_radio, 10, 1)
# Connect lines
pathconnectlabel = QtWidgets.QLabel('%s:' % _("Connect"))
pathconnectlabel.setToolTip(
self.ncc_connect_cb = FCCheckBox('%s' % _("Connect"))
self.ncc_connect_cb.setToolTip(
_("Draw lines between resulting\n"
"segments to minimize tool lifts.")
)
self.ncc_connect_cb = FCCheckBox()
grid0.addWidget(pathconnectlabel, 11, 0)
grid0.addWidget(self.ncc_connect_cb, 11, 1)
grid0.addWidget(self.ncc_connect_cb, 11, 0, 1, 2)
# Contour Checkbox
contourlabel = QtWidgets.QLabel('%s:' % _("Contour"))
contourlabel.setToolTip(
self.ncc_contour_cb = FCCheckBox('%s' % _("Contour"))
self.ncc_contour_cb.setToolTip(
_("Cut around the perimeter of the polygon\n"
"to trim rough edges.")
)
self.ncc_contour_cb = FCCheckBox()
grid0.addWidget(contourlabel, 12, 0)
grid0.addWidget(self.ncc_contour_cb, 12, 1)
grid0.addWidget(self.ncc_contour_cb, 12, 0, 1, 2)
# Rest machining CheckBox
restlabel = QtWidgets.QLabel('%s:' % _("Rest M."))
restlabel.setToolTip(
self.ncc_rest_cb = FCCheckBox('%s' % _("Rest Machining"))
self.ncc_rest_cb.setToolTip(
_("If checked, use 'rest machining'.\n"
"Basically it will clear copper outside PCB features,\n"
"using the biggest tool and continue with the next tools,\n"
@ -5225,23 +5227,19 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
"no more copper to clear or there are no more tools.\n"
"If not checked, use the standard algorithm.")
)
self.ncc_rest_cb = FCCheckBox()
grid0.addWidget(restlabel, 13, 0)
grid0.addWidget(self.ncc_rest_cb, 13, 1)
grid0.addWidget(self.ncc_rest_cb, 13, 0, 1, 2)
# ## NCC Offset choice
self.ncc_offset_choice_label = QtWidgets.QLabel('%s:' % _("Offset"))
self.ncc_offset_choice_label.setToolTip(
self.ncc_choice_offset_cb = FCCheckBox('%s' % _("Offset"))
self.ncc_choice_offset_cb.setToolTip(
_("If used, it will add an offset to the copper features.\n"
"The copper clearing will finish to a distance\n"
"from the copper features.\n"
"The value can be between 0 and 10 FlatCAM units.")
)
self.ncc_choice_offset_cb = FCCheckBox()
grid0.addWidget(self.ncc_offset_choice_label, 14, 0)
grid0.addWidget(self.ncc_choice_offset_cb, 14, 1)
grid0.addWidget(self.ncc_choice_offset_cb, 14, 0, 1, 2)
# ## NCC Offset value
self.ncc_offset_label = QtWidgets.QLabel('%s:' % _("Offset value"))
@ -5438,14 +5436,12 @@ class ToolsCutoutPrefGroupUI(OptionsGroupUI):
self.gaps_combo.setStyleSheet('background-color: rgb(255,255,255)')
# Surrounding convex box shape
self.convex_box = FCCheckBox()
self.convex_box_label = QtWidgets.QLabel('%s:' % _("Convex Sh."))
self.convex_box_label.setToolTip(
self.convex_box = FCCheckBox('%s' % _("Convex Shape"))
self.convex_box.setToolTip(
_("Create a convex shape surrounding the entire PCB.\n"
"Used only if the source object type is Gerber.")
)
grid0.addWidget(self.convex_box_label, 7, 0)
grid0.addWidget(self.convex_box, 7, 1)
grid0.addWidget(self.convex_box, 7, 0, 1, 2)
self.layout.addStretch()
@ -5619,24 +5615,20 @@ class ToolsPaintPrefGroupUI(OptionsGroupUI):
grid0.addWidget(self.paintmethod_combo, 4, 1)
# Connect lines
pathconnectlabel = QtWidgets.QLabel('%s:' % _("Connect"))
pathconnectlabel.setToolTip(
self.pathconnect_cb = FCCheckBox('%s' % _("Connect"))
self.pathconnect_cb.setToolTip(
_("Draw lines between resulting\n"
"segments to minimize tool lifts.")
)
grid0.addWidget(pathconnectlabel, 5, 0)
self.pathconnect_cb = FCCheckBox()
grid0.addWidget(self.pathconnect_cb, 5, 1)
grid0.addWidget(self.pathconnect_cb, 5, 0, 1, 2)
# Paint contour
contourlabel = QtWidgets.QLabel('%s:' % _("Contour"))
contourlabel.setToolTip(
self.contour_cb = FCCheckBox('%s' % _("Contour"))
self.contour_cb.setToolTip(
_("Cut around the perimeter of the polygon\n"
"to trim rough edges.")
)
grid0.addWidget(contourlabel, 6, 0)
self.contour_cb = FCCheckBox()
grid0.addWidget(self.contour_cb, 6, 1)
grid0.addWidget(self.contour_cb, 6, 0, 1, 2)
# Polygon selection
selectlabel = QtWidgets.QLabel('%s:' % _('Selection'))
@ -6065,7 +6057,7 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI):
"the final panel will have as many columns and rows as\n"
"they fit completely within selected area.")
)
grid0.addWidget(self.pconstrain_cb, 5, 0)
grid0.addWidget(self.pconstrain_cb, 5, 0, 1, 2)
self.px_width_entry = FCDoubleSpinner()
self.px_width_entry.set_range(0.000001, 9999.9999)
@ -6647,7 +6639,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
grid0.addWidget(self.dwellrev_entry, 14, 1)
# Preprocessors
pp_label = QtWidgets.QLabel('%s:' % _('PostProcessor'))
pp_label = QtWidgets.QLabel('%s:' % _('Preprocessor'))
pp_label.setToolTip(
_("Files that control the GCode generation.")
)

View File

@ -361,26 +361,23 @@ class NonCopperClear(FlatCAMTool, Gerber):
grid3.addWidget(self.ncc_method_radio, 4, 1)
# Connect lines
pathconnectlabel = QtWidgets.QLabel('%s:' % _("Connect"))
pathconnectlabel.setToolTip(
self.ncc_connect_cb = FCCheckBox('%s' % _("Connect"))
self.ncc_connect_cb.setToolTip(
_("Draw lines between resulting\n"
"segments to minimize tool lifts.")
)
grid3.addWidget(pathconnectlabel, 5, 0)
self.ncc_connect_cb = FCCheckBox()
grid3.addWidget(self.ncc_connect_cb, 5, 1)
grid3.addWidget(self.ncc_connect_cb, 5, 0, 1, 2)
contourlabel = QtWidgets.QLabel('%s:' % _("Contour"))
contourlabel.setToolTip(
self.ncc_contour_cb = FCCheckBox('%s' % _("Contour"))
self.ncc_contour_cb.setToolTip(
_("Cut around the perimeter of the polygon\n"
"to trim rough edges.")
)
grid3.addWidget(contourlabel, 6, 0)
self.ncc_contour_cb = FCCheckBox()
grid3.addWidget(self.ncc_contour_cb, 6, 1)
grid3.addWidget(self.ncc_contour_cb, 6, 0, 1, 2)
restlabel = QtWidgets.QLabel('%s:' % _("Rest M."))
restlabel.setToolTip(
# Rest Machining
self.ncc_rest_cb = FCCheckBox('%s' % _("Rest Machining"))
self.ncc_rest_cb.setToolTip(
_("If checked, use 'rest machining'.\n"
"Basically it will clear copper outside PCB features,\n"
"using the biggest tool and continue with the next tools,\n"
@ -389,21 +386,18 @@ class NonCopperClear(FlatCAMTool, Gerber):
"no more copper to clear or there are no more tools.\n"
"If not checked, use the standard algorithm.")
)
grid3.addWidget(restlabel, 7, 0)
self.ncc_rest_cb = FCCheckBox()
grid3.addWidget(self.ncc_rest_cb, 7, 1)
grid3.addWidget(self.ncc_rest_cb, 7, 0, 1, 2)
# ## NCC Offset choice
self.ncc_offset_choice_label = QtWidgets.QLabel('%s:' % _("Offset"))
self.ncc_offset_choice_label.setToolTip(
self.ncc_choice_offset_cb = FCCheckBox('%s' % _("Offset"))
self.ncc_choice_offset_cb.setToolTip(
_("If used, it will add an offset to the copper features.\n"
"The copper clearing will finish to a distance\n"
"from the copper features.\n"
"The value can be between 0 and 10 FlatCAM units.")
)
grid3.addWidget(self.ncc_offset_choice_label, 8, 0)
self.ncc_choice_offset_cb = FCCheckBox()
grid3.addWidget(self.ncc_choice_offset_cb, 8, 1)
grid3.addWidget(self.ncc_choice_offset_cb, 8, 0, 1, 2)
# ## NCC Offset value
self.ncc_offset_label = QtWidgets.QLabel('%s:' % _("Offset value"))

View File

@ -264,26 +264,22 @@ class ToolPaint(FlatCAMTool, Gerber):
grid3.addWidget(self.paintmethod_combo, 3, 1)
# Connect lines
pathconnectlabel = QtWidgets.QLabel('%s:' % _("Connect"))
pathconnectlabel.setToolTip(
self.pathconnect_cb = FCCheckBox('%s' % _("Connect"))
self.pathconnect_cb.setToolTip(
_("Draw lines between resulting\n"
"segments to minimize tool lifts.")
)
grid3.addWidget(pathconnectlabel, 4, 0)
self.pathconnect_cb = FCCheckBox()
grid3.addWidget(self.pathconnect_cb, 4, 1)
grid3.addWidget(self.pathconnect_cb, 4, 0, 1, 2)
contourlabel = QtWidgets.QLabel('%s:' % _("Contour"))
contourlabel.setToolTip(
self.paintcontour_cb = FCCheckBox('%s' % _("Contour"))
self.paintcontour_cb.setToolTip(
_("Cut around the perimeter of the polygon\n"
"to trim rough edges.")
)
grid3.addWidget(contourlabel, 5, 0)
self.paintcontour_cb = FCCheckBox()
grid3.addWidget(self.paintcontour_cb, 5, 1)
grid3.addWidget(self.paintcontour_cb, 5, 0, 1, 2)
restlabel = QtWidgets.QLabel('%s:' % _("Rest M."))
restlabel.setToolTip(
self.rest_cb = FCCheckBox('%s' % _("Rest Machining"))
self.rest_cb.setToolTip(
_("If checked, use 'rest machining'.\n"
"Basically it will clear copper outside PCB features,\n"
"using the biggest tool and continue with the next tools,\n"
@ -292,9 +288,7 @@ class ToolPaint(FlatCAMTool, Gerber):
"no more copper to clear or there are no more tools.\n\n"
"If not checked, use the standard algorithm.")
)
grid3.addWidget(restlabel, 6, 0)
self.rest_cb = FCCheckBox()
grid3.addWidget(self.rest_cb, 6, 1)
grid3.addWidget(self.rest_cb, 6, 0, 1, 2)
# Polygon selection
selectlabel = QtWidgets.QLabel('%s:' % _('Selection'))

View File

@ -331,7 +331,7 @@ class SolderPaste(FlatCAMTool):
self.gcode_form_layout.addRow(self.dwellrev_label, self.dwellrev_entry)
# Preprocessors
pp_label = QtWidgets.QLabel('%s:' % _('PostProcessor'))
pp_label = QtWidgets.QLabel('%s:' % _('Preprocessor'))
pp_label.setToolTip(
_("Files that control the GCode generation.")
)

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff