- added a last resort option to load old projects; the result is not guaranteed if the differences are too great

This commit is contained in:
Marius Stanciu
2022-03-20 14:32:20 +02:00
committed by Marius
parent 16b6f96324
commit c04957322e
4 changed files with 116 additions and 35 deletions

View File

@@ -859,7 +859,12 @@ class CNCJobObject(FlatCAMObj, CNCjob):
if self.obj_options['type'].lower() == 'geometry':
try:
for key in self.tools:
ppg = self.tools[key]['data']['tools_mill_ppname_g']
try:
ppg = self.tools[key]['data']['tools_mill_ppname_g']
except KeyError:
# for older loaded projects
ppg = self.app.options['tools_mill_ppname_g']
if 'marlin' in ppg.lower() or 'repetier' in ppg.lower():
marlin = True
break
@@ -1001,7 +1006,13 @@ class CNCJobObject(FlatCAMObj, CNCjob):
# for the case that self.tools is empty: old projects
try:
first_key = list(self.tools.keys())[0]
include_header = self.app.preprocessors[self.tools[first_key]['data']['tools_mill_ppname_g']]
try:
include_header = self.app.preprocessors[self.tools[first_key]['data']['tools_mill_ppname_g']]
except KeyError:
# for older loaded projects
self.app.log.debug("CNCJobObject.export_gcode() --> old project detected. Results are unreliable.")
include_header = self.app.preprocessors[self.app.options['tools_mill_ppname_g']]
include_header = include_header.include_header
except (TypeError, IndexError):
include_header = self.app.preprocessors['default'].include_header
@@ -1020,6 +1031,12 @@ class CNCJobObject(FlatCAMObj, CNCjob):
include_header = self.app.preprocessors[
self.tools[first_key]['data']['ppname_e']
].include_header
except Exception:
self.app.log.debug("CNCJobObject.export_gcode() --> old project detected. Results are unreliable.")
# for older loaded projects
include_header = self.app.preprocessors[
self.app.options['tools_drill_ppname_e']
].include_header
except TypeError:
# when self.tools is empty - old projects
include_header = self.app.preprocessors['default'].include_header

View File

@@ -196,6 +196,9 @@ class GeometryObject(FlatCAMObj, Geometry):
offset_item_txt = self.offset_item_options[tooluid_value['data']['tools_mill_offset_type']]
except TypeError:
offset_item_txt = tooluid_value['data']['tools_mill_offset_type']
except KeyError:
# for older loaded projects
offset_item_txt = self.app.options['tools_mill_offset_type']
offset_item = QtWidgets.QTableWidgetItem(offset_item_txt)
offset_item.setFlags(QtCore.Qt.ItemFlag.ItemIsEnabled)
self.ui.geo_tools_table.setItem(row_idx, 2, offset_item) # Offset Type
@@ -205,6 +208,9 @@ class GeometryObject(FlatCAMObj, Geometry):
job_item_txt = self.job_item_options[tooluid_value['data']['tools_mill_job_type']]
except TypeError:
job_item_txt = tooluid_value['data']['tools_mill_job_type']
except KeyError:
# for older loaded projects
job_item_txt = self.app.options['tools_mill_job_type']
job_item = QtWidgets.QTableWidgetItem(job_item_txt)
job_item.setFlags(QtCore.Qt.ItemFlag.ItemIsEnabled)
self.ui.geo_tools_table.setItem(row_idx, 3, job_item) # Job Type
@@ -214,6 +220,9 @@ class GeometryObject(FlatCAMObj, Geometry):
tool_shape_item_txt = self.tool_type_item_options[tooluid_value['data']['tools_mill_tool_shape']]
except TypeError:
tool_shape_item_txt = tooluid_value['data']['tools_mill_tool_shape']
except KeyError:
# for older loaded projects
tool_shape_item_txt = self.app.options['tools_mill_tool_shape']
tool_shape_item = QtWidgets.QTableWidgetItem(tool_shape_item_txt)
tool_shape_item.setFlags(QtCore.Qt.ItemFlag.ItemIsEnabled)
self.ui.geo_tools_table.setItem(row_idx, 4, tool_shape_item) # Tool Shape