- Isolation Tool - modified the UI; preparing to add new feature of polishing at the end of the milling job
- Tool Paint - fixed an issue when launching the tool and an object other than Geometry or Excellon is selected
This commit is contained in:
parent
9c928e7ce8
commit
ddfc8cf6dc
|
@ -16,6 +16,8 @@ CHANGELOG for FlatCAM beta
|
|||
- Excellon UI: added a new feature that is grouped in Advanced Settings: a toggle tools table visibility checkbox
|
||||
- Drilling Tool - minor fixes
|
||||
- Drilling Tool - changes in UI
|
||||
- Isolation Tool - modified the UI; preparing to add new feature of polishing at the end of the milling job
|
||||
- Tool Paint - fixed an issue when launching the tool and an object other than Geometry or Excellon is selected
|
||||
|
||||
10.07.2020
|
||||
|
||||
|
|
|
@ -2092,7 +2092,7 @@ class DrillingUI:
|
|||
_("How much (percentage) of the tool diameter to overlap previous drill hole.")
|
||||
)
|
||||
|
||||
self.drill_overlap_entry = FCDoubleSpinner(callback=self.confirmation_message)
|
||||
self.drill_overlap_entry = FCDoubleSpinner(suffix='%', callback=self.confirmation_message)
|
||||
self.drill_overlap_entry.set_precision(self.decimals)
|
||||
self.drill_overlap_entry.set_range(0.0, 100.0000)
|
||||
self.drill_overlap_entry.setSingleStep(0.1)
|
||||
|
|
|
@ -9,7 +9,7 @@ from PyQt5 import QtWidgets, QtCore, QtGui
|
|||
|
||||
from appTool import AppTool
|
||||
from appGUI.GUIElements import FCCheckBox, FCDoubleSpinner, RadioSet, FCTable, FCInputDialog, FCButton, \
|
||||
FCComboBox, OptionalInputSection, FCSpinner
|
||||
FCComboBox, OptionalInputSection, FCSpinner, OptionalHideInputSection
|
||||
from appParsers.ParseGerber import Gerber
|
||||
|
||||
from copy import deepcopy
|
||||
|
@ -3162,7 +3162,7 @@ class IsoUI:
|
|||
self.exc_obj_combo.is_last = True
|
||||
self.exc_obj_combo.obj_type = "gerber"
|
||||
|
||||
self.grid3.addWidget(self.exc_obj_combo, 29, 0, 1, 2)
|
||||
self.grid3.addWidget(self.exc_obj_combo, 28, 0, 1, 2)
|
||||
|
||||
self.e_ois = OptionalInputSection(self.except_cb,
|
||||
[
|
||||
|
@ -3170,6 +3170,79 @@ class IsoUI:
|
|||
self.exc_obj_combo
|
||||
])
|
||||
|
||||
# Add Polish
|
||||
self.polish_cb = FCCheckBox(label=_('Add Polish'))
|
||||
self.polish_cb.setToolTip(_(
|
||||
"Will add a Paint section at the end of the GCode.\n"
|
||||
"It will clean the material after milling."))
|
||||
self.polish_cb.setObjectName("i_polish")
|
||||
self.grid3.addWidget(self.polish_cb, 29, 0, 1, 2)
|
||||
|
||||
# Polish Tool Diameter
|
||||
self.polish_dia_lbl = QtWidgets.QLabel('%s:' % _('Tool Dia'))
|
||||
self.polish_dia_lbl.setToolTip(
|
||||
_("Diameter for the polishing tool.")
|
||||
)
|
||||
self.polish_dia_entry = FCDoubleSpinner(callback=self.confirmation_message)
|
||||
self.polish_dia_entry.set_precision(self.decimals)
|
||||
self.polish_dia_entry.set_range(0.000, 9999.9999)
|
||||
self.polish_dia_entry.setObjectName("i_polish_dia")
|
||||
|
||||
self.grid3.addWidget(self.polish_dia_lbl, 30, 0)
|
||||
self.grid3.addWidget(self.polish_dia_entry, 30, 1)
|
||||
|
||||
# Polish Overlap
|
||||
self.polish_over_lbl = QtWidgets.QLabel('%s:' % _('Overlap'))
|
||||
self.polish_over_lbl.setToolTip(
|
||||
_("How much (percentage) of the tool width to overlap each tool pass.")
|
||||
)
|
||||
self.polish_over_entry = FCDoubleSpinner(suffix='%', callback=self.confirmation_message)
|
||||
self.polish_over_entry.set_precision(self.decimals)
|
||||
self.polish_over_entry.setWrapping(True)
|
||||
self.polish_over_entry.set_range(0.0000, 99.9999)
|
||||
self.polish_over_entry.setSingleStep(0.1)
|
||||
self.polish_over_entry.setObjectName("i_polish_overlap")
|
||||
|
||||
self.grid3.addWidget(self.polish_over_lbl, 31, 0)
|
||||
self.grid3.addWidget(self.polish_over_entry, 31, 1)
|
||||
|
||||
# Polish Method
|
||||
self.polish_method_lbl = QtWidgets.QLabel('%s:' % _('Method'))
|
||||
self.polish_method_lbl.setToolTip(
|
||||
_("Algorithm for polishing:\n"
|
||||
"- Standard: Fixed step inwards.\n"
|
||||
"- Seed-based: Outwards from seed.\n"
|
||||
"- Line-based: Parallel lines.")
|
||||
)
|
||||
|
||||
self.polish_method_combo = FCComboBox()
|
||||
self.polish_method_combo.addItems(
|
||||
[_("Standard"), _("Seed"), _("Lines")]
|
||||
)
|
||||
self.polish_method_combo.setObjectName('i_polish_method')
|
||||
|
||||
self.grid3.addWidget(self.polish_method_lbl, 32, 0)
|
||||
self.grid3.addWidget(self.polish_method_combo, 32, 1)
|
||||
|
||||
self.polish_dia_lbl.hide()
|
||||
self.polish_dia_entry.hide()
|
||||
self.polish_over_lbl.hide()
|
||||
self.polish_over_entry.hide()
|
||||
self.polish_method_lbl.hide()
|
||||
self.polish_method_combo.hide()
|
||||
|
||||
self.ois_polish = OptionalHideInputSection(
|
||||
self.polish_cb,
|
||||
[
|
||||
self.polish_dia_lbl,
|
||||
self.polish_dia_entry,
|
||||
self.polish_over_lbl,
|
||||
self.polish_over_entry,
|
||||
self.polish_method_lbl,
|
||||
self.polish_method_combo
|
||||
]
|
||||
)
|
||||
|
||||
# Isolation Scope
|
||||
self.select_label = QtWidgets.QLabel('%s:' % _("Selection"))
|
||||
self.select_label.setToolTip(
|
||||
|
@ -3185,8 +3258,8 @@ class IsoUI:
|
|||
)
|
||||
self.select_combo.setObjectName("i_selection")
|
||||
|
||||
self.grid3.addWidget(self.select_label, 30, 0)
|
||||
self.grid3.addWidget(self.select_combo, 30, 1)
|
||||
self.grid3.addWidget(self.select_label, 33, 0)
|
||||
self.grid3.addWidget(self.select_combo, 33, 1)
|
||||
|
||||
self.reference_combo_type_label = QtWidgets.QLabel('%s:' % _("Ref. Type"))
|
||||
self.reference_combo_type_label.setToolTip(
|
||||
|
@ -3196,8 +3269,8 @@ class IsoUI:
|
|||
self.reference_combo_type = FCComboBox()
|
||||
self.reference_combo_type.addItems([_("Gerber"), _("Excellon"), _("Geometry")])
|
||||
|
||||
self.grid3.addWidget(self.reference_combo_type_label, 31, 0)
|
||||
self.grid3.addWidget(self.reference_combo_type, 31, 1)
|
||||
self.grid3.addWidget(self.reference_combo_type_label, 34, 0)
|
||||
self.grid3.addWidget(self.reference_combo_type, 34, 1)
|
||||
|
||||
self.reference_combo_label = QtWidgets.QLabel('%s:' % _("Ref. Object"))
|
||||
self.reference_combo_label.setToolTip(
|
||||
|
@ -3208,8 +3281,8 @@ class IsoUI:
|
|||
self.reference_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex()))
|
||||
self.reference_combo.is_last = True
|
||||
|
||||
self.grid3.addWidget(self.reference_combo_label, 32, 0)
|
||||
self.grid3.addWidget(self.reference_combo, 32, 1)
|
||||
self.grid3.addWidget(self.reference_combo_label, 35, 0)
|
||||
self.grid3.addWidget(self.reference_combo, 35, 1)
|
||||
|
||||
self.reference_combo.hide()
|
||||
self.reference_combo_label.hide()
|
||||
|
@ -3223,7 +3296,7 @@ class IsoUI:
|
|||
"(holes in the polygon).")
|
||||
)
|
||||
|
||||
self.grid3.addWidget(self.poly_int_cb, 33, 0)
|
||||
self.grid3.addWidget(self.poly_int_cb, 36, 0)
|
||||
|
||||
self.poly_int_cb.hide()
|
||||
|
||||
|
@ -3236,8 +3309,8 @@ class IsoUI:
|
|||
self.area_shape_radio = RadioSet([{'label': _("Square"), 'value': 'square'},
|
||||
{'label': _("Polygon"), 'value': 'polygon'}])
|
||||
|
||||
self.grid3.addWidget(self.area_shape_label, 35, 0)
|
||||
self.grid3.addWidget(self.area_shape_radio, 35, 1)
|
||||
self.grid3.addWidget(self.area_shape_label, 38, 0)
|
||||
self.grid3.addWidget(self.area_shape_radio, 38, 1)
|
||||
|
||||
self.area_shape_label.hide()
|
||||
self.area_shape_radio.hide()
|
||||
|
@ -3245,7 +3318,7 @@ class IsoUI:
|
|||
separator_line = QtWidgets.QFrame()
|
||||
separator_line.setFrameShape(QtWidgets.QFrame.HLine)
|
||||
separator_line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
||||
self.grid3.addWidget(separator_line, 36, 0, 1, 2)
|
||||
self.grid3.addWidget(separator_line, 39, 0, 1, 2)
|
||||
|
||||
self.generate_iso_button = QtWidgets.QPushButton("%s" % _("Generate Isolation Geometry"))
|
||||
self.generate_iso_button.setStyleSheet("""
|
||||
|
|
|
@ -590,9 +590,10 @@ class ToolPaint(AppTool, Gerber):
|
|||
active = self.app.collection.get_active()
|
||||
kind = active.kind
|
||||
if kind == 'gerber':
|
||||
self.ui.type_obj_radio.set_value('gerber')
|
||||
self.ui.type_obj_radio.set_value(kind)
|
||||
else:
|
||||
self.ui.type_obj_radio.set_value('geometry')
|
||||
kind = 'geometry'
|
||||
self.ui.type_obj_radio.set_value(kind)
|
||||
|
||||
# run those once so the obj_type attribute is updated in the FCComboBoxes
|
||||
# to make sure that the last loaded object is displayed in the combobox
|
||||
|
|
Loading…
Reference in New Issue