diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 01c78179..a3f57ce8 100644 --- a/FlatCAMApp.py +++ b/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 diff --git a/FlatCAMObj.py b/FlatCAMObj.py index ba8e7600..b88a28e2 100644 --- a/FlatCAMObj.py +++ b/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 -> " diff --git a/README.md b/README.md index 12f87861..6df12a80 100644 --- a/README.md +++ b/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 diff --git a/flatcamTools/ToolCutOut.py b/flatcamTools/ToolCutOut.py index 5a1ad29f..213b7022 100644 --- a/flatcamTools/ToolCutOut.py +++ b/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) diff --git a/postprocessors/Paste_1.py b/postprocessors/Paste_1.py index c397bddd..94e7319d 100644 --- a/postprocessors/Paste_1.py +++ b/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: