From 9e9eabb04efb8a2a3a3a0f1dee56c3a7aa89328d Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Fri, 8 Jan 2021 04:14:02 +0200 Subject: [PATCH] - for NCC, Cutout, Paint, Milling Tools made sure that the tool data dict is populated correctly --- CHANGELOG.md | 1 + appTools/ToolCutOut.py | 214 +++++++++++++++++++++----------------- appTools/ToolIsolation.py | 72 ++++++------- appTools/ToolMilling.py | 122 ++++++++++++---------- appTools/ToolNCC.py | 96 +++++++++-------- appTools/ToolPaint.py | 89 +++++++++------- 6 files changed, 323 insertions(+), 271 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 95972e31..06cf3e89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ CHANGELOG for FlatCAM beta - added the toggle button for Beginner/Advanced mode for the CNCjob, Geometry, Gerber, Excellon Objects UI (Properties Tab) - some changes in PreferencesManager due of Milling Tool changing names of the geometry defaults to tools_mill_ defaults - for Excellon, Geometry and Gerber objects now in the Object UI (Properties Tab) by default the Offset field is populated with the coordinates of the center of the current object +- for NCC, Cutout, Paint, Milling Tools made sure that the tool data dict is populated correctly 6.01.2021 diff --git a/appTools/ToolCutOut.py b/appTools/ToolCutOut.py index 0d6212b5..03edec38 100644 --- a/appTools/ToolCutOut.py +++ b/appTools/ToolCutOut.py @@ -231,56 +231,67 @@ class CutOut(AppTool): self.ui.dia.set_value(float(self.app.defaults["tools_cutout_tooldia"])) - self.default_data.update({ - "plot": True, + # init the working variables + self.default_data.clear() + kind = 'geometry' + for option in self.app.options: + if option.find(kind + "_") == 0: + oname = option[len(kind) + 1:] + self.default_data[oname] = self.app.options[option] - "cutz": float(self.app.defaults["geometry_cutz"]), - "multidepth": self.app.defaults["geometry_multidepth"], - "depthperpass": float(self.app.defaults["geometry_depthperpass"]), + if option.find('tools_') == 0: + self.default_data[option] = self.app.options[option] - "vtipdia": float(self.app.defaults["tools_mill_vtipdia"]), - "vtipangle": float(self.app.defaults["tools_mill_vtipangle"]), - "travelz": float(self.app.defaults["geometry_travelz"]), - "feedrate": float(self.app.defaults["geometry_feedrate"]), - "feedrate_z": float(self.app.defaults["geometry_feedrate_z"]), - "feedrate_rapid": float(self.app.defaults["geometry_feedrate_rapid"]), - "spindlespeed": self.app.defaults["geometry_spindlespeed"], - "dwell": self.app.defaults["geometry_dwell"], - "dwelltime": float(self.app.defaults["geometry_dwelltime"]), - "spindledir": self.app.defaults["geometry_spindledir"], - "ppname_g": self.app.defaults["geometry_ppname_g"], - "extracut": self.app.defaults["geometry_extracut"], - "extracut_length": float(self.app.defaults["geometry_extracut_length"]), - "toolchange": self.app.defaults["geometry_toolchange"], - "toolchangexy": self.app.defaults["geometry_toolchangexy"], - "toolchangez": float(self.app.defaults["geometry_toolchangez"]), - "startz": self.app.defaults["geometry_startz"], - "endz": float(self.app.defaults["geometry_endz"]), - "endxy": self.app.defaults["geometry_endxy"], - "area_exclusion": self.app.defaults["geometry_area_exclusion"], - "area_shape": self.app.defaults["geometry_area_shape"], - "area_strategy": self.app.defaults["geometry_area_strategy"], - "area_overz": float(self.app.defaults["geometry_area_overz"]), - "optimization_type": self.app.defaults["geometry_optimization_type"], - - # Cutout - "tools_cutout_tooldia": self.app.defaults["tools_cutout_tooldia"], - "tools_cutout_kind": self.app.defaults["tools_cutout_kind"], - "tools_cutout_margin": float(self.app.defaults["tools_cutout_margin"]), - "tools_cutout_z": float(self.app.defaults["tools_cutout_z"]), - "tools_cutout_depthperpass": float(self.app.defaults["tools_cutout_depthperpass"]), - "tools_cutout_mdepth": self.app.defaults["tools_cutout_mdepth"], - "tools_cutout_gapsize": float(self.app.defaults["tools_cutout_gapsize"]), - "tools_cutout_gaps_ff": self.app.defaults["tools_cutout_gaps_ff"], - "tools_cutout_convexshape": self.app.defaults["tools_cutout_convexshape"], - - "tools_cutout_big_cursor": self.app.defaults["tools_cutout_big_cursor"], - "tools_cutout_gap_type": self.app.defaults["tools_cutout_gap_type"], - "tools_cutout_gap_depth": float(self.app.defaults["tools_cutout_gap_depth"]), - "tools_cutout_mb_dia": float(self.app.defaults["tools_cutout_mb_dia"]), - "tools_cutout_mb_spacing": float(self.app.defaults["tools_cutout_mb_spacing"]), - - }) + # self.default_data.update({ + # "plot": True, + # + # "cutz": float(self.app.defaults["geometry_cutz"]), + # "multidepth": self.app.defaults["geometry_multidepth"], + # "depthperpass": float(self.app.defaults["geometry_depthperpass"]), + # + # "vtipdia": float(self.app.defaults["tools_mill_vtipdia"]), + # "vtipangle": float(self.app.defaults["tools_mill_vtipangle"]), + # "travelz": float(self.app.defaults["geometry_travelz"]), + # "feedrate": float(self.app.defaults["geometry_feedrate"]), + # "feedrate_z": float(self.app.defaults["geometry_feedrate_z"]), + # "feedrate_rapid": float(self.app.defaults["geometry_feedrate_rapid"]), + # "spindlespeed": self.app.defaults["geometry_spindlespeed"], + # "dwell": self.app.defaults["geometry_dwell"], + # "dwelltime": float(self.app.defaults["geometry_dwelltime"]), + # "spindledir": self.app.defaults["geometry_spindledir"], + # "ppname_g": self.app.defaults["geometry_ppname_g"], + # "extracut": self.app.defaults["geometry_extracut"], + # "extracut_length": float(self.app.defaults["geometry_extracut_length"]), + # "toolchange": self.app.defaults["geometry_toolchange"], + # "toolchangexy": self.app.defaults["geometry_toolchangexy"], + # "toolchangez": float(self.app.defaults["geometry_toolchangez"]), + # "startz": self.app.defaults["geometry_startz"], + # "endz": float(self.app.defaults["geometry_endz"]), + # "endxy": self.app.defaults["geometry_endxy"], + # "area_exclusion": self.app.defaults["geometry_area_exclusion"], + # "area_shape": self.app.defaults["geometry_area_shape"], + # "area_strategy": self.app.defaults["geometry_area_strategy"], + # "area_overz": float(self.app.defaults["geometry_area_overz"]), + # "optimization_type": self.app.defaults["geometry_optimization_type"], + # + # # Cutout + # "tools_cutout_tooldia": self.app.defaults["tools_cutout_tooldia"], + # "tools_cutout_kind": self.app.defaults["tools_cutout_kind"], + # "tools_cutout_margin": float(self.app.defaults["tools_cutout_margin"]), + # "tools_cutout_z": float(self.app.defaults["tools_cutout_z"]), + # "tools_cutout_depthperpass": float(self.app.defaults["tools_cutout_depthperpass"]), + # "tools_cutout_mdepth": self.app.defaults["tools_cutout_mdepth"], + # "tools_cutout_gapsize": float(self.app.defaults["tools_cutout_gapsize"]), + # "tools_cutout_gaps_ff": self.app.defaults["tools_cutout_gaps_ff"], + # "tools_cutout_convexshape": self.app.defaults["tools_cutout_convexshape"], + # + # "tools_cutout_big_cursor": self.app.defaults["tools_cutout_big_cursor"], + # "tools_cutout_gap_type": self.app.defaults["tools_cutout_gap_type"], + # "tools_cutout_gap_depth": float(self.app.defaults["tools_cutout_gap_depth"]), + # "tools_cutout_mb_dia": float(self.app.defaults["tools_cutout_mb_dia"]), + # "tools_cutout_mb_spacing": float(self.app.defaults["tools_cutout_mb_spacing"]), + # + # }) tool_dia = float(self.app.defaults["tools_cutout_tooldia"]) self.on_tool_add(custom_dia=tool_dia) @@ -568,56 +579,67 @@ class CutOut(AppTool): def on_tool_default_add(self, dia=None, muted=None): dia = dia if dia else str(self.app.defaults["tools_cutout_tooldia"]) - self.default_data.update({ - "plot": True, - "cutz": float(self.app.defaults["geometry_cutz"]), - "multidepth": self.app.defaults["geometry_multidepth"], - "depthperpass": float(self.app.defaults["geometry_depthperpass"]), + # init the working variables + self.default_data.clear() + kind = 'geometry' + for option in self.app.options: + if option.find(kind + "_") == 0: + oname = option[len(kind) + 1:] + self.default_data[oname] = self.app.options[option] - "vtipdia": float(self.app.defaults["tools_mill_vtipdia"]), - "vtipangle": float(self.app.defaults["tools_mill_vtipangle"]), - "travelz": float(self.app.defaults["geometry_travelz"]), - "feedrate": float(self.app.defaults["geometry_feedrate"]), - "feedrate_z": float(self.app.defaults["geometry_feedrate_z"]), - "feedrate_rapid": float(self.app.defaults["geometry_feedrate_rapid"]), - "spindlespeed": self.app.defaults["geometry_spindlespeed"], - "dwell": self.app.defaults["geometry_dwell"], - "dwelltime": float(self.app.defaults["geometry_dwelltime"]), - "spindledir": self.app.defaults["geometry_spindledir"], - "ppname_g": self.app.defaults["geometry_ppname_g"], - "extracut": self.app.defaults["geometry_extracut"], - "extracut_length": float(self.app.defaults["geometry_extracut_length"]), - "toolchange": self.app.defaults["geometry_toolchange"], - "toolchangexy": self.app.defaults["geometry_toolchangexy"], - "toolchangez": float(self.app.defaults["geometry_toolchangez"]), - "startz": self.app.defaults["geometry_startz"], - "endz": float(self.app.defaults["geometry_endz"]), - "endxy": self.app.defaults["geometry_endxy"], - "area_exclusion": self.app.defaults["geometry_area_exclusion"], - "area_shape": self.app.defaults["geometry_area_shape"], - "area_strategy": self.app.defaults["geometry_area_strategy"], - "area_overz": float(self.app.defaults["geometry_area_overz"]), - "optimization_type": self.app.defaults["geometry_optimization_type"], - - # Cutout - "tools_cutout_tooldia": self.app.defaults["tools_cutout_tooldia"], - "tools_cutout_kind": self.app.defaults["tools_cutout_kind"], - "tools_cutout_margin": float(self.app.defaults["tools_cutout_margin"]), - "tools_cutout_z": float(self.app.defaults["tools_cutout_z"]), - "tools_cutout_depthperpass": float(self.app.defaults["tools_cutout_depthperpass"]), - "tools_cutout_mdepth": self.app.defaults["tools_cutout_mdepth"], - "tools_cutout_gapsize": float(self.app.defaults["tools_cutout_gapsize"]), - "tools_cutout_gaps_ff": self.app.defaults["tools_cutout_gaps_ff"], - "tools_cutout_convexshape": self.app.defaults["tools_cutout_convexshape"], - - "tools_cutout_big_cursor": self.app.defaults["tools_cutout_big_cursor"], - "tools_cutout_gap_type": self.app.defaults["tools_cutout_gap_type"], - "tools_cutout_gap_depth": float(self.app.defaults["tools_cutout_gap_depth"]), - "tools_cutout_mb_dia": float(self.app.defaults["tools_cutout_mb_dia"]), - "tools_cutout_mb_spacing": float(self.app.defaults["tools_cutout_mb_spacing"]), - - }) + if option.find('tools_') == 0: + self.default_data[option] = self.app.options[option] + # self.default_data.update({ + # "plot": True, + # + # "cutz": float(self.app.defaults["geometry_cutz"]), + # "multidepth": self.app.defaults["geometry_multidepth"], + # "depthperpass": float(self.app.defaults["geometry_depthperpass"]), + # + # "vtipdia": float(self.app.defaults["tools_mill_vtipdia"]), + # "vtipangle": float(self.app.defaults["tools_mill_vtipangle"]), + # "travelz": float(self.app.defaults["geometry_travelz"]), + # "feedrate": float(self.app.defaults["geometry_feedrate"]), + # "feedrate_z": float(self.app.defaults["geometry_feedrate_z"]), + # "feedrate_rapid": float(self.app.defaults["geometry_feedrate_rapid"]), + # "spindlespeed": self.app.defaults["geometry_spindlespeed"], + # "dwell": self.app.defaults["geometry_dwell"], + # "dwelltime": float(self.app.defaults["geometry_dwelltime"]), + # "spindledir": self.app.defaults["geometry_spindledir"], + # "ppname_g": self.app.defaults["geometry_ppname_g"], + # "extracut": self.app.defaults["geometry_extracut"], + # "extracut_length": float(self.app.defaults["geometry_extracut_length"]), + # "toolchange": self.app.defaults["geometry_toolchange"], + # "toolchangexy": self.app.defaults["geometry_toolchangexy"], + # "toolchangez": float(self.app.defaults["geometry_toolchangez"]), + # "startz": self.app.defaults["geometry_startz"], + # "endz": float(self.app.defaults["geometry_endz"]), + # "endxy": self.app.defaults["geometry_endxy"], + # "area_exclusion": self.app.defaults["geometry_area_exclusion"], + # "area_shape": self.app.defaults["geometry_area_shape"], + # "area_strategy": self.app.defaults["geometry_area_strategy"], + # "area_overz": float(self.app.defaults["geometry_area_overz"]), + # "optimization_type": self.app.defaults["geometry_optimization_type"], + # + # # Cutout + # "tools_cutout_tooldia": self.app.defaults["tools_cutout_tooldia"], + # "tools_cutout_kind": self.app.defaults["tools_cutout_kind"], + # "tools_cutout_margin": float(self.app.defaults["tools_cutout_margin"]), + # "tools_cutout_z": float(self.app.defaults["tools_cutout_z"]), + # "tools_cutout_depthperpass": float(self.app.defaults["tools_cutout_depthperpass"]), + # "tools_cutout_mdepth": self.app.defaults["tools_cutout_mdepth"], + # "tools_cutout_gapsize": float(self.app.defaults["tools_cutout_gapsize"]), + # "tools_cutout_gaps_ff": self.app.defaults["tools_cutout_gaps_ff"], + # "tools_cutout_convexshape": self.app.defaults["tools_cutout_convexshape"], + # + # "tools_cutout_big_cursor": self.app.defaults["tools_cutout_big_cursor"], + # "tools_cutout_gap_type": self.app.defaults["tools_cutout_gap_type"], + # "tools_cutout_gap_depth": float(self.app.defaults["tools_cutout_gap_depth"]), + # "tools_cutout_mb_dia": float(self.app.defaults["tools_cutout_mb_dia"]), + # "tools_cutout_mb_spacing": float(self.app.defaults["tools_cutout_mb_spacing"]), + # + # }) self.cut_tool_dict.update({ 'tooldia': dia, diff --git a/appTools/ToolIsolation.py b/appTools/ToolIsolation.py index 4b252d33..eb244e4e 100644 --- a/appTools/ToolIsolation.py +++ b/appTools/ToolIsolation.py @@ -314,42 +314,42 @@ class ToolIsolation(AppTool, Gerber): if option.find('tools_') == 0: self.default_data[option] = self.app.options[option] - self.default_data.update({ - "name": outname + '_iso', - "plot": self.app.defaults["geometry_plot"], - "cutz": float(self.app.defaults["tools_iso_tool_cutz"]), - "vtipdia": float(self.app.defaults["tools_iso_tool_vtipdia"]), - "vtipangle": float(self.app.defaults["tools_iso_tool_vtipangle"]), - "travelz": self.app.defaults["geometry_travelz"], - "feedrate": self.app.defaults["geometry_feedrate"], - "feedrate_z": self.app.defaults["geometry_feedrate_z"], - "feedrate_rapid": self.app.defaults["geometry_feedrate_rapid"], - - "multidepth": self.app.defaults["geometry_multidepth"], - "ppname_g": self.app.defaults["geometry_ppname_g"], - "depthperpass": self.app.defaults["geometry_depthperpass"], - "extracut": self.app.defaults["geometry_extracut"], - "extracut_length": self.app.defaults["geometry_extracut_length"], - "toolchange": self.app.defaults["geometry_toolchange"], - "toolchangez": self.app.defaults["geometry_toolchangez"], - "endz": self.app.defaults["geometry_endz"], - "endxy": self.app.defaults["geometry_endxy"], - - "dwell": self.app.defaults["geometry_dwell"], - "dwelltime": self.app.defaults["geometry_dwelltime"], - "spindlespeed": self.app.defaults["geometry_spindlespeed"], - "spindledir": self.app.defaults["geometry_spindledir"], - - "optimization_type": self.app.defaults["geometry_optimization_type"], - "search_time": self.app.defaults["geometry_search_time"], - "toolchangexy": self.app.defaults["geometry_toolchangexy"], - "startz": self.app.defaults["geometry_startz"], - - "area_exclusion": self.app.defaults["geometry_area_exclusion"], - "area_shape": self.app.defaults["geometry_area_shape"], - "area_strategy": self.app.defaults["geometry_area_strategy"], - "area_overz": float(self.app.defaults["geometry_area_overz"]), - }) + # self.default_data.update({ + # "name": outname + '_iso', + # "plot": self.app.defaults["geometry_plot"], + # "cutz": float(self.app.defaults["tools_iso_tool_cutz"]), + # "vtipdia": float(self.app.defaults["tools_iso_tool_vtipdia"]), + # "vtipangle": float(self.app.defaults["tools_iso_tool_vtipangle"]), + # "travelz": self.app.defaults["geometry_travelz"], + # "feedrate": self.app.defaults["geometry_feedrate"], + # "feedrate_z": self.app.defaults["geometry_feedrate_z"], + # "feedrate_rapid": self.app.defaults["geometry_feedrate_rapid"], + # + # "multidepth": self.app.defaults["geometry_multidepth"], + # "ppname_g": self.app.defaults["geometry_ppname_g"], + # "depthperpass": self.app.defaults["geometry_depthperpass"], + # "extracut": self.app.defaults["geometry_extracut"], + # "extracut_length": self.app.defaults["geometry_extracut_length"], + # "toolchange": self.app.defaults["geometry_toolchange"], + # "toolchangez": self.app.defaults["geometry_toolchangez"], + # "endz": self.app.defaults["geometry_endz"], + # "endxy": self.app.defaults["geometry_endxy"], + # + # "dwell": self.app.defaults["geometry_dwell"], + # "dwelltime": self.app.defaults["geometry_dwelltime"], + # "spindlespeed": self.app.defaults["geometry_spindlespeed"], + # "spindledir": self.app.defaults["geometry_spindledir"], + # + # "optimization_type": self.app.defaults["geometry_optimization_type"], + # "search_time": self.app.defaults["geometry_search_time"], + # "toolchangexy": self.app.defaults["geometry_toolchangexy"], + # "startz": self.app.defaults["geometry_startz"], + # + # "area_exclusion": self.app.defaults["geometry_area_exclusion"], + # "area_shape": self.app.defaults["geometry_area_shape"], + # "area_strategy": self.app.defaults["geometry_area_strategy"], + # "area_overz": float(self.app.defaults["geometry_area_overz"]), + # }) try: dias = [float(self.app.defaults["tools_iso_tooldia"])] diff --git a/appTools/ToolMilling.py b/appTools/ToolMilling.py index dabb2cd8..9b221778 100644 --- a/appTools/ToolMilling.py +++ b/appTools/ToolMilling.py @@ -382,64 +382,74 @@ class ToolMilling(AppTool, Excellon): # init the working variables self.default_data.clear() - self.default_data = { - "name": outname + '_mill', - "plot": self.app.defaults["excellon_plot"], - "solid": False, - "multicolored": False, + kind = 'geometry' + for option in self.app.options: + if option.find(kind + "_") == 0: + oname = option[len(kind) + 1:] + self.default_data[oname] = self.app.options[option] - "tools_mill_tooldia": 0.1, + if option.find('tools_') == 0: + self.default_data[option] = self.app.options[option] - "tools_mill_offset_type": 0, # _("Path") - "tools_mill_offset": 0.0, - - "tools_mill_milling_type": "drills", - "tools_mill_milling_dia": 0.04, - - "tools_mill_job_type": 0, # 'Rough' - "tools_mill_polish_margin": 0.0, - "tools_mill_polish_overlap": 10, - "tools_mill_polish_method": _("Standard"), - - "tools_mill_tool_type": 'C1', - "tools_mill_vtipdia": 0.1, - "tools_mill_vtipangle": 30, - - "tools_mill_cutz": -0.1, - "tools_mill_multidepth": False, - "tools_mill_depthperpass": 0.7, - - "tools_mill_travelz": 0.1, - "tools_mill_feedrate": self.app.defaults["geometry_feedrate"], - "tools_mill_feedrate_z": 5.0, - "tools_mill_feedrate_rapid": 5.0, - - "tools_mill_extracut": self.app.defaults["geometry_extracut"], - "tools_mill_extracut_length": self.app.defaults["geometry_extracut_length"], - - "tools_mill_spindlespeed": 0, - "tools_mill_dwell": True, - "tools_mill_dwelltime": 1000, - - "tools_mill_toolchange": False, - "tools_mill_toolchangez": 1.0, - "tools_mill_toolchangexy": "0.0, 0.0", - - "tools_mill_endz": 2.0, - "tools_mill_endxy": '', - - "tools_mill_startz": None, - - "tools_mill_z_pdepth": -0.02, - "tools_mill_feedrate_probe": 3.0, - "tools_mill_ppname_g": self.app.defaults["geometry_ppname_g"], - "tools_mill_optimization_type": "B", - - "tools_mill_area_exclusion": False, - "tools_mill_area_shape": "polygon", - "tools_mill_area_strategy": "over", - "tools_mill_area_overz": 1.0, - } + # self.default_data.clear() + # self.default_data = { + # "name": outname + '_mill', + # "plot": self.app.defaults["excellon_plot"], + # "solid": False, + # "multicolored": False, + # + # "tools_mill_tooldia": 0.1, + # + # "tools_mill_offset_type": 0, # _("Path") + # "tools_mill_offset": 0.0, + # + # "tools_mill_milling_type": "drills", + # "tools_mill_milling_dia": 0.04, + # + # "tools_mill_job_type": 0, # 'Rough' + # "tools_mill_polish_margin": 0.0, + # "tools_mill_polish_overlap": 10, + # "tools_mill_polish_method": _("Standard"), + # + # "tools_mill_tool_type": 'C1', + # "tools_mill_vtipdia": 0.1, + # "tools_mill_vtipangle": 30, + # + # "tools_mill_cutz": -0.1, + # "tools_mill_multidepth": False, + # "tools_mill_depthperpass": 0.7, + # + # "tools_mill_travelz": 0.1, + # "tools_mill_feedrate": self.app.defaults["geometry_feedrate"], + # "tools_mill_feedrate_z": 5.0, + # "tools_mill_feedrate_rapid": 5.0, + # + # "tools_mill_extracut": self.app.defaults["geometry_extracut"], + # "tools_mill_extracut_length": self.app.defaults["geometry_extracut_length"], + # + # "tools_mill_spindlespeed": 0, + # "tools_mill_dwell": True, + # "tools_mill_dwelltime": 1000, + # + # "tools_mill_toolchange": False, + # "tools_mill_toolchangez": 1.0, + # "tools_mill_toolchangexy": "0.0, 0.0", + # + # "tools_mill_endz": 2.0, + # "tools_mill_endxy": '', + # + # "tools_mill_startz": None, + # + # "tools_mill_z_pdepth": -0.02, + # "tools_mill_feedrate_probe": 3.0, + # "tools_mill_ppname_g": self.app.defaults["geometry_ppname_g"], + # "tools_mill_optimization_type": "B", + # + # "tools_mill_area_exclusion": False, + # "tools_mill_area_shape": "polygon", + # "tools_mill_area_strategy": "over", + # "tools_mill_area_overz": 1.0, + # } # fill in self.default_data values from self.options for opt_key, opt_val in self.app.options.items(): diff --git a/appTools/ToolNCC.py b/appTools/ToolNCC.py index 8626e517..0ae6d956 100644 --- a/appTools/ToolNCC.py +++ b/appTools/ToolNCC.py @@ -551,51 +551,59 @@ class NonCopperClear(AppTool, Gerber): # init the working variables self.default_data.clear() - self.default_data = { - "name": '_ncc', - "plot": self.app.defaults["geometry_plot"], - "cutz": float(self.app.defaults["geometry_cutz"]), - "vtipdia": float(self.app.defaults["tools_mill_vtipdia"]), - "vtipangle": float(self.app.defaults["tools_mill_vtipangle"]), - "travelz": self.app.defaults["geometry_travelz"], - "feedrate": self.app.defaults["geometry_feedrate"], - "feedrate_z": self.app.defaults["geometry_feedrate_z"], - "feedrate_rapid": self.app.defaults["geometry_feedrate_rapid"], - "dwell": self.app.defaults["geometry_dwell"], - "dwelltime": self.app.defaults["geometry_dwelltime"], - "multidepth": self.app.defaults["geometry_multidepth"], - "ppname_g": self.app.defaults["geometry_ppname_g"], - "depthperpass": self.app.defaults["geometry_depthperpass"], - "extracut": self.app.defaults["geometry_extracut"], - "extracut_length": self.app.defaults["geometry_extracut_length"], - "toolchange": self.app.defaults["geometry_toolchange"], - "toolchangez": self.app.defaults["geometry_toolchangez"], - "endz": self.app.defaults["geometry_endz"], - "endxy": self.app.defaults["geometry_endxy"], + kind = 'geometry' + for option in self.app.options: + if option.find(kind + "_") == 0: + oname = option[len(kind) + 1:] + self.default_data[oname] = self.app.options[option] - "spindlespeed": self.app.defaults["geometry_spindlespeed"], - "toolchangexy": self.app.defaults["geometry_toolchangexy"], - "startz": self.app.defaults["geometry_startz"], - - "area_exclusion": self.app.defaults["geometry_area_exclusion"], - "area_shape": self.app.defaults["geometry_area_shape"], - "area_strategy": self.app.defaults["geometry_area_strategy"], - "area_overz": float(self.app.defaults["geometry_area_overz"]), - "optimization_type": self.app.defaults["geometry_optimization_type"], - - "tools_ncc_operation": self.app.defaults["tools_ncc_operation"], - "tools_ncc_margin": self.app.defaults["tools_ncc_margin"], - "tools_ncc_method": self.app.defaults["tools_ncc_method"], - "tools_ncc_connect": self.app.defaults["tools_ncc_connect"], - "tools_ncc_contour": self.app.defaults["tools_ncc_contour"], - "tools_ncc_overlap": self.app.defaults["tools_ncc_overlap"], - "tools_ncc_rest": self.app.defaults["tools_ncc_rest"], - "tools_ncc_ref": self.app.defaults["tools_ncc_ref"], - "tools_ncc_offset_choice": self.app.defaults["tools_ncc_offset_choice"], - "tools_ncc_offset_value": self.app.defaults["tools_ncc_offset_value"], - "tools_ncc_milling_type": self.app.defaults["tools_ncc_milling_type"], - "tools_ncc_check_valid": self.app.defaults["tools_ncc_check_valid"], - } + if option.find('tools_') == 0: + self.default_data[option] = self.app.options[option] + # self.default_data = { + # "name": '_ncc', + # "plot": self.app.defaults["geometry_plot"], + # "cutz": float(self.app.defaults["geometry_cutz"]), + # "vtipdia": float(self.app.defaults["tools_mill_vtipdia"]), + # "vtipangle": float(self.app.defaults["tools_mill_vtipangle"]), + # "travelz": self.app.defaults["geometry_travelz"], + # "feedrate": self.app.defaults["geometry_feedrate"], + # "feedrate_z": self.app.defaults["geometry_feedrate_z"], + # "feedrate_rapid": self.app.defaults["geometry_feedrate_rapid"], + # "dwell": self.app.defaults["geometry_dwell"], + # "dwelltime": self.app.defaults["geometry_dwelltime"], + # "multidepth": self.app.defaults["geometry_multidepth"], + # "ppname_g": self.app.defaults["geometry_ppname_g"], + # "depthperpass": self.app.defaults["geometry_depthperpass"], + # "extracut": self.app.defaults["geometry_extracut"], + # "extracut_length": self.app.defaults["geometry_extracut_length"], + # "toolchange": self.app.defaults["geometry_toolchange"], + # "toolchangez": self.app.defaults["geometry_toolchangez"], + # "endz": self.app.defaults["geometry_endz"], + # "endxy": self.app.defaults["geometry_endxy"], + # + # "spindlespeed": self.app.defaults["geometry_spindlespeed"], + # "toolchangexy": self.app.defaults["geometry_toolchangexy"], + # "startz": self.app.defaults["geometry_startz"], + # + # "area_exclusion": self.app.defaults["geometry_area_exclusion"], + # "area_shape": self.app.defaults["geometry_area_shape"], + # "area_strategy": self.app.defaults["geometry_area_strategy"], + # "area_overz": float(self.app.defaults["geometry_area_overz"]), + # "optimization_type": self.app.defaults["geometry_optimization_type"], + # + # "tools_ncc_operation": self.app.defaults["tools_ncc_operation"], + # "tools_ncc_margin": self.app.defaults["tools_ncc_margin"], + # "tools_ncc_method": self.app.defaults["tools_ncc_method"], + # "tools_ncc_connect": self.app.defaults["tools_ncc_connect"], + # "tools_ncc_contour": self.app.defaults["tools_ncc_contour"], + # "tools_ncc_overlap": self.app.defaults["tools_ncc_overlap"], + # "tools_ncc_rest": self.app.defaults["tools_ncc_rest"], + # "tools_ncc_ref": self.app.defaults["tools_ncc_ref"], + # "tools_ncc_offset_choice": self.app.defaults["tools_ncc_offset_choice"], + # "tools_ncc_offset_value": self.app.defaults["tools_ncc_offset_value"], + # "tools_ncc_milling_type": self.app.defaults["tools_ncc_milling_type"], + # "tools_ncc_check_valid": self.app.defaults["tools_ncc_check_valid"], + # } try: dias = [float(self.app.defaults["tools_ncc_tools"])] diff --git a/appTools/ToolPaint.py b/appTools/ToolPaint.py index 4136b33a..4498782a 100644 --- a/appTools/ToolPaint.py +++ b/appTools/ToolPaint.py @@ -467,48 +467,59 @@ class ToolPaint(AppTool, Gerber): self.paint_tools.clear() self.tooluid = 0 + # init the working variables self.default_data.clear() - self.default_data.update({ - "name": '_paint', - "plot": self.app.defaults["geometry_plot"], - "cutz": float(self.app.defaults["tools_paint_cutz"]), - "vtipdia": float(self.app.defaults["tools_paint_tipdia"]), - "vtipangle": float(self.app.defaults["tools_paint_tipangle"]), - "travelz": float(self.app.defaults["geometry_travelz"]), - "feedrate": float(self.app.defaults["geometry_feedrate"]), - "feedrate_z": float(self.app.defaults["geometry_feedrate_z"]), - "feedrate_rapid": float(self.app.defaults["geometry_feedrate_rapid"]), - "dwell": self.app.defaults["geometry_dwell"], - "dwelltime": float(self.app.defaults["geometry_dwelltime"]), - "multidepth": self.app.defaults["geometry_multidepth"], - "ppname_g": self.app.defaults["geometry_ppname_g"], - "depthperpass": float(self.app.defaults["geometry_depthperpass"]), - "extracut": self.app.defaults["geometry_extracut"], - "extracut_length": self.app.defaults["geometry_extracut_length"], - "toolchange": self.app.defaults["geometry_toolchange"], - "toolchangez": float(self.app.defaults["geometry_toolchangez"]), - "endz": float(self.app.defaults["geometry_endz"]), - "endxy": self.app.defaults["geometry_endxy"], + kind = 'geometry' + for option in self.app.options: + if option.find(kind + "_") == 0: + oname = option[len(kind) + 1:] + self.default_data[oname] = self.app.options[option] - "spindlespeed": self.app.defaults["geometry_spindlespeed"], - "toolchangexy": self.app.defaults["geometry_toolchangexy"], - "startz": self.app.defaults["geometry_startz"], + if option.find('tools_') == 0: + self.default_data[option] = self.app.options[option] - "area_exclusion": self.app.defaults["geometry_area_exclusion"], - "area_shape": self.app.defaults["geometry_area_shape"], - "area_strategy": self.app.defaults["geometry_area_strategy"], - "area_overz": float(self.app.defaults["geometry_area_overz"]), - "optimization_type": self.app.defaults["geometry_optimization_type"], - - "tooldia": self.app.defaults["tools_paint_tooldia"], - "tools_paint_offset": self.app.defaults["tools_paint_offset"], - "tools_paint_method": self.app.defaults["tools_paint_method"], - "tools_paint_selectmethod": self.app.defaults["tools_paint_selectmethod"], - "tools_paint_connect": self.app.defaults["tools_paint_connect"], - "tools_paint_contour": self.app.defaults["tools_paint_contour"], - "tools_paint_overlap": self.app.defaults["tools_paint_overlap"], - "tools_paint_rest": self.app.defaults["tools_paint_rest"], - }) + # self.default_data.clear() + # self.default_data.update({ + # "name": '_paint', + # "plot": self.app.defaults["geometry_plot"], + # "cutz": float(self.app.defaults["tools_paint_cutz"]), + # "vtipdia": float(self.app.defaults["tools_paint_tipdia"]), + # "vtipangle": float(self.app.defaults["tools_paint_tipangle"]), + # "travelz": float(self.app.defaults["geometry_travelz"]), + # "feedrate": float(self.app.defaults["geometry_feedrate"]), + # "feedrate_z": float(self.app.defaults["geometry_feedrate_z"]), + # "feedrate_rapid": float(self.app.defaults["geometry_feedrate_rapid"]), + # "dwell": self.app.defaults["geometry_dwell"], + # "dwelltime": float(self.app.defaults["geometry_dwelltime"]), + # "multidepth": self.app.defaults["geometry_multidepth"], + # "ppname_g": self.app.defaults["geometry_ppname_g"], + # "depthperpass": float(self.app.defaults["geometry_depthperpass"]), + # "extracut": self.app.defaults["geometry_extracut"], + # "extracut_length": self.app.defaults["geometry_extracut_length"], + # "toolchange": self.app.defaults["geometry_toolchange"], + # "toolchangez": float(self.app.defaults["geometry_toolchangez"]), + # "endz": float(self.app.defaults["geometry_endz"]), + # "endxy": self.app.defaults["geometry_endxy"], + # + # "spindlespeed": self.app.defaults["geometry_spindlespeed"], + # "toolchangexy": self.app.defaults["geometry_toolchangexy"], + # "startz": self.app.defaults["geometry_startz"], + # + # "area_exclusion": self.app.defaults["geometry_area_exclusion"], + # "area_shape": self.app.defaults["geometry_area_shape"], + # "area_strategy": self.app.defaults["geometry_area_strategy"], + # "area_overz": float(self.app.defaults["geometry_area_overz"]), + # "optimization_type": self.app.defaults["geometry_optimization_type"], + # + # "tooldia": self.app.defaults["tools_paint_tooldia"], + # "tools_paint_offset": self.app.defaults["tools_paint_offset"], + # "tools_paint_method": self.app.defaults["tools_paint_method"], + # "tools_paint_selectmethod": self.app.defaults["tools_paint_selectmethod"], + # "tools_paint_connect": self.app.defaults["tools_paint_connect"], + # "tools_paint_contour": self.app.defaults["tools_paint_contour"], + # "tools_paint_overlap": self.app.defaults["tools_paint_overlap"], + # "tools_paint_rest": self.app.defaults["tools_paint_rest"], + # }) # ## Init the GUI interface self.ui.order_radio.set_value(self.app.defaults["tools_paint_order"])