- added progress display in status bar for generating CNCJob from Geometry objects
This commit is contained in:
parent
48e9f4a260
commit
053ceb3c24
|
@ -4529,6 +4529,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
|
||||||
})
|
})
|
||||||
|
|
||||||
spindledir = self.app.defaults['geometry_spindledir']
|
spindledir = self.app.defaults['geometry_spindledir']
|
||||||
|
tool_solid_geometry = self.solid_geometry
|
||||||
|
|
||||||
job_obj.coords_decimals = self.app.defaults["cncjob_coords_decimals"]
|
job_obj.coords_decimals = self.app.defaults["cncjob_coords_decimals"]
|
||||||
job_obj.fr_decimals = self.app.defaults["cncjob_fr_decimals"]
|
job_obj.fr_decimals = self.app.defaults["cncjob_fr_decimals"]
|
||||||
|
@ -4570,10 +4571,19 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
|
||||||
# object is the source of gcode
|
# object is the source of gcode
|
||||||
job_obj.toolchange_xy_type = "geometry"
|
job_obj.toolchange_xy_type = "geometry"
|
||||||
|
|
||||||
|
self.app.inform.emit('[success] %s' % _("G-Code parsing in progress..."))
|
||||||
dia_cnc_dict['gcode_parsed'] = job_obj.gcode_parse()
|
dia_cnc_dict['gcode_parsed'] = job_obj.gcode_parse()
|
||||||
|
self.app.inform.emit('[success] %s' % _("G-Code parsing finished..."))
|
||||||
|
|
||||||
# TODO this serve for bounding box creation only; should be optimized
|
# TODO this serve for bounding box creation only; should be optimized
|
||||||
dia_cnc_dict['solid_geometry'] = cascaded_union([geo['geom'] for geo in dia_cnc_dict['gcode_parsed']])
|
# commented this; there is no need for the actual GCode geometry - the original one will serve as well
|
||||||
|
# for bounding box values
|
||||||
|
# dia_cnc_dict['solid_geometry'] = cascaded_union([geo['geom'] for geo in dia_cnc_dict['gcode_parsed']])
|
||||||
|
try:
|
||||||
|
dia_cnc_dict['solid_geometry'] = tool_solid_geometry
|
||||||
|
self.app.inform.emit('[success] %s' % _("Finished G-Code processing..."))
|
||||||
|
except Exception as e:
|
||||||
|
self.app.inform.emit('[ERROR] %s' % _("G-Code processing failed with error: %s") % str(e))
|
||||||
|
|
||||||
app_obj.progress.emit(80)
|
app_obj.progress.emit(80)
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@ CAD program, and create G-Code for Isolation routing.
|
||||||
- added percentage display for work done in Paint Tool
|
- added percentage display for work done in Paint Tool
|
||||||
- some fixes and prepared the activity monitor area to receive updated texts
|
- some fixes and prepared the activity monitor area to receive updated texts
|
||||||
- added progress display in status bar for generating CNCJob from Excellon objects
|
- added progress display in status bar for generating CNCJob from Excellon objects
|
||||||
|
- added progress display in status bar for generating CNCJob from Geometry objects
|
||||||
|
|
||||||
5.09.2019
|
5.09.2019
|
||||||
|
|
||||||
|
|
77
camlib.py
77
camlib.py
|
@ -5480,12 +5480,13 @@ class CNCjob(Geometry):
|
||||||
loc_nr += 1
|
loc_nr += 1
|
||||||
disp_number = int(np.interp(loc_nr, [0, geo_len], [0, 99]))
|
disp_number = int(np.interp(loc_nr, [0, geo_len], [0, 99]))
|
||||||
|
|
||||||
if disp_number > old_disp_number and disp_number <= 100:
|
if old_disp_number < disp_number <= 100:
|
||||||
self.app.inform.emit(
|
self.app.inform.emit(
|
||||||
'%s: %s. %s: %d%%' % (_("Starting G-Code for tool with diameter"),
|
'%s: %s%s. %s: %d%%' % (_("Starting G-Code for tool with diameter"),
|
||||||
str(current_tooldia),
|
str(current_tooldia),
|
||||||
_("Progress"),
|
str(self.units),
|
||||||
disp_number)
|
_("Progress"),
|
||||||
|
disp_number)
|
||||||
)
|
)
|
||||||
old_disp_number = disp_number
|
old_disp_number = disp_number
|
||||||
|
|
||||||
|
@ -5611,12 +5612,13 @@ class CNCjob(Geometry):
|
||||||
loc_nr += 1
|
loc_nr += 1
|
||||||
disp_number = int(np.interp(loc_nr, [0, geo_len], [0, 99]))
|
disp_number = int(np.interp(loc_nr, [0, geo_len], [0, 99]))
|
||||||
|
|
||||||
if disp_number > old_disp_number and disp_number <= 100:
|
if old_disp_number < disp_number <= 100:
|
||||||
self.app.inform.emit(
|
self.app.inform.emit(
|
||||||
'%s: %s. %s: %d%%' % (_("Starting G-Code for tool with diameter"),
|
'%s: %s%s. %s: %d%%' % (_("Starting G-Code for tool with diameter"),
|
||||||
str(current_tooldia),
|
str(current_tooldia),
|
||||||
_("Progress"),
|
str(self.units),
|
||||||
disp_number)
|
_("Progress"),
|
||||||
|
disp_number)
|
||||||
)
|
)
|
||||||
old_disp_number = disp_number
|
old_disp_number = disp_number
|
||||||
|
|
||||||
|
@ -5703,12 +5705,13 @@ class CNCjob(Geometry):
|
||||||
loc_nr += 1
|
loc_nr += 1
|
||||||
disp_number = int(np.interp(loc_nr, [0, geo_len], [0, 99]))
|
disp_number = int(np.interp(loc_nr, [0, geo_len], [0, 99]))
|
||||||
|
|
||||||
if disp_number > old_disp_number and disp_number <= 100:
|
if old_disp_number < disp_number <= 100:
|
||||||
self.app.inform.emit(
|
self.app.inform.emit(
|
||||||
'%s: %s. %s: %d%%' % (_("Starting G-Code for tool with diameter"),
|
'%s: %s%s. %s: %d%%' % (_("Starting G-Code for tool with diameter"),
|
||||||
str(current_tooldia),
|
str(current_tooldia),
|
||||||
_("Progress"),
|
str(self.units),
|
||||||
disp_number)
|
_("Progress"),
|
||||||
|
disp_number)
|
||||||
)
|
)
|
||||||
old_disp_number = disp_number
|
old_disp_number = disp_number
|
||||||
else:
|
else:
|
||||||
|
@ -5930,6 +5933,17 @@ class CNCjob(Geometry):
|
||||||
path_count = 0
|
path_count = 0
|
||||||
current_pt = (0, 0)
|
current_pt = (0, 0)
|
||||||
|
|
||||||
|
# variables to display the percentage of work done
|
||||||
|
geo_len = len(flat_geometry)
|
||||||
|
disp_number = 0
|
||||||
|
old_disp_number = 0
|
||||||
|
log.warning("Number of paths for which to generate GCode: %s" % str(geo_len))
|
||||||
|
|
||||||
|
if self.units == 'MM':
|
||||||
|
current_tooldia = float('%.2f' % float(self.tooldia))
|
||||||
|
else:
|
||||||
|
current_tooldia = float('%.4f' % float(self.tooldia))
|
||||||
|
|
||||||
pt, geo = storage.nearest(current_pt)
|
pt, geo = storage.nearest(current_pt)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -5971,6 +5985,17 @@ class CNCjob(Geometry):
|
||||||
current_pt = geo.coords[-1]
|
current_pt = geo.coords[-1]
|
||||||
|
|
||||||
pt, geo = storage.nearest(current_pt) # Next
|
pt, geo = storage.nearest(current_pt) # Next
|
||||||
|
|
||||||
|
disp_number = int(np.interp(path_count, [0, geo_len], [0, 99]))
|
||||||
|
if old_disp_number < disp_number <= 100:
|
||||||
|
self.app.inform.emit(
|
||||||
|
'%s: %s%s. %s: %d%%' % (_("Starting G-Code for tool with diameter"),
|
||||||
|
str(current_tooldia),
|
||||||
|
str(self.units),
|
||||||
|
_("Progress"),
|
||||||
|
disp_number)
|
||||||
|
)
|
||||||
|
old_disp_number = disp_number
|
||||||
except StopIteration: # Nothing found in storage.
|
except StopIteration: # Nothing found in storage.
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -6227,6 +6252,17 @@ class CNCjob(Geometry):
|
||||||
log.debug("Starting G-Code...")
|
log.debug("Starting G-Code...")
|
||||||
self.app.inform.emit(_("Starting G-Code..."))
|
self.app.inform.emit(_("Starting G-Code..."))
|
||||||
|
|
||||||
|
# variables to display the percentage of work done
|
||||||
|
geo_len = len(flat_geometry)
|
||||||
|
disp_number = 0
|
||||||
|
old_disp_number = 0
|
||||||
|
log.warning("Number of paths for which to generate GCode: %s" % str(geo_len))
|
||||||
|
|
||||||
|
if self.units == 'MM':
|
||||||
|
current_tooldia = float('%.2f' % float(self.tooldia))
|
||||||
|
else:
|
||||||
|
current_tooldia = float('%.4f' % float(self.tooldia))
|
||||||
|
|
||||||
path_count = 0
|
path_count = 0
|
||||||
current_pt = (0, 0)
|
current_pt = (0, 0)
|
||||||
pt, geo = storage.nearest(current_pt)
|
pt, geo = storage.nearest(current_pt)
|
||||||
|
@ -6268,6 +6304,17 @@ class CNCjob(Geometry):
|
||||||
current_pt = geo.coords[-1]
|
current_pt = geo.coords[-1]
|
||||||
|
|
||||||
pt, geo = storage.nearest(current_pt) # Next
|
pt, geo = storage.nearest(current_pt) # Next
|
||||||
|
|
||||||
|
disp_number = int(np.interp(path_count, [0, geo_len], [0, 99]))
|
||||||
|
if old_disp_number < disp_number <= 100:
|
||||||
|
self.app.inform.emit(
|
||||||
|
'%s: %s%s. %s: %d%%' % (_("Starting G-Code for tool with diameter"),
|
||||||
|
str(current_tooldia),
|
||||||
|
str(self.units),
|
||||||
|
_("Progress"),
|
||||||
|
disp_number)
|
||||||
|
)
|
||||||
|
old_disp_number = disp_number
|
||||||
except StopIteration: # Nothing found in storage.
|
except StopIteration: # Nothing found in storage.
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue