- some changes in Tools Database and in Cutout Tool; working to update to new milling parameters

This commit is contained in:
Marius Stanciu
2021-01-10 03:38:14 +02:00
committed by Marius
parent cbe0542d7d
commit c249dfd6fe
4 changed files with 64 additions and 65 deletions

View File

@@ -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 - 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 - minor change in Geometry Object
- some changes in Tools Database and in Cutout Tool; working to update to new milling parameters
8.01.2021 8.01.2021

View File

@@ -1920,48 +1920,45 @@ class ToolsDB2(QtWidgets.QWidget):
"tol_max": 0.0, "tol_max": 0.0,
# Milling # Milling
"cutz": float(self.app.defaults["geometry_cutz"]), "tools_mill_cutz": float(self.app.defaults["tools_mill_cutz"]),
"multidepth": self.app.defaults["geometry_multidepth"], "tools_mill_multidepth": self.app.defaults["tools_mill_multidepth"],
"depthperpass": float(self.app.defaults["geometry_depthperpass"]), "tools_mill_depthperpass": float(self.app.defaults["tools_mill_depthperpass"]),
"vtipdia": float(self.app.defaults["tools_mill_vtipdia"]), "tools_mill_vtipdia": float(self.app.defaults["tools_mill_vtipdia"]),
"vtipangle": float(self.app.defaults["tools_mill_vtipangle"]), "tools_mill_vtipangle": float(self.app.defaults["tools_mill_vtipangle"]),
"travelz": float(self.app.defaults["geometry_travelz"]), "tools_mill_travelz": float(self.app.defaults["tools_mill_travelz"]),
"feedrate": float(self.app.defaults["geometry_feedrate"]), "tools_mill_feedrate": float(self.app.defaults["tools_mill_feedrate"]),
"feedrate_z": float(self.app.defaults["geometry_feedrate_z"]), "tools_mill_feedrate_z": float(self.app.defaults["tools_mill_feedrate_z"]),
"feedrate_rapid": float(self.app.defaults["geometry_feedrate_rapid"]), "tools_mill_feedrate_rapid": float(self.app.defaults["tools_mill_feedrate_rapid"]),
"spindlespeed": self.app.defaults["geometry_spindlespeed"], "tools_mill_spindlespeed": self.app.defaults["tools_mill_spindlespeed"],
"dwell": self.app.defaults["geometry_dwell"], "tools_mill_dwell": self.app.defaults["tools_mill_dwell"],
"dwelltime": float(self.app.defaults["geometry_dwelltime"]), "tools_mill_dwelltime": float(self.app.defaults["tools_mill_dwelltime"]),
"ppname_g": self.app.defaults["geometry_ppname_g"], "tools_mill_ppname_g": self.app.defaults["tools_mill_ppname_g"],
"extracut": self.app.defaults["geometry_extracut"], "tools_mill_extracut": self.app.defaults["tools_mill_extracut"],
"extracut_length": float(self.app.defaults["geometry_extracut_length"]), "tools_mill_extracut_length": float(self.app.defaults["tools_mill_extracut_length"]),
"toolchange": self.app.defaults["geometry_toolchange"], "tools_mill_toolchange": self.app.defaults["tools_mill_toolchange"],
"toolchangexy": self.app.defaults["geometry_toolchangexy"], "tools_mill_toolchangexy": self.app.defaults["tools_mill_toolchangexy"],
"toolchangez": float(self.app.defaults["geometry_toolchangez"]), "tools_mill_toolchangez": float(self.app.defaults["tools_mill_toolchangez"]),
"startz": self.app.defaults["geometry_startz"], "tools_mill_startz": self.app.defaults["tools_mill_startz"],
"endz": float(self.app.defaults["geometry_endz"]), "tools_mill_endz": float(self.app.defaults["tools_mill_endz"]),
"endxy": self.app.defaults["geometry_endxy"], "tools_mill_endxy": self.app.defaults["tools_mill_endxy"],
"search_time": int(self.app.defaults["geometry_search_time"]), "tools_mill_search_time": int(self.app.defaults["tools_mill_search_time"]),
"z_pdepth": float(self.app.defaults["geometry_z_pdepth"]), "tools_mill_z_pdepth": float(self.app.defaults["tools_mill_z_pdepth"]),
"f_plunge": float(self.app.defaults["geometry_f_plunge"]), "tools_mill_f_plunge": float(self.app.defaults["tools_mill_f_plunge"]),
"spindledir": self.app.defaults["geometry_spindledir"], "tools_mill_spindledir": self.app.defaults["tools_mill_spindledir"],
"optimization_type": self.app.defaults["geometry_optimization_type"], "tools_mill_optimization_type": self.app.defaults["tools_mill_optimization_type"],
"feedrate_probe": self.app.defaults["geometry_feedrate_probe"], "tools_mill_feedrate_probe": self.app.defaults["tools_mill_feedrate_probe"],
"segx": self.app.defaults["geometry_segx"], "segx": self.app.defaults["geometry_segx"],
"segy": self.app.defaults["geometry_segy"], "segy": self.app.defaults["geometry_segy"],
"area_exclusion": self.app.defaults["geometry_area_exclusion"], "tools_mill_area_exclusion": self.app.defaults["tools_mill_area_exclusion"],
"area_shape": self.app.defaults["geometry_area_shape"], "tools_mill_area_shape": self.app.defaults["tools_mill_area_shape"],
"area_strategy": self.app.defaults["geometry_area_strategy"], "tools_mill_area_strategy": self.app.defaults["tools_mill_area_strategy"],
"area_overz": self.app.defaults["geometry_area_overz"], "tools_mill_area_overz": self.app.defaults["tools_mill_area_overz"],
"polish": self.app.defaults["geometry_polish"], "tools_mill_polish": self.app.defaults["tools_mill_polish"],
"polish_dia": self.app.defaults["geometry_polish_dia"], "tools_mill_polish_margin": self.app.defaults["tools_mill_polish_margin"],
"polish_pressure": self.app.defaults["geometry_polish_pressure"], "tools_mill_polish_overlap": self.app.defaults["tools_mill_polish_overlap"],
"polish_travelz": self.app.defaults["geometry_polish_travelz"], "tools_mill_polish_method": self.app.defaults["tools_mill_polish_method"],
"polish_margin": self.app.defaults["geometry_polish_margin"],
"polish_overlap": self.app.defaults["geometry_polish_overlap"],
"polish_method": self.app.defaults["geometry_polish_method"],
# NCC # NCC
"tools_ncc_operation": self.app.defaults["tools_ncc_operation"], "tools_ncc_operation": self.app.defaults["tools_ncc_operation"],

View File

@@ -675,9 +675,9 @@ class CutOut(AppTool):
# FIXME when the Geometry UI milling functionality will be transferred in the Milling Tool this needs changes # 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_tooldia"] = deepcopy(tool["tooldia"])
tool_from_db['data']["tools_cutout_z"] = deepcopy(tool_from_db['data']["cutz"]) 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']["multidepth"]) 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']["depthperpass"]) 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.update(tool_from_db)
self.cut_tool_dict['solid_geometry'] = [] self.cut_tool_dict['solid_geometry'] = []
@@ -1053,18 +1053,18 @@ class CutOut(AppTool):
geo_obj.options['ymax'] = ymax geo_obj.options['ymax'] = ymax
geo_obj.options['tools_mill_tooldia'] = str(dia) geo_obj.options['tools_mill_tooldia'] = str(dia)
geo_obj.options['cutz'] = self.ui.cutz_entry.get_value() geo_obj.options['tools_mill_cutz'] = self.ui.cutz_entry.get_value()
geo_obj.options['multidepth'] = self.ui.mpass_cb.get_value() geo_obj.options['tools_mill_multidepth'] = self.ui.mpass_cb.get_value()
geo_obj.options['depthperpass'] = self.ui.maxdepth_entry.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] = deepcopy(self.cut_tool_dict)
geo_obj.tools[1]['tooldia'] = str(dia) geo_obj.tools[1]['tooldia'] = str(dia)
geo_obj.tools[1]['solid_geometry'] = geo_obj.solid_geometry geo_obj.tools[1]['solid_geometry'] = geo_obj.solid_geometry
geo_obj.tools[1]['data']['name'] = outname geo_obj.tools[1]['data']['name'] = outname
geo_obj.tools[1]['data']['cutz'] = self.ui.cutz_entry.get_value() geo_obj.tools[1]['data']['tools_mill_cutz'] = self.ui.cutz_entry.get_value()
geo_obj.tools[1]['data']['multidepth'] = self.ui.mpass_cb.get_value() geo_obj.tools[1]['data']['tools_mill_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_depthperpass'] = self.ui.maxdepth_entry.get_value()
if not gaps_solid_geo: if not gaps_solid_geo:
pass pass
@@ -1074,9 +1074,9 @@ class CutOut(AppTool):
geo_obj.tools[9999]['solid_geometry'] = gaps_solid_geo geo_obj.tools[9999]['solid_geometry'] = gaps_solid_geo
geo_obj.tools[9999]['data']['name'] = outname 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']['tools_mill_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']['tools_mill_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_depthperpass'] = self.ui.maxdepth_entry.get_value()
# plot this tool in a different color # plot this tool in a different color
geo_obj.tools[9999]['data']['override_color'] = "#29a3a3fa" 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]['solid_geometry'] = geo_obj.solid_geometry
geo_obj.tools[1]['data']['name'] = outname geo_obj.tools[1]['data']['name'] = outname
geo_obj.tools[1]['data']['cutz'] = self.ui.cutz_entry.get_value() geo_obj.tools[1]['data']['tools_mill_cutz'] = self.ui.cutz_entry.get_value()
geo_obj.tools[1]['data']['multidepth'] = self.ui.mpass_cb.get_value() geo_obj.tools[1]['data']['tools_mill_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_depthperpass'] = self.ui.maxdepth_entry.get_value()
if not gaps_solid_geo: if not gaps_solid_geo:
pass pass
@@ -1452,9 +1452,9 @@ class CutOut(AppTool):
geo_obj.tools[9999]['solid_geometry'] = gaps_solid_geo geo_obj.tools[9999]['solid_geometry'] = gaps_solid_geo
geo_obj.tools[9999]['data']['name'] = outname 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']['tools_mill_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']['tools_mill_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_depthperpass'] = self.ui.maxdepth_entry.get_value()
geo_obj.tools[9999]['data']['override_color'] = "#29a3a3fa" geo_obj.tools[9999]['data']['override_color'] = "#29a3a3fa"
def excellon_init(exc_obj, app_o): 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]['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']['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']['tools_mill_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']['tools_mill_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_depthperpass'] = self.ui.maxdepth_entry.get_value()
except KeyError: except KeyError:
self.app.inform.emit('[ERROR_NOTCL] %s' % _("No tool in the Geometry object.")) self.app.inform.emit('[ERROR_NOTCL] %s' % _("No tool in the Geometry object."))
return 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]['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']['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']['tools_mill_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']['tools_mill_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_depthperpass'] = self.ui.maxdepth_entry.get_value()
self.man_cutout_obj.tools[9999]['data']['override_color'] = "#29a3a3fa" self.man_cutout_obj.tools[9999]['data']['override_color'] = "#29a3a3fa"
else: else:
self.man_cutout_obj.tools[9999]['solid_geometry'].append(gaps_solid_geo) 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]['solid_geometry'] = geo_obj.solid_geometry
geo_obj.tools[1]['data']['name'] = outname geo_obj.tools[1]['data']['name'] = outname
geo_obj.tools[1]['data']['cutz'] = self.ui.cutz_entry.get_value() geo_obj.tools[1]['data']['tools_mill_cutz'] = self.ui.cutz_entry.get_value()
geo_obj.tools[1]['data']['multidepth'] = self.ui.mpass_cb.get_value() geo_obj.tools[1]['data']['tools_mill_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_depthperpass'] = self.ui.maxdepth_entry.get_value()
outname = cutout_obj.options["name"] + "_cutout" outname = cutout_obj.options["name"] + "_cutout"
self.app.app_obj.new_object('geometry', outname, geo_init) self.app.app_obj.new_object('geometry', outname, geo_init)

View File

@@ -348,6 +348,7 @@ class FlatCAMDefaults:
"tools_mill_polish_margin": 0.0, "tools_mill_polish_margin": 0.0,
"tools_mill_polish_overlap": 5, "tools_mill_polish_overlap": 5,
"tools_mill_polish_method": 0, "tools_mill_polish_method": 0,
"tools_mill_milling_type": 'both', "tools_mill_milling_type": 'both',
"tools_mill_optimization_type": 'R', "tools_mill_optimization_type": 'R',
"tools_mill_search_time": 3, "tools_mill_search_time": 3,