Browse Source

- fixed bug that allowed empty tool in the tools generated in Geometry object
- fixed bug in Tool Cutout that did not allow the transfer of used cutout tool diameter to the cutout geometry object

Marius Stanciu 6 years ago
parent
commit
769f92147a
5 changed files with 15 additions and 5 deletions
  1. 1 1
      FlatCAMApp.py
  2. 2 1
      FlatCAMObj.py
  3. 5 0
      README.md
  4. 4 0
      flatcamTools/ToolCutOut.py
  5. 3 3
      postprocessors/Paste_1.py

+ 1 - 1
FlatCAMApp.py

@@ -95,7 +95,7 @@ class App(QtCore.QObject):
 
     # Version
     version = 8.920
-    version_date = "2019/06/28"
+    version_date = "2019/07/14"
     beta = True
 
     # current date now

+ 2 - 1
FlatCAMObj.py

@@ -3237,8 +3237,9 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
                     self.default_data[def_key] = deepcopy(opt_val)
 
         try:
+            temp_tools = self.options["cnctooldia"].split(",")
             tools_list = [
-                float(eval(dia)) for dia in self.options["cnctooldia"].split(",")
+                float(eval(dia)) for dia in temp_tools if dia != ''
             ]
         except Exception as e:
             log.error("At least one tool diameter needed. Verify in Edit -> Preferences -> Geometry General -> "

+ 5 - 0
README.md

@@ -9,6 +9,11 @@ CAD program, and create G-Code for Isolation routing.
 
 =================================================
 
+8.07.2019
+
+- fixed bug that allowed empty tool in the tools generated in Geometry object
+- fixed bug in Tool Cutout that did not allow the transfer of used cutout tool diameter to the cutout geometry object
+
 5.07.2019
 
 - fixed bug in CutOut Tool

+ 4 - 0
flatcamTools/ToolCutOut.py

@@ -486,6 +486,7 @@ class CutOut(FlatCAMTool):
             geo_obj.options['ymin'] = ymin
             geo_obj.options['xmax'] = xmax
             geo_obj.options['ymax'] = ymax
+            geo_obj.options['cnctooldia'] = str(dia)
 
         outname = cutout_obj.options["name"] + "_cutout"
         self.app.new_object('geometry', outname, geo_init)
@@ -639,6 +640,8 @@ class CutOut(FlatCAMTool):
                 solid_geo.append(geo)
 
             geo_obj.solid_geometry = deepcopy(solid_geo)
+            geo_obj.options['cnctooldia'] = str(dia)
+
 
         outname = cutout_obj.options["name"] + "_cutout"
         self.app.new_object('geometry', outname, geo_init)
@@ -801,6 +804,7 @@ class CutOut(FlatCAMTool):
                     for poly in geo:
                         solid_geo.append(poly.exterior)
                     geo_obj.solid_geometry = deepcopy(solid_geo)
+            geo_obj.options['cnctooldia'] = str(dia)
 
         outname = cutout_obj.options["name"] + "_cutout"
         self.app.new_object('geometry', outname, geo_init)

+ 3 - 3
postprocessors/Paste_1.py

@@ -16,7 +16,7 @@ class Paste_1(FlatCAMPostProc_Tools):
 
     def start_code(self, p):
         units = ' ' + str(p['units']).lower()
-        coords_xy = [float(eval(a)) for a in p['xy_toolchange'].split(",")]
+        coords_xy = [float(eval(a)) for a in p['xy_toolchange'].split(",") if a != '']
 
         gcode = ''
 
@@ -68,7 +68,7 @@ class Paste_1(FlatCAMPostProc_Tools):
 
     def toolchange_code(self, p):
         z_toolchange = float(p['z_toolchange'])
-        toolchangexy = [float(eval(a)) for a in p['xy_toolchange'].split(",")]
+        toolchangexy = [float(eval(a)) for a in p['xy_toolchange'].split(",") if a != '']
         gcode = ''
 
         if toolchangexy is not None:
@@ -119,7 +119,7 @@ M0
         return ('G01 ' + self.position_code(p)).format(**p)
 
     def end_code(self, p):
-        coords_xy = [float(eval(a)) for a in p['xy_toolchange'].split(",")]
+        coords_xy = [float(eval(a)) for a in p['xy_toolchange'].split(",") if a != '']
         gcode = ('G00 Z' + self.feedrate_format %(p.fr_decimals, float(p['z_toolchange'])) + "\n")
 
         if coords_xy is not None: