diff --git a/CHANGELOG.md b/CHANGELOG.md index 30c2b0d1..dd44cbdf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ CHANGELOG for FlatCAM beta - attempting to fix issue #492 - when checking for tools present in the database there were some errors in the NCC, ISO, MILL, PAINT and CUTOUT Tools - minor change in Geometry Object +- some changes in Tools Database and in Cutout Tool; working to update to new milling parameters 8.01.2021 diff --git a/appDatabase.py b/appDatabase.py index fafba1df..2ad29bf2 100644 --- a/appDatabase.py +++ b/appDatabase.py @@ -1920,48 +1920,45 @@ class ToolsDB2(QtWidgets.QWidget): "tol_max": 0.0, # Milling - "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"]), - "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"], - "search_time": int(self.app.defaults["geometry_search_time"]), - "z_pdepth": float(self.app.defaults["geometry_z_pdepth"]), - "f_plunge": float(self.app.defaults["geometry_f_plunge"]), + "tools_mill_cutz": float(self.app.defaults["tools_mill_cutz"]), + "tools_mill_multidepth": self.app.defaults["tools_mill_multidepth"], + "tools_mill_depthperpass": float(self.app.defaults["tools_mill_depthperpass"]), + "tools_mill_vtipdia": float(self.app.defaults["tools_mill_vtipdia"]), + "tools_mill_vtipangle": float(self.app.defaults["tools_mill_vtipangle"]), + "tools_mill_travelz": float(self.app.defaults["tools_mill_travelz"]), + "tools_mill_feedrate": float(self.app.defaults["tools_mill_feedrate"]), + "tools_mill_feedrate_z": float(self.app.defaults["tools_mill_feedrate_z"]), + "tools_mill_feedrate_rapid": float(self.app.defaults["tools_mill_feedrate_rapid"]), + "tools_mill_spindlespeed": self.app.defaults["tools_mill_spindlespeed"], + "tools_mill_dwell": self.app.defaults["tools_mill_dwell"], + "tools_mill_dwelltime": float(self.app.defaults["tools_mill_dwelltime"]), + "tools_mill_ppname_g": self.app.defaults["tools_mill_ppname_g"], + "tools_mill_extracut": self.app.defaults["tools_mill_extracut"], + "tools_mill_extracut_length": float(self.app.defaults["tools_mill_extracut_length"]), + "tools_mill_toolchange": self.app.defaults["tools_mill_toolchange"], + "tools_mill_toolchangexy": self.app.defaults["tools_mill_toolchangexy"], + "tools_mill_toolchangez": float(self.app.defaults["tools_mill_toolchangez"]), + "tools_mill_startz": self.app.defaults["tools_mill_startz"], + "tools_mill_endz": float(self.app.defaults["tools_mill_endz"]), + "tools_mill_endxy": self.app.defaults["tools_mill_endxy"], + "tools_mill_search_time": int(self.app.defaults["tools_mill_search_time"]), + "tools_mill_z_pdepth": float(self.app.defaults["tools_mill_z_pdepth"]), + "tools_mill_f_plunge": float(self.app.defaults["tools_mill_f_plunge"]), - "spindledir": self.app.defaults["geometry_spindledir"], - "optimization_type": self.app.defaults["geometry_optimization_type"], - "feedrate_probe": self.app.defaults["geometry_feedrate_probe"], + "tools_mill_spindledir": self.app.defaults["tools_mill_spindledir"], + "tools_mill_optimization_type": self.app.defaults["tools_mill_optimization_type"], + "tools_mill_feedrate_probe": self.app.defaults["tools_mill_feedrate_probe"], "segx": self.app.defaults["geometry_segx"], "segy": self.app.defaults["geometry_segy"], - "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": self.app.defaults["geometry_area_overz"], - "polish": self.app.defaults["geometry_polish"], - "polish_dia": self.app.defaults["geometry_polish_dia"], - "polish_pressure": self.app.defaults["geometry_polish_pressure"], - "polish_travelz": self.app.defaults["geometry_polish_travelz"], - "polish_margin": self.app.defaults["geometry_polish_margin"], - "polish_overlap": self.app.defaults["geometry_polish_overlap"], - "polish_method": self.app.defaults["geometry_polish_method"], + "tools_mill_area_exclusion": self.app.defaults["tools_mill_area_exclusion"], + "tools_mill_area_shape": self.app.defaults["tools_mill_area_shape"], + "tools_mill_area_strategy": self.app.defaults["tools_mill_area_strategy"], + "tools_mill_area_overz": self.app.defaults["tools_mill_area_overz"], + "tools_mill_polish": self.app.defaults["tools_mill_polish"], + "tools_mill_polish_margin": self.app.defaults["tools_mill_polish_margin"], + "tools_mill_polish_overlap": self.app.defaults["tools_mill_polish_overlap"], + "tools_mill_polish_method": self.app.defaults["tools_mill_polish_method"], # NCC "tools_ncc_operation": self.app.defaults["tools_ncc_operation"], diff --git a/appTools/ToolCutOut.py b/appTools/ToolCutOut.py index aebdf259..cc4fbfc3 100644 --- a/appTools/ToolCutOut.py +++ b/appTools/ToolCutOut.py @@ -675,9 +675,9 @@ class CutOut(AppTool): # FIXME when the Geometry UI milling functionality will be transferred in the Milling Tool this needs changes tool_from_db['data']["tools_cutout_tooldia"] = deepcopy(tool["tooldia"]) - tool_from_db['data']["tools_cutout_z"] = deepcopy(tool_from_db['data']["cutz"]) - tool_from_db['data']["tools_cutout_mdepth"] = deepcopy(tool_from_db['data']["multidepth"]) - tool_from_db['data']["tools_cutout_depthperpass"] = deepcopy(tool_from_db['data']["depthperpass"]) + tool_from_db['data']["tools_cutout_z"] = deepcopy(tool_from_db['data']["tools_mill_cutz"]) + tool_from_db['data']["tools_cutout_mdepth"] = deepcopy(tool_from_db['data']["tools_mill_multidepth"]) + tool_from_db['data']["tools_cutout_depthperpass"] = deepcopy(tool_from_db['data']["tools_mill_depthperpass"]) self.cut_tool_dict.update(tool_from_db) self.cut_tool_dict['solid_geometry'] = [] @@ -1053,18 +1053,18 @@ class CutOut(AppTool): geo_obj.options['ymax'] = ymax geo_obj.options['tools_mill_tooldia'] = str(dia) - geo_obj.options['cutz'] = self.ui.cutz_entry.get_value() - geo_obj.options['multidepth'] = self.ui.mpass_cb.get_value() - geo_obj.options['depthperpass'] = self.ui.maxdepth_entry.get_value() + geo_obj.options['tools_mill_cutz'] = self.ui.cutz_entry.get_value() + geo_obj.options['tools_mill_multidepth'] = self.ui.mpass_cb.get_value() + geo_obj.options['tools_mill_depthperpass'] = self.ui.maxdepth_entry.get_value() geo_obj.tools[1] = deepcopy(self.cut_tool_dict) geo_obj.tools[1]['tooldia'] = str(dia) geo_obj.tools[1]['solid_geometry'] = geo_obj.solid_geometry geo_obj.tools[1]['data']['name'] = outname - geo_obj.tools[1]['data']['cutz'] = self.ui.cutz_entry.get_value() - geo_obj.tools[1]['data']['multidepth'] = self.ui.mpass_cb.get_value() - geo_obj.tools[1]['data']['depthperpass'] = self.ui.maxdepth_entry.get_value() + geo_obj.tools[1]['data']['tools_mill_cutz'] = self.ui.cutz_entry.get_value() + geo_obj.tools[1]['data']['tools_mill_multidepth'] = self.ui.mpass_cb.get_value() + geo_obj.tools[1]['data']['tools_mill_depthperpass'] = self.ui.maxdepth_entry.get_value() if not gaps_solid_geo: pass @@ -1074,9 +1074,9 @@ class CutOut(AppTool): geo_obj.tools[9999]['solid_geometry'] = gaps_solid_geo geo_obj.tools[9999]['data']['name'] = outname - geo_obj.tools[9999]['data']['cutz'] = self.ui.thin_depth_entry.get_value() - geo_obj.tools[9999]['data']['multidepth'] = self.ui.mpass_cb.get_value() - geo_obj.tools[9999]['data']['depthperpass'] = self.ui.maxdepth_entry.get_value() + geo_obj.tools[9999]['data']['tools_mill_cutz'] = self.ui.thin_depth_entry.get_value() + geo_obj.tools[9999]['data']['tools_mill_multidepth'] = self.ui.mpass_cb.get_value() + geo_obj.tools[9999]['data']['tools_mill_depthperpass'] = self.ui.maxdepth_entry.get_value() # plot this tool in a different color geo_obj.tools[9999]['data']['override_color'] = "#29a3a3fa" @@ -1440,9 +1440,9 @@ class CutOut(AppTool): geo_obj.tools[1]['solid_geometry'] = geo_obj.solid_geometry geo_obj.tools[1]['data']['name'] = outname - geo_obj.tools[1]['data']['cutz'] = self.ui.cutz_entry.get_value() - geo_obj.tools[1]['data']['multidepth'] = self.ui.mpass_cb.get_value() - geo_obj.tools[1]['data']['depthperpass'] = self.ui.maxdepth_entry.get_value() + geo_obj.tools[1]['data']['tools_mill_cutz'] = self.ui.cutz_entry.get_value() + geo_obj.tools[1]['data']['tools_mill_multidepth'] = self.ui.mpass_cb.get_value() + geo_obj.tools[1]['data']['tools_mill_depthperpass'] = self.ui.maxdepth_entry.get_value() if not gaps_solid_geo: pass @@ -1452,9 +1452,9 @@ class CutOut(AppTool): geo_obj.tools[9999]['solid_geometry'] = gaps_solid_geo geo_obj.tools[9999]['data']['name'] = outname - geo_obj.tools[9999]['data']['cutz'] = self.ui.thin_depth_entry.get_value() - geo_obj.tools[9999]['data']['multidepth'] = self.ui.mpass_cb.get_value() - geo_obj.tools[9999]['data']['depthperpass'] = self.ui.maxdepth_entry.get_value() + geo_obj.tools[9999]['data']['tools_mill_cutz'] = self.ui.thin_depth_entry.get_value() + geo_obj.tools[9999]['data']['tools_mill_multidepth'] = self.ui.mpass_cb.get_value() + geo_obj.tools[9999]['data']['tools_mill_depthperpass'] = self.ui.maxdepth_entry.get_value() geo_obj.tools[9999]['data']['override_color'] = "#29a3a3fa" def excellon_init(exc_obj, app_o): @@ -1700,9 +1700,9 @@ class CutOut(AppTool): self.man_cutout_obj.tools[1]['solid_geometry'] = new_solid_geometry self.man_cutout_obj.tools[1]['data']['name'] = self.man_cutout_obj.options['name'] + '_cutout' - self.man_cutout_obj.tools[1]['data']['cutz'] = self.ui.cutz_entry.get_value() - self.man_cutout_obj.tools[1]['data']['multidepth'] = self.ui.mpass_cb.get_value() - self.man_cutout_obj.tools[1]['data']['depthperpass'] = self.ui.maxdepth_entry.get_value() + self.man_cutout_obj.tools[1]['data']['tools_mill_cutz'] = self.ui.cutz_entry.get_value() + self.man_cutout_obj.tools[1]['data']['tools_mill_multidepth'] = self.ui.mpass_cb.get_value() + self.man_cutout_obj.tools[1]['data']['tools_mill_depthperpass'] = self.ui.maxdepth_entry.get_value() except KeyError: self.app.inform.emit('[ERROR_NOTCL] %s' % _("No tool in the Geometry object.")) return @@ -1717,9 +1717,9 @@ class CutOut(AppTool): self.man_cutout_obj.tools[9999]['solid_geometry'] = [gaps_solid_geo] self.man_cutout_obj.tools[9999]['data']['name'] = self.man_cutout_obj.options['name'] + '_cutout' - self.man_cutout_obj.tools[9999]['data']['cutz'] = self.ui.thin_depth_entry.get_value() - self.man_cutout_obj.tools[9999]['data']['multidepth'] = self.ui.mpass_cb.get_value() - self.man_cutout_obj.tools[9999]['data']['depthperpass'] = self.ui.maxdepth_entry.get_value() + self.man_cutout_obj.tools[9999]['data']['tools_mill_cutz'] = self.ui.thin_depth_entry.get_value() + self.man_cutout_obj.tools[9999]['data']['tools_mill_multidepth'] = self.ui.mpass_cb.get_value() + self.man_cutout_obj.tools[9999]['data']['tools_mill_depthperpass'] = self.ui.maxdepth_entry.get_value() self.man_cutout_obj.tools[9999]['data']['override_color'] = "#29a3a3fa" else: self.man_cutout_obj.tools[9999]['solid_geometry'].append(gaps_solid_geo) @@ -1810,9 +1810,9 @@ class CutOut(AppTool): geo_obj.tools[1]['solid_geometry'] = geo_obj.solid_geometry geo_obj.tools[1]['data']['name'] = outname - geo_obj.tools[1]['data']['cutz'] = self.ui.cutz_entry.get_value() - geo_obj.tools[1]['data']['multidepth'] = self.ui.mpass_cb.get_value() - geo_obj.tools[1]['data']['depthperpass'] = self.ui.maxdepth_entry.get_value() + geo_obj.tools[1]['data']['tools_mill_cutz'] = self.ui.cutz_entry.get_value() + geo_obj.tools[1]['data']['tools_mill_multidepth'] = self.ui.mpass_cb.get_value() + geo_obj.tools[1]['data']['tools_mill_depthperpass'] = self.ui.maxdepth_entry.get_value() outname = cutout_obj.options["name"] + "_cutout" self.app.app_obj.new_object('geometry', outname, geo_init) diff --git a/defaults.py b/defaults.py index 206c067d..28782a4a 100644 --- a/defaults.py +++ b/defaults.py @@ -348,6 +348,7 @@ class FlatCAMDefaults: "tools_mill_polish_margin": 0.0, "tools_mill_polish_overlap": 5, "tools_mill_polish_method": 0, + "tools_mill_milling_type": 'both', "tools_mill_optimization_type": 'R', "tools_mill_search_time": 3,