- fixed NCC Tool behavior when selecting tools for Isolation operation

This commit is contained in:
Marius Stanciu
2020-05-30 23:58:20 +03:00
committed by Marius
parent eee6b931c7
commit 808e1c5875
3 changed files with 21 additions and 10 deletions

View File

@@ -501,6 +501,13 @@ class CutOut(AppTool):
"tools_paintmethod": self.app.defaults["tools_paintmethod"], "tools_paintmethod": self.app.defaults["tools_paintmethod"],
"tools_pathconnect": self.app.defaults["tools_pathconnect"], "tools_pathconnect": self.app.defaults["tools_pathconnect"],
"tools_paintcontour": self.app.defaults["tools_paintcontour"], "tools_paintcontour": self.app.defaults["tools_paintcontour"],
# Isolation Tool
"tools_iso_passes": self.app.defaults["tools_iso_passes"],
"tools_iso_overlap": self.app.defaults["tools_iso_overlap"],
"tools_iso_milling_type": self.app.defaults["tools_iso_milling_type"],
"tools_iso_follow": self.app.defaults["tools_iso_follow"],
"tools_iso_isotype": self.app.defaults["tools_iso_isotype"],
}) })
def on_freeform_cutout(self): def on_freeform_cutout(self):
@@ -912,7 +919,7 @@ class CutOut(AppTool):
if 0 in {self.cutting_dia}: if 0 in {self.cutting_dia}:
self.app.inform.emit('[ERROR_NOTCL] %s' % self.app.inform.emit('[ERROR_NOTCL] %s' %
_("Tool Diameter is zero value. Change it to a positive real number.")) _("Tool Diameter is zero value. Change it to a positive real number."))
return "Tool Diameter is zero value. Change it to a positive real number." return
self.cutting_gapsize = float(self.gapsize.get_value()) self.cutting_gapsize = float(self.gapsize.get_value())
@@ -923,7 +930,7 @@ class CutOut(AppTool):
except Exception as e: except Exception as e:
log.debug("CutOut.on_manual_cutout() --> %s" % str(e)) log.debug("CutOut.on_manual_cutout() --> %s" % str(e))
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Could not retrieve Geometry object"), name)) self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Could not retrieve Geometry object"), name))
return "Could not retrieve object: %s" % name return
if self.app.is_legacy is False: if self.app.is_legacy is False:
self.app.plotcanvas.graph_event_disconnect('key_press', self.app.ui.keyPressEvent) self.app.plotcanvas.graph_event_disconnect('key_press', self.app.ui.keyPressEvent)
@@ -1306,10 +1313,10 @@ class CutOut(AppTool):
This only operates on the paths in the original geometry, This only operates on the paths in the original geometry,
i.e. it converts polygons into paths. i.e. it converts polygons into paths.
:param x0: x coord for lower left vertice of the polygon. :param x0: x coord for lower left vertex of the polygon.
:param y0: y coord for lower left vertice of the polygon. :param y0: y coord for lower left vertex of the polygon.
:param x1: x coord for upper right vertice of the polygon. :param x1: x coord for upper right vertex of the polygon.
:param y1: y coord for upper right vertice of the polygon. :param y1: y coord for upper right vertex of the polygon.
:param solid_geo: Geometry from which to substract. If none, use the solid_geomety property of the object :param solid_geo: Geometry from which to substract. If none, use the solid_geomety property of the object
:return: none :return: none
@@ -1367,6 +1374,7 @@ def flatten(geometry):
def recursive_bounds(geometry): def recursive_bounds(geometry):
""" """
Return the bounds of the biggest bounding box in geometry, one that include all.
:param geometry: a iterable object that holds geometry :param geometry: a iterable object that holds geometry
:return: Returns coordinates of rectangular bounds of geometry: (xmin, ymin, xmax, ymax). :return: Returns coordinates of rectangular bounds of geometry: (xmin, ymin, xmax, ymax).

View File

@@ -1621,10 +1621,12 @@ class NonCopperClear(AppTool, Gerber):
"use a number.")) "use a number."))
continue continue
if self.op_radio.get_value() == _("Isolation"): for uid_k, uid_v in self.ncc_tools.items():
self.iso_dia_list.append(self.tooldia) if round(uid_v['tooldia'], self.decimals) == round(self.tooldia, self.decimals):
else: if uid_v['data']['tools_nccoperation'] == "iso":
self.ncc_dia_list.append(self.tooldia) self.iso_dia_list.append(self.tooldia)
else:
self.ncc_dia_list.append(self.tooldia)
else: else:
self.app.inform.emit('[ERROR_NOTCL] %s' % _("No selected tools in Tool Table.")) self.app.inform.emit('[ERROR_NOTCL] %s' % _("No selected tools in Tool Table."))
return return

View File

@@ -21,6 +21,7 @@ CHANGELOG for FlatCAM beta
- added a Multi-color checkbox for the Geometry UI (will color differently tool geometry when the geometry is multitool) - added a Multi-color checkbox for the Geometry UI (will color differently tool geometry when the geometry is multitool)
- added a Multi-color checkbox for the Excellon UI (this way colors for each tool are easier to differentiate especially when the diameter is close) - added a Multi-color checkbox for the Excellon UI (this way colors for each tool are easier to differentiate especially when the diameter is close)
- made the Shell Dock always show docked - made the Shell Dock always show docked
- fixed NCC Tool behavior when selecting tools for Isolation operation
29.05.2020 29.05.2020