diff --git a/AppTools/ToolCutOut.py b/AppTools/ToolCutOut.py index 196da2b6..97a31975 100644 --- a/AppTools/ToolCutOut.py +++ b/AppTools/ToolCutOut.py @@ -501,6 +501,13 @@ class CutOut(AppTool): "tools_paintmethod": self.app.defaults["tools_paintmethod"], "tools_pathconnect": self.app.defaults["tools_pathconnect"], "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): @@ -912,7 +919,7 @@ class CutOut(AppTool): if 0 in {self.cutting_dia}: self.app.inform.emit('[ERROR_NOTCL] %s' % _("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()) @@ -923,7 +930,7 @@ class CutOut(AppTool): except Exception as e: log.debug("CutOut.on_manual_cutout() --> %s" % str(e)) 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: 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, i.e. it converts polygons into paths. - :param x0: x coord for lower left vertice of the polygon. - :param y0: y coord for lower left vertice of the polygon. - :param x1: x coord for upper right vertice of the polygon. - :param y1: y coord for upper right vertice of the polygon. + :param x0: x coord for lower left vertex of the polygon. + :param y0: y coord for lower left vertex of the polygon. + :param x1: x coord for upper right vertex 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 :return: none @@ -1367,6 +1374,7 @@ def flatten(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 :return: Returns coordinates of rectangular bounds of geometry: (xmin, ymin, xmax, ymax). diff --git a/AppTools/ToolNCC.py b/AppTools/ToolNCC.py index c666629b..c1aa6551 100644 --- a/AppTools/ToolNCC.py +++ b/AppTools/ToolNCC.py @@ -1621,10 +1621,12 @@ class NonCopperClear(AppTool, Gerber): "use a number.")) continue - if self.op_radio.get_value() == _("Isolation"): - self.iso_dia_list.append(self.tooldia) - else: - self.ncc_dia_list.append(self.tooldia) + 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": + self.iso_dia_list.append(self.tooldia) + else: + self.ncc_dia_list.append(self.tooldia) else: self.app.inform.emit('[ERROR_NOTCL] %s' % _("No selected tools in Tool Table.")) return diff --git a/CHANGELOG.md b/CHANGELOG.md index 232ae0bb..1dac8877 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 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 +- fixed NCC Tool behavior when selecting tools for Isolation operation 29.05.2020