Преглед на файлове

- fixed NCC Tool behavior when selecting tools for Isolation operation

Marius Stanciu преди 5 години
родител
ревизия
808e1c5875
променени са 3 файла, в които са добавени 21 реда и са изтрити 10 реда
  1. 14 6
      AppTools/ToolCutOut.py
  2. 6 4
      AppTools/ToolNCC.py
  3. 1 0
      CHANGELOG.md

+ 14 - 6
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).

+ 6 - 4
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

+ 1 - 0
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