- added progress display in status bar for generating CNCJob from Excellon objects
This commit is contained in:
parent
c1ce72e9fb
commit
48e9f4a260
|
@ -16,6 +16,7 @@ CAD program, and create G-Code for Isolation routing.
|
||||||
- added percentage display for work done in NCC Tool
|
- added percentage display for work done in NCC Tool
|
||||||
- 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
|
||||||
|
|
||||||
5.09.2019
|
5.09.2019
|
||||||
|
|
||||||
|
|
64
camlib.py
64
camlib.py
|
@ -5355,7 +5355,7 @@ class CNCjob(Geometry):
|
||||||
measured_up_to_zero_distance = 0.0
|
measured_up_to_zero_distance = 0.0
|
||||||
measured_lift_distance = 0.0
|
measured_lift_distance = 0.0
|
||||||
|
|
||||||
self.app.inform.emit(_("Starting G-Code..."))
|
self.app.inform.emit('%s...' % _("Starting G-Code"))
|
||||||
current_platform = platform.architecture()[0]
|
current_platform = platform.architecture()[0]
|
||||||
if current_platform == '64bit':
|
if current_platform == '64bit':
|
||||||
if excellon_optimization_type == 'M':
|
if excellon_optimization_type == 'M':
|
||||||
|
@ -5449,6 +5449,13 @@ class CNCjob(Geometry):
|
||||||
self.coordinates_type = self.app.defaults["cncjob_coords_type"]
|
self.coordinates_type = self.app.defaults["cncjob_coords_type"]
|
||||||
if self.coordinates_type == "G90":
|
if self.coordinates_type == "G90":
|
||||||
# Drillling! for Absolute coordinates type G90
|
# Drillling! for Absolute coordinates type G90
|
||||||
|
# variables to display the percentage of work done
|
||||||
|
geo_len = len(node_list)
|
||||||
|
disp_number = 0
|
||||||
|
old_disp_number = 0
|
||||||
|
log.warning("Number of drills for which to generate GCode: %s" % str(geo_len))
|
||||||
|
|
||||||
|
loc_nr = 0
|
||||||
for k in node_list:
|
for k in node_list:
|
||||||
locx = locations[k][0]
|
locx = locations[k][0]
|
||||||
locy = locations[k][1]
|
locy = locations[k][1]
|
||||||
|
@ -5469,6 +5476,19 @@ class CNCjob(Geometry):
|
||||||
measured_distance += abs(distance_euclidian(locx, locy, self.oldx, self.oldy))
|
measured_distance += abs(distance_euclidian(locx, locy, self.oldx, self.oldy))
|
||||||
self.oldx = locx
|
self.oldx = locx
|
||||||
self.oldy = locy
|
self.oldy = locy
|
||||||
|
|
||||||
|
loc_nr += 1
|
||||||
|
disp_number = int(np.interp(loc_nr, [0, geo_len], [0, 99]))
|
||||||
|
|
||||||
|
if disp_number > old_disp_number and disp_number <= 100:
|
||||||
|
self.app.inform.emit(
|
||||||
|
'%s: %s. %s: %d%%' % (_("Starting G-Code for tool with diameter"),
|
||||||
|
str(current_tooldia),
|
||||||
|
_("Progress"),
|
||||||
|
disp_number)
|
||||||
|
)
|
||||||
|
old_disp_number = disp_number
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...'))
|
self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...'))
|
||||||
return 'fail'
|
return 'fail'
|
||||||
|
@ -5560,6 +5580,13 @@ class CNCjob(Geometry):
|
||||||
self.coordinates_type = self.app.defaults["cncjob_coords_type"]
|
self.coordinates_type = self.app.defaults["cncjob_coords_type"]
|
||||||
if self.coordinates_type == "G90":
|
if self.coordinates_type == "G90":
|
||||||
# Drillling! for Absolute coordinates type G90
|
# Drillling! for Absolute coordinates type G90
|
||||||
|
# variables to display the percentage of work done
|
||||||
|
geo_len = len(node_list)
|
||||||
|
disp_number = 0
|
||||||
|
old_disp_number = 0
|
||||||
|
log.warning("Number of drills for which to generate GCode: %s" % str(geo_len))
|
||||||
|
|
||||||
|
loc_nr = 0
|
||||||
for k in node_list:
|
for k in node_list:
|
||||||
locx = locations[k][0]
|
locx = locations[k][0]
|
||||||
locy = locations[k][1]
|
locy = locations[k][1]
|
||||||
|
@ -5580,6 +5607,19 @@ class CNCjob(Geometry):
|
||||||
measured_distance += abs(distance_euclidian(locx, locy, self.oldx, self.oldy))
|
measured_distance += abs(distance_euclidian(locx, locy, self.oldx, self.oldy))
|
||||||
self.oldx = locx
|
self.oldx = locx
|
||||||
self.oldy = locy
|
self.oldy = locy
|
||||||
|
|
||||||
|
loc_nr += 1
|
||||||
|
disp_number = int(np.interp(loc_nr, [0, geo_len], [0, 99]))
|
||||||
|
|
||||||
|
if disp_number > old_disp_number and disp_number <= 100:
|
||||||
|
self.app.inform.emit(
|
||||||
|
'%s: %s. %s: %d%%' % (_("Starting G-Code for tool with diameter"),
|
||||||
|
str(current_tooldia),
|
||||||
|
_("Progress"),
|
||||||
|
disp_number)
|
||||||
|
)
|
||||||
|
old_disp_number = disp_number
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...'))
|
self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...'))
|
||||||
return 'fail'
|
return 'fail'
|
||||||
|
@ -5634,7 +5674,15 @@ class CNCjob(Geometry):
|
||||||
for point in points[tool]:
|
for point in points[tool]:
|
||||||
altPoints.append((point.coords.xy[0][0], point.coords.xy[1][0]))
|
altPoints.append((point.coords.xy[0][0], point.coords.xy[1][0]))
|
||||||
|
|
||||||
for point in self.optimized_travelling_salesman(altPoints):
|
node_list = self.optimized_travelling_salesman(altPoints)
|
||||||
|
# variables to display the percentage of work done
|
||||||
|
geo_len = len(node_list)
|
||||||
|
disp_number = 0
|
||||||
|
old_disp_number = 0
|
||||||
|
log.warning("Number of drills for which to generate GCode: %s" % str(geo_len))
|
||||||
|
|
||||||
|
loc_nr = 0
|
||||||
|
for point in node_list:
|
||||||
gcode += self.doformat(p.rapid_code, x=point[0], y=point[1])
|
gcode += self.doformat(p.rapid_code, x=point[0], y=point[1])
|
||||||
gcode += self.doformat(p.down_code, x=point[0], y=point[1])
|
gcode += self.doformat(p.down_code, x=point[0], y=point[1])
|
||||||
|
|
||||||
|
@ -5651,6 +5699,18 @@ class CNCjob(Geometry):
|
||||||
measured_distance += abs(distance_euclidian(point[0], point[1], self.oldx, self.oldy))
|
measured_distance += abs(distance_euclidian(point[0], point[1], self.oldx, self.oldy))
|
||||||
self.oldx = point[0]
|
self.oldx = point[0]
|
||||||
self.oldy = point[1]
|
self.oldy = point[1]
|
||||||
|
|
||||||
|
loc_nr += 1
|
||||||
|
disp_number = int(np.interp(loc_nr, [0, geo_len], [0, 99]))
|
||||||
|
|
||||||
|
if disp_number > old_disp_number and disp_number <= 100:
|
||||||
|
self.app.inform.emit(
|
||||||
|
'%s: %s. %s: %d%%' % (_("Starting G-Code for tool with diameter"),
|
||||||
|
str(current_tooldia),
|
||||||
|
_("Progress"),
|
||||||
|
disp_number)
|
||||||
|
)
|
||||||
|
old_disp_number = disp_number
|
||||||
else:
|
else:
|
||||||
self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...'))
|
self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...'))
|
||||||
return 'fail'
|
return 'fail'
|
||||||
|
|
Loading…
Reference in New Issue