diff --git a/README.md b/README.md index 2b7a6cd8..6d4af587 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,10 @@ CAD program, and create G-Code for Isolation routing. ================================================= +16.11.2019 + +- fixed issue #341 that affected both postprocessors that have inlined feedrate: marlin and repetier. THe used feedrate was the Feedrate X-Y and instead had to be Feedrate Z. + 15.11.2019 - added all the recognized extensions to the save dialog filters; latest extension used will be preselected next time a save operation occur diff --git a/flatcamTools/ToolCopperThieving.py b/flatcamTools/ToolCopperThieving.py index b560f4fb..351ea096 100644 --- a/flatcamTools/ToolCopperThieving.py +++ b/flatcamTools/ToolCopperThieving.py @@ -817,7 +817,7 @@ class ToolCopperThieving(FlatCAMTool): bounding_box = cascaded_union(geo_buff_list) elif isinstance(working_obj, FlatCAMGerber): geo_n = cascaded_union(geo_n).convex_hull - bounding_box = cascaded_union(self.ncc_obj.solid_geometry).convex_hull.intersection(geo_n) + bounding_box = cascaded_union(thieving_obj.solid_geometry).convex_hull.intersection(geo_n) bounding_box = bounding_box.buffer(distance=margin, join_style=base.JOIN_STYLE.mitre) else: self.app.inform.emit('[ERROR_NOTCL] %s' % _("The reference object type is not supported.")) diff --git a/postprocessors/Repetier.py b/postprocessors/Repetier.py index 3308598e..de96319c 100644 --- a/postprocessors/Repetier.py +++ b/postprocessors/Repetier.py @@ -78,7 +78,7 @@ class Repetier(FlatCAMPostProc): return 'G0 Z' + self.coordinate_format%(p.coords_decimals, p.z_move) + " " + self.feedrate_rapid_code(p) def down_code(self, p): - return 'G1 Z' + self.coordinate_format%(p.coords_decimals, p.z_cut) + " " + self.end_feedrate_code(p) + return 'G1 Z' + self.coordinate_format%(p.coords_decimals, p.z_cut) + " " + self.inline_z_feedrate_code(p) def toolchange_code(self, p): z_toolchange = p.z_toolchange @@ -169,7 +169,7 @@ M84 return ('G0 ' + self.position_code(p)).format(**p) + " " + self.feedrate_rapid_code(p) def linear_code(self, p): - return ('G1 ' + self.position_code(p)).format(**p) + " " + self.end_feedrate_code(p) + return ('G1 ' + self.position_code(p)).format(**p) + " " + self.inline_feedrate_code(p) def end_code(self, p): coords_xy = p['xy_toolchange'] @@ -183,9 +183,12 @@ M84 def feedrate_code(self, p): return 'G1 F' + str(self.feedrate_format %(p.fr_decimals, p.feedrate)) - def end_feedrate_code(self, p): + def inline_feedrate_code(self, p): return 'F' + self.feedrate_format %(p.fr_decimals, p.feedrate) + def inline_z_feedrate_code(self, p): + return 'F' + self.feedrate_format %(p.fr_decimals, p.z_feedrate) + def z_feedrate_code(self, p): return 'G1 F' + str(self.feedrate_format %(p.fr_decimals, p.z_feedrate)) diff --git a/postprocessors/marlin.py b/postprocessors/marlin.py index 129cedd1..61ab6008 100644 --- a/postprocessors/marlin.py +++ b/postprocessors/marlin.py @@ -1,10 +1,10 @@ -# ########################################################## ## +# ########################################################## # FlatCAM: 2D Post-processing for Manufacturing # # http://flatcam.org # # File Author: Marius Adrian Stanciu (c) # # Date: 3/10/2019 # # MIT Licence # -# ########################################################## ## +# ########################################################## from FlatCAMPostProc import * @@ -78,7 +78,7 @@ class marlin(FlatCAMPostProc): return 'G0 Z' + self.coordinate_format%(p.coords_decimals, p.z_move) + " " + self.feedrate_rapid_code(p) def down_code(self, p): - return 'G1 Z' + self.coordinate_format%(p.coords_decimals, p.z_cut) + " " + self.end_feedrate_code(p) + return 'G1 Z' + self.coordinate_format%(p.coords_decimals, p.z_cut) + " " + self.inline_z_feedrate_code(p) def toolchange_code(self, p): z_toolchange = p.z_toolchange @@ -175,7 +175,7 @@ M0""".format(z_toolchange=self.coordinate_format%(p.coords_decimals, z_toolchang return ('G0 ' + self.position_code(p)).format(**p) + " " + self.feedrate_rapid_code(p) def linear_code(self, p): - return ('G1 ' + self.position_code(p)).format(**p) + " " + self.end_feedrate_code(p) + return ('G1 ' + self.position_code(p)).format(**p) + " " + self.inline_feedrate_code(p) def end_code(self, p): coords_xy = p['xy_toolchange'] @@ -189,9 +189,12 @@ M0""".format(z_toolchange=self.coordinate_format%(p.coords_decimals, z_toolchang def feedrate_code(self, p): return 'G1 F' + str(self.feedrate_format %(p.fr_decimals, p.feedrate)) - def end_feedrate_code(self, p): + def inline_feedrate_code(self, p): return 'F' + self.feedrate_format %(p.fr_decimals, p.feedrate) + def inline_z_feedrate_code(self, p): + return 'F' + self.feedrate_format %(p.fr_decimals, p.z_feedrate) + def z_feedrate_code(self, p): return 'G1 F' + str(self.feedrate_format %(p.fr_decimals, p.z_feedrate))