From 6eb96264f1e9eb1f9a2a80e6446cb60b3aa5ea92 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Sat, 1 Feb 2020 04:01:48 +0200 Subject: [PATCH] - fixed some bugs --- FlatCAMObj.py | 32 ++++++++++++++++------------- README.md | 1 + camlib.py | 11 +++++----- flatcamEditors/FlatCAMTextEditor.py | 2 +- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/FlatCAMObj.py b/FlatCAMObj.py index 33c6aeed..870003b9 100644 --- a/FlatCAMObj.py +++ b/FlatCAMObj.py @@ -4229,6 +4229,9 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): self.ui.geo_tools_table.cellWidget(row, 6).clicked.connect(self.on_plot_cb_click_table) self.ui.plot_cb.stateChanged.connect(self.on_plot_cb_click) + # common parameters update + self.ui.pp_geometry_name_cb.currentIndexChanged.connect(self.update_common_param_in_storage) + def ui_disconnect(self): # on any change to the widgets that matter it will be called self.gui_form_to_storage which will save the @@ -4969,6 +4972,10 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): temp_tools.clear() self.ui_connect() + def update_common_param_in_storage(self): + for tooluid_value in self.tools.values(): + tooluid_value['data']['ppname_g'] = self.ui.pp_geometry_name_cb.get_value() + def select_tools_table_row(self, row, clearsel=None): if clearsel: self.ui.geo_tools_table.clearSelection() @@ -5117,16 +5124,14 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): # this reads the values in the UI form to the self.options dictionary self.read_form() - self.sel_tools = {} + self.sel_tools = dict() try: if self.special_group: - self.app.inform.emit('[WARNING_NOTCL] %s %s %s.' % - (_("This Geometry can't be processed because it is"), - str(self.special_group), - _("geometry") - ) - ) + self.app.inform.emit( + '[WARNING_NOTCL] %s %s %s.' % + (_("This Geometry can't be processed because it is"), str(self.special_group), _("geometry")) + ) return except AttributeError: pass @@ -5166,8 +5171,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): self.ui.geo_tools_table.clearSelection() else: - self.app.inform.emit('[ERROR_NOTCL] %s' % - _("Failed. No tool selected in the tool table ...")) + self.app.inform.emit('[ERROR_NOTCL] %s' % _("Failed. No tool selected in the tool table ...")) def mtool_gen_cncjob(self, outname=None, tools_dict=None, tools_in_use=None, segx=None, segy=None, plot=True, use_thread=True): @@ -5261,15 +5265,15 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): try: offset_value = float(self.ui.tool_offset_entry.get_value().replace(',', '.')) except ValueError: - self.app.inform.emit('[ERROR_NOTCL] %s' % - _("Wrong value format entered, use a number.")) + self.app.inform.emit('[ERROR_NOTCL] %s' % _("Wrong value format entered, use a number.")) return if offset_value: tool_offset = float(offset_value) else: - self.app.inform.emit('[WARNING] %s' % _("Tool Offset is selected in Tool Table but " - "no value is provided.\n" - "Add a Tool Offset or change the Offset Type.")) + self.app.inform.emit( + '[WARNING] %s' % _("Tool Offset is selected in Tool Table but no value is provided.\n" + "Add a Tool Offset or change the Offset Type.") + ) return else: tool_offset = 0.0 diff --git a/README.md b/README.md index c537aaf9..513825ac 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ CAD program, and create G-Code for Isolation routing. 31.01.2020 - added a new functionality, a variation of Set Origin named Move to Origin. It will move a selection of objects to origin such as the bottom left corner of the bounding box that fit them all is in origin. +- fixed some bugs 30.01.2020 diff --git a/camlib.py b/camlib.py index d234dc90..b51be9a8 100644 --- a/camlib.py +++ b/camlib.py @@ -2876,7 +2876,7 @@ class CNCjob(Geometry): # Tool change sequence (optional) if toolchange: - gcode += self.doformat(p.toolchange_code,toolchangexy=(self.oldx, self.oldy)) + gcode += self.doformat(p.toolchange_code, toolchangexy=(self.oldx, self.oldy)) gcode += self.doformat(p.spindle_code) # Spindle start) if self.dwell is True: gcode += self.doformat(p.dwell_code) # Dwell time @@ -3419,7 +3419,7 @@ class CNCjob(Geometry): self.app.inform.emit('[ERROR] %s: %s' % (_("Expected a Geometry, got"), type(geometry))) return 'fail' - log.debug("Generate_from_geometry_2()") + log.debug("Executing camlib.CNCJob.generate_from_geometry_2()") # if solid_geometry is empty raise an exception if not geometry.solid_geometry: @@ -3470,7 +3470,7 @@ class CNCjob(Geometry): return 'fail' # hack: make offset smaller by 0.0000000001 which is insignificant difference but allow the job # to continue - elif -offset == ((c - a) / 2) or -offset == ((d - b) / 2): + elif -offset == ((c - a) / 2) or -offset == ((d - b) / 2): offset_for_use = offset - 0.0000000001 for it in geometry.solid_geometry: @@ -3487,11 +3487,12 @@ class CNCjob(Geometry): flat_geometry = self.flatten(temp_solid_geometry, pathonly=True) log.debug("%d paths" % len(flat_geometry)) - if type(self.app.defaults["geometry_cnctooldia"]) == float: + default_dia = 0.01 + if isinstance(self.app.defaults["geometry_cnctooldia"], float): default_dia = self.app.defaults["geometry_cnctooldia"] else: try: - tools_string = self.defaults["geometry_cnctooldia"].split(",") + tools_string = self.app.defaults["geometry_cnctooldia"].split(",") tools_diameters = [eval(a) for a in tools_string if a != ''] default_dia = tools_diameters[0] if tools_diameters else 0.0 except Exception as e: diff --git a/flatcamEditors/FlatCAMTextEditor.py b/flatcamEditors/FlatCAMTextEditor.py index a8d9eff7..4e1dbe60 100644 --- a/flatcamEditors/FlatCAMTextEditor.py +++ b/flatcamEditors/FlatCAMTextEditor.py @@ -313,7 +313,7 @@ class TextEditor(QtWidgets.QWidget): if qc.hasSelection(): qc.insertText(new) else: - self.ui.code_editor.moveCursor(QtGui.QTextCursor.Start) + self.code_editor.moveCursor(QtGui.QTextCursor.Start) break # Mark end of undo block cursor.endEditBlock()