- more customization for the progress display in case of NCC Tool, Paint Tool and for the Gcode generation

This commit is contained in:
Marius Stanciu 2019-09-06 22:25:38 +03:00 committed by Marius
parent 88b04f9e7a
commit 24e29bda55
5 changed files with 294 additions and 233 deletions

View File

@ -19,6 +19,7 @@ CAD program, and create G-Code for Isolation routing.
- added progress display in status bar for generating CNCJob from Excellon objects
- added progress display in status bar for generating CNCJob from Geometry objects
- modified all the FlatCAM tools strings to the new format in which the status is no longer included in the translated strings to make it easier for the future translations
- more customization for the progress display in case of NCC Tool, Paint Tool and for the Gcode generation
- updated POT file with the new strings
5.09.2019

View File

@ -5438,6 +5438,12 @@ class CNCjob(Geometry):
else:
current_tooldia = float('%.4f' % float(exobj.tools[tool]["C"]))
self.app.inform.emit(
'%s: %s%s.' % (_("Starting G-Code for tool with diameter"),
str(current_tooldia),
str(self.units))
)
# TODO apply offset only when using the GUI, for TclCommand this will create an error
# because the values for Z offset are created in build_ui()
try:
@ -5481,13 +5487,7 @@ class CNCjob(Geometry):
disp_number = int(np.interp(loc_nr, [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)
)
self.app.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
else:
@ -5570,6 +5570,12 @@ class CNCjob(Geometry):
else:
current_tooldia = float('%.4f' % float(exobj.tools[tool]["C"]))
self.app.inform.emit(
'%s: %s%s.' % (_("Starting G-Code for tool with diameter"),
str(current_tooldia),
str(self.units))
)
# TODO apply offset only when using the GUI, for TclCommand this will create an error
# because the values for Z offset are created in build_ui()
try:
@ -5613,13 +5619,7 @@ class CNCjob(Geometry):
disp_number = int(np.interp(loc_nr, [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)
)
self.app.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
else:
@ -5661,6 +5661,12 @@ class CNCjob(Geometry):
else:
current_tooldia = float('%.4f' % float(exobj.tools[tool]["C"]))
self.app.inform.emit(
'%s: %s%s.' % (_("Starting G-Code for tool with diameter"),
str(current_tooldia),
str(self.units))
)
# TODO apply offset only when using the GUI, for TclCommand this will create an error
# because the values for Z offset are created in build_ui()
try:
@ -5706,13 +5712,7 @@ class CNCjob(Geometry):
disp_number = int(np.interp(loc_nr, [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)
)
self.app.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
else:
self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...'))
@ -5944,6 +5944,12 @@ class CNCjob(Geometry):
else:
current_tooldia = float('%.4f' % float(self.tooldia))
self.app.inform.emit(
'%s: %s%s.' % (_("Starting G-Code for tool with diameter"),
str(current_tooldia),
str(self.units))
)
pt, geo = storage.nearest(current_pt)
try:
@ -5988,13 +5994,7 @@ class CNCjob(Geometry):
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)
)
self.app.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
except StopIteration: # Nothing found in storage.
pass
@ -6263,6 +6263,12 @@ class CNCjob(Geometry):
else:
current_tooldia = float('%.4f' % float(self.tooldia))
self.app.inform.emit(
'%s: %s%s.' % (_("Starting G-Code for tool with diameter"),
str(current_tooldia),
str(self.units))
)
path_count = 0
current_pt = (0, 0)
pt, geo = storage.nearest(current_pt)
@ -6307,13 +6313,7 @@ class CNCjob(Geometry):
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)
)
self.app.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
except StopIteration: # Nothing found in storage.
pass
@ -6406,6 +6406,11 @@ class CNCjob(Geometry):
path_count = 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
pt, geo = storage.nearest(current_pt)
try:
@ -6424,10 +6429,15 @@ class CNCjob(Geometry):
current_pt = geo.coords[-1]
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.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
except StopIteration: # Nothing found in storage.
pass
log.debug("Finishing SolderPste G-Code... %s paths traced." % path_count)
self.app.inform.emit(_("Finished SolderPste G-Code generation... %s paths traced.") % str(path_count))
# Finish
self.gcode += self.doformat(p.lift_code)

View File

@ -1323,7 +1323,9 @@ class NonCopperClear(FlatCAMTool, Gerber):
units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value()
log.debug("Copper clearing started. Reading parameters.")
log.debug("NCC Tool started. Reading parameters.")
self.app.inform.emit(_("NCC Tool started. Reading parameters."))
ncc_method = method if method else self.ncc_method_radio.get_value()
if margin is not None:
@ -1385,7 +1387,9 @@ class NonCopperClear(FlatCAMTool, Gerber):
# ##############################################################################################################
# Prepare non-copper polygons. Create the bounding box area from which the copper features will be subtracted ##
# ##############################################################################################################
log.debug("Copper clearing. Preparing non-copper polygons.")
log.debug("NCC Tool. Preparing non-copper polygons.")
self.app.inform.emit(_("NCC Tool. Preparing non-copper polygons."))
try:
if sel_obj is None or sel_obj == 'itself':
ncc_sel_obj = ncc_obj
@ -1414,6 +1418,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
log.debug("NonCopperClear.clear_copper() 'itself' --> %s" % str(e))
self.app.inform.emit('[ERROR_NOTCL] %s' % _("No object available."))
return 'fail'
elif ncc_select == 'area':
geo_n = cascaded_union(self.sel_rect)
try:
@ -1427,6 +1432,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
geo_buff_list.append(poly.buffer(distance=ncc_margin, join_style=base.JOIN_STYLE.mitre))
bounding_box = cascaded_union(geo_buff_list)
elif ncc_select == 'box':
geo_n = ncc_sel_obj.solid_geometry
if isinstance(ncc_sel_obj, FlatCAMGeometry):
@ -1449,7 +1455,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
self.app.inform.emit('[ERROR_NOTCL] %s' % _("The reference object type is not supported."))
return 'fail'
log.debug("Copper clearing. Finished non-copper polygons.")
log.debug("NCC Tool. Finished non-copper polygons.")
# ########################################################################################################
# set the name for the future Geometry object
# I do it here because it is also stored inside the gen_clear_area() and gen_clear_area_rest() methods
@ -1467,7 +1473,8 @@ class NonCopperClear(FlatCAMTool, Gerber):
assert isinstance(geo_obj, FlatCAMGeometry), \
"Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj)
log.debug("Copper clearing. Normal copper clearing task started.")
log.debug("NCC Tool. Normal copper clearing task started.")
self.app.inform.emit(_("NCC Tool. Finished non-copper polygons. Normal copper clearing task started."))
# a flag to signal that the isolation is broken by the bounding box in 'area' and 'box' cases
# will store the number of tools for which the isolation is broken
@ -1498,13 +1505,17 @@ class NonCopperClear(FlatCAMTool, Gerber):
# ###################################################################################################
# Calculate the empty area by subtracting the solid_geometry from the object bounding box geometry ##
# ###################################################################################################
log.debug("Copper clearing. Calculate 'empty' area.")
log.debug("NCC Tool. Calculate 'empty' area.")
self.app.inform.emit(_("NCC Tool. Calculate 'empty' area."))
if isinstance(ncc_obj, FlatCAMGerber) and not isotooldia:
sol_geo = ncc_obj.solid_geometry
if has_offset is True:
app_obj.inform.emit('[WARNING_NOTCL] %s' % _("Buffering ..."))
app_obj.inform.emit('[WARNING_NOTCL] %s ...' %
_("Buffering"))
sol_geo = sol_geo.buffer(distance=ncc_offset)
app_obj.inform.emit('[success] %s' % _("Buffering finished ..."))
app_obj.inform.emit('[success] %s ...' %
_("Buffering finished"))
empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box)
elif isinstance(ncc_obj, FlatCAMGerber) and isotooldia:
isolated_geo = []
@ -1582,19 +1593,24 @@ class NonCopperClear(FlatCAMTool, Gerber):
sol_geo = cascaded_union(isolated_geo)
if has_offset is True:
app_obj.inform.emit(_("[WARNING_NOTCL] Buffering ..."))
app_obj.inform.emit('[WARNING_NOTCL] %s ...' %
_("Buffering"))
sol_geo = sol_geo.buffer(distance=ncc_offset)
app_obj.inform.emit('[success] %s' % _("Buffering finished ..."))
app_obj.inform.emit('[success] %s ...' %
_("Buffering finished"))
empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box)
elif isinstance(ncc_obj, FlatCAMGeometry):
sol_geo = cascaded_union(ncc_obj.solid_geometry)
if has_offset is True:
app_obj.inform.emit(_("[WARNING_NOTCL] Buffering ..."))
app_obj.inform.emit('[WARNING_NOTCL] %s ...' %
_("Buffering"))
sol_geo = sol_geo.buffer(distance=ncc_offset)
app_obj.inform.emit('[success] %' % _("Buffering finished ..."))
app_obj.inform.emit('[success] %s ...' %
_("Buffering finished"))
empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box)
else:
app_obj.inform.emit('[ERROR_NOTCL] %' % _('The selected object is not suitable for copper clearing.'))
app_obj.inform.emit('[ERROR_NOTCL] %s' %
_('The selected object is not suitable for copper clearing.'))
return
if empty.is_empty:
@ -1605,17 +1621,20 @@ class NonCopperClear(FlatCAMTool, Gerber):
if type(empty) is Polygon:
empty = MultiPolygon([empty])
log.debug("Copper clearing. Finished calculation of 'empty' area.")
log.debug("NCC Tool. Finished calculation of 'empty' area.")
self.app.inform.emit(_("NCC Tool. Finished calculation of 'empty' area."))
cp = None
for tool in sorted_tools:
log.debug("Starting geometry processing for tool: %s" % str(tool))
app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Non-Copper Clearing with tool diameter = '),
str(tool),
units.lower(),
_('started. Progress'),
0)
'[success] %s %s%s %s' % (_('NCC Tool clearing with tool diameter = '),
str(tool),
units.lower(),
_('started.'))
)
app_obj.proc_container.update_view_text(' %d%%' % 0)
cleared_geo[:] = []
# Get remaining tools offset
@ -1686,13 +1705,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
# log.debug("Polygons cleared: %d" % pol_nr)
if old_disp_number < disp_number <= 100:
app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Non-Copper Clearing with tool diameter = '),
str(tool),
units.lower(),
_('started. Progress'),
disp_number)
)
self.app.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
# log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, disp_number))
@ -1753,9 +1766,9 @@ class NonCopperClear(FlatCAMTool, Gerber):
# print("Indexing...", end=' ')
# geo_obj.make_index()
if warning_flag == 0:
self.app.inform.emit('[success] %s' % _("Non-Copper clear all done."))
self.app.inform.emit('[success] %s' % _("NCC Tool clear all done."))
else:
self.app.inform.emit('[WARNING] %s: %s %s.' % (_("Non-Copper clear all done but the copper features "
self.app.inform.emit('[WARNING] %s: %s %s.' % (_("NCC Tool clear all done but the copper features "
"isolation is broken for"),
str(warning_flag),
_("tools")))
@ -1767,7 +1780,9 @@ class NonCopperClear(FlatCAMTool, Gerber):
assert isinstance(geo_obj, FlatCAMGeometry), \
"Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj)
log.debug("Copper clearing. Rest machining copper clearing task started.")
log.debug("NCC Tool. Rest machining copper clearing task started.")
app_obj.inform.emit('_(NCC Tool. Rest machining copper clearing task started.')
# a flag to signal that the isolation is broken by the bounding box in 'area' and 'box' cases
# will store the number of tools for which the isolation is broken
warning_flag = 0
@ -1785,17 +1800,22 @@ class NonCopperClear(FlatCAMTool, Gerber):
# repurposed flag for final object, geo_obj. True if it has any solid_geometry, False if not.
app_obj.poly_not_cleared = True
log.debug("Copper clearing. Calculate 'empty' area.")
log.debug("NCC Tool. Calculate 'empty' area.")
app_obj.inform.emit("NCC Tool. Calculate 'empty' area.")
# ###################################################################################################
# Calculate the empty area by subtracting the solid_geometry from the object bounding box geometry ##
# ###################################################################################################
if isinstance(ncc_obj, FlatCAMGerber) and not isotooldia:
sol_geo = ncc_obj.solid_geometry
if has_offset is True:
app_obj.inform.emit('[WARNING_NOTCL] %s' % _("Buffering ..."))
app_obj.inform.emit('[WARNING_NOTCL] %s ...' %
_("Buffering"))
sol_geo = sol_geo.buffer(distance=ncc_offset)
app_obj.inform.emit('[success] %s' % _("Buffering finished ..."))
app_obj.inform.emit('[success] %s ...' %
_("Buffering finished"))
empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box)
elif isinstance(ncc_obj, FlatCAMGerber) and isotooldia:
isolated_geo = []
self.solid_geometry = ncc_obj.solid_geometry
@ -1872,19 +1892,26 @@ class NonCopperClear(FlatCAMTool, Gerber):
sol_geo = cascaded_union(isolated_geo)
if has_offset is True:
app_obj.inform.emit('[WARNING_NOTCL] %s' % _("Buffering ..."))
app_obj.inform.emit('[WARNING_NOTCL] %s ...' %
_("Buffering"))
sol_geo = sol_geo.buffer(distance=ncc_offset)
app_obj.inform.emit('[success] %s' % _("Buffering finished ..."))
app_obj.inform.emit('[success] %s ...' %
_("Buffering finished"))
empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box)
elif isinstance(ncc_obj, FlatCAMGeometry):
sol_geo = cascaded_union(ncc_obj.solid_geometry)
if has_offset is True:
app_obj.inform.emit(_("[WARNING_NOTCL] Buffering ..."))
app_obj.inform.emit('[WARNING_NOTCL] %s ...' %
_("Buffering"))
sol_geo = sol_geo.buffer(distance=ncc_offset)
app_obj.inform.emit('[success] %s' % _("Buffering finished ..."))
app_obj.inform.emit('[success] %s ...' %
_("Buffering finished"))
empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box)
else:
app_obj.inform.emit('[ERROR_NOTCL] %s' % _('The selected object is not suitable for copper clearing.'))
app_obj.inform.emit('[ERROR_NOTCL] %s' %
_('The selected object is not suitable for copper clearing.'))
return
if empty.is_empty:
@ -1897,7 +1924,8 @@ class NonCopperClear(FlatCAMTool, Gerber):
area = empty.buffer(0)
log.debug("Copper clearing. Finished calculation of 'empty' area.")
log.debug("NCC Tool. Finished calculation of 'empty' area.")
app_obj.inform.emit("NCC Tool. Finished calculation of 'empty' area.")
# Generate area for each tool
while sorted_tools:
@ -1905,12 +1933,12 @@ class NonCopperClear(FlatCAMTool, Gerber):
log.debug("Starting geometry processing for tool: %s" % str(tool))
app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Non-Copper Rest Clearing with tool diameter = '),
str(tool),
units.lower(),
_('started. Progress'),
0)
'[success] %s %s%s %s' % (_('NCC Tool clearing with tool diameter = '),
str(tool),
units.lower(),
_('started.'))
)
app_obj.proc_container.update_view_text(' %d%%' % 0)
tool_used = tool - 1e-12
cleared_geo[:] = []
@ -1997,13 +2025,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
# log.debug("Polygons cleared: %d" % pol_nr)
if disp_number > old_disp_number and disp_number <= 100:
app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Non-Copper Clearing with tool diameter = '),
str(tool),
units.lower(),
_('started. Progress'),
disp_number)
)
self.app.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
# log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, disp_number))
@ -2048,10 +2070,10 @@ class NonCopperClear(FlatCAMTool, Gerber):
# it will be updated only if there is a solid_geometry for tools
if geo_obj.tools:
if warning_flag == 0:
self.app.inform.emit('[success] %s' % _("Non-Copper Rest Machining clear all done."))
self.app.inform.emit('[success] %s' % _("NCC Tool Rest Machining clear all done."))
else:
self.app.inform.emit(
'[WARNING] %s: %s %s.' % (_("Non-Copper Rest Machining clear all done but the copper features "
'[WARNING] %s: %s %s.' % (_("NCC Tool Rest Machining clear all done but the copper features "
"isolation is broken for"), str(warning_flag), _("tools")))
return
else:

View File

@ -903,6 +903,11 @@ class ToolPaint(FlatCAMTool, Gerber):
self.app.report_usage(_("on_paint_button_click"))
# self.app.call_source = 'paint'
# #####################################################
# ######### Reading Parameters ########################
# #####################################################
self.app.inform.emit(_("Paint Tool. Reading parameters."))
try:
overlap = float(self.paintoverlap_entry.get_value())
except ValueError:
@ -1206,7 +1211,8 @@ class ToolPaint(FlatCAMTool, Gerber):
self.app.inform.emit(_('[WARNING] No polygon found.'))
return
proc = self.app.proc_container.new(_("Painting polygon."))
proc = self.app.proc_container.new(_("Painting polygon..."))
self.app.inform.emit(_("Paint Tool. Painting polygon at location: %s") % str(inside_pt))
name = outname if outname is not None else self.obj_name + "_paint"
@ -1445,7 +1451,7 @@ class ToolPaint(FlatCAMTool, Gerber):
_("Wrong value format entered, use a number."))
return
proc = self.app.proc_container.new(_("Painting polygon..."))
proc = self.app.proc_container.new(_("Painting polygons..."))
name = outname if outname is not None else self.obj_name + "_paint"
over = overlap if overlap is not None else float(self.app.defaults["tools_paintoverlap"])
@ -1521,6 +1527,7 @@ class ToolPaint(FlatCAMTool, Gerber):
# "Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj)
log.debug("Paint Tool. Normal painting all task started.")
app_obj.inform.emit(_("Paint Tool. Normal painting all task started."))
tool_dia = None
if order == 'fwd':
@ -1547,12 +1554,12 @@ class ToolPaint(FlatCAMTool, Gerber):
for tool_dia in sorted_tools:
log.debug("Starting geometry processing for tool: %s" % str(tool_dia))
app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started. Progress'),
0)
'[success] %s %s%s %s' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started'))
)
app_obj.proc_container.update_view_text(' %d%%' % 0)
# find the tooluid associated with the current tool_dia so we know where to add the tool solid_geometry
for k, v in tools_storage.items():
@ -1617,13 +1624,7 @@ class ToolPaint(FlatCAMTool, Gerber):
# log.debug("Polygons cleared: %d" % pol_nr)
if old_disp_number < disp_number <= 100:
app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started. Progress'),
disp_number)
)
app_obj.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
# log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, disp_number))
@ -1677,6 +1678,7 @@ class ToolPaint(FlatCAMTool, Gerber):
"Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj)
log.debug("Paint Tool. Rest machining painting all task started.")
app_obj.inform.emit(_("Paint Tool. Rest machining painting all task started."))
tool_dia = None
sorted_tools.sort(reverse=True)
@ -1697,6 +1699,13 @@ class ToolPaint(FlatCAMTool, Gerber):
for tool_dia in sorted_tools:
log.debug("Starting geometry processing for tool: %s" % str(tool_dia))
app_obj.inform.emit(
'[success] %s %s%s %s' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started'))
)
app_obj.proc_container.update_view_text(' %d%%' % 0)
painted_area = recurse(obj.solid_geometry)
# variables to display the percentage of work done
@ -1746,13 +1755,7 @@ class ToolPaint(FlatCAMTool, Gerber):
# log.debug("Polygons cleared: %d" % pol_nr)
if old_disp_number < disp_number <= 100:
app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started. Progress'),
disp_number)
)
app_obj.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
# log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, disp_number))
@ -1859,7 +1862,7 @@ class ToolPaint(FlatCAMTool, Gerber):
_("Wrong value format entered, use a number."))
return
proc = self.app.proc_container.new(_("Painting polygon..."))
proc = self.app.proc_container.new(_("Painting polygons..."))
name = outname if outname is not None else self.obj_name + "_paint"
over = overlap if overlap is not None else float(self.app.defaults["tools_paintoverlap"])
@ -1922,6 +1925,7 @@ class ToolPaint(FlatCAMTool, Gerber):
# "Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj)
log.debug("Paint Tool. Normal painting area task started.")
app_obj.inform.emit(_("Paint Tool. Normal painting area task started."))
tool_dia = None
if order == 'fwd':
@ -1959,12 +1963,12 @@ class ToolPaint(FlatCAMTool, Gerber):
for tool_dia in sorted_tools:
log.debug("Starting geometry processing for tool: %s" % str(tool_dia))
app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started. Progress'),
0)
'[success] %s %s%s %s' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started'))
)
app_obj.proc_container.update_view_text(' %d%%' % 0)
# find the tooluid associated with the current tool_dia so we know where to add the tool solid_geometry
for k, v in tools_storage.items():
@ -2027,14 +2031,8 @@ class ToolPaint(FlatCAMTool, Gerber):
disp_number = int(np.interp(pol_nr, [0, geo_len], [0, 99]))
# log.debug("Polygons cleared: %d" % pol_nr)
if disp_number > old_disp_number and disp_number <= 100:
app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started. Progress'),
disp_number)
)
if old_disp_number < disp_number <= 100:
app_obj.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
# log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, disp_number))
@ -2088,6 +2086,7 @@ class ToolPaint(FlatCAMTool, Gerber):
"Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj)
log.debug("Paint Tool. Rest machining painting area task started.")
app_obj.inform.emit(_("Paint Tool. Rest machining painting area task started."))
tool_dia = None
sorted_tools.sort(reverse=True)
@ -2109,12 +2108,12 @@ class ToolPaint(FlatCAMTool, Gerber):
for tool_dia in sorted_tools:
log.debug("Starting geometry processing for tool: %s" % str(tool_dia))
app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started. Progress'),
0)
'[success] %s %s%s %s' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started'))
)
app_obj.proc_container.update_view_text(' %d%%' % 0)
painted_area = recurse(obj.solid_geometry)
# variables to display the percentage of work done
@ -2162,14 +2161,8 @@ class ToolPaint(FlatCAMTool, Gerber):
disp_number = int(np.interp(pol_nr, [0, geo_len], [0, 99]))
# log.debug("Polygons cleared: %d" % pol_nr)
if disp_number > old_disp_number and disp_number <= 100:
app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started. Progress'),
disp_number)
)
if old_disp_number < disp_number <= 100:
app_obj.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
# log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, disp_number))

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2019-09-06 21:00+0300\n"
"POT-Creation-Date: 2019-09-06 22:24+0300\n"
"PO-Revision-Date: 2019-03-25 15:08+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -1641,16 +1641,12 @@ msgstr ""
msgid "Starting G-Code"
msgstr ""
#: camlib.py:5485 camlib.py:5617 camlib.py:5710 camlib.py:5992 camlib.py:6311
#: camlib.py:5442 camlib.py:5574 camlib.py:5665 camlib.py:5948 camlib.py:6267
msgid "Starting G-Code for tool with diameter"
msgstr ""
#: camlib.py:5488 camlib.py:5620 camlib.py:5713 camlib.py:5995 camlib.py:6314
msgid "Progress"
msgstr ""
#: camlib.py:5494 camlib.py:5626 camlib.py:5718 camlib.py:6899 camlib.py:7172
#: camlib.py:7270 camlib.py:7312
#: camlib.py:5494 camlib.py:5626 camlib.py:5718 camlib.py:6909 camlib.py:7182
#: camlib.py:7280 camlib.py:7322
msgid "[ERROR_NOTCL] G91 coordinates not implemented ..."
msgstr ""
@ -1742,6 +1738,11 @@ msgstr ""
msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry."
msgstr ""
#: camlib.py:6440
#, python-format
msgid "Finished SolderPste G-Code generation... %s paths traced."
msgstr ""
#: flatcamEditors/FlatCAMExcEditor.py:45 flatcamEditors/FlatCAMExcEditor.py:69
#: flatcamEditors/FlatCAMExcEditor.py:150
#: flatcamEditors/FlatCAMExcEditor.py:350
@ -8922,11 +8923,11 @@ msgstr ""
#: flatcamTools/ToolNonCopperClear.py:901
#: flatcamTools/ToolNonCopperClear.py:980
#: flatcamTools/ToolNonCopperClear.py:1062
#: flatcamTools/ToolNonCopperClear.py:1339
#: flatcamTools/ToolNonCopperClear.py:1365 flatcamTools/ToolPaint.py:695
#: flatcamTools/ToolPaint.py:770 flatcamTools/ToolPaint.py:914
#: flatcamTools/ToolPaint.py:968 flatcamTools/ToolPaint.py:1200
#: flatcamTools/ToolPaint.py:1445 flatcamTools/ToolPaint.py:1859
#: flatcamTools/ToolNonCopperClear.py:1341
#: flatcamTools/ToolNonCopperClear.py:1367 flatcamTools/ToolPaint.py:695
#: flatcamTools/ToolPaint.py:770 flatcamTools/ToolPaint.py:919
#: flatcamTools/ToolPaint.py:973 flatcamTools/ToolPaint.py:1205
#: flatcamTools/ToolPaint.py:1451 flatcamTools/ToolPaint.py:1862
#: flatcamTools/ToolPanelize.py:397 flatcamTools/ToolPanelize.py:409
#: flatcamTools/ToolPanelize.py:422 flatcamTools/ToolPanelize.py:435
#: flatcamTools/ToolPanelize.py:447 flatcamTools/ToolPanelize.py:458
@ -9088,7 +9089,7 @@ msgstr ""
#: flatcamTools/ToolCutOut.py:371 flatcamTools/ToolCutOut.py:571
#: flatcamTools/ToolNonCopperClear.py:1124
#: flatcamTools/ToolNonCopperClear.py:1265 flatcamTools/ToolPaint.py:1141
#: flatcamTools/ToolNonCopperClear.py:1265 flatcamTools/ToolPaint.py:1146
#: flatcamTools/ToolPanelize.py:359 flatcamTools/ToolPanelize.py:376
#: flatcamTools/ToolSub.py:254 flatcamTools/ToolSub.py:269
#: flatcamTools/ToolSub.py:456 flatcamTools/ToolSub.py:471
@ -9848,7 +9849,7 @@ msgstr ""
msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive), "
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1083 flatcamTools/ToolPaint.py:937
#: flatcamTools/ToolNonCopperClear.py:1083 flatcamTools/ToolPaint.py:942
#, python-format
msgid "Could not retrieve object: %s"
msgstr ""
@ -9857,7 +9858,7 @@ msgstr ""
msgid "Wrong Tool Dia value format entered, use a number."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1112 flatcamTools/ToolPaint.py:973
#: flatcamTools/ToolNonCopperClear.py:1112 flatcamTools/ToolPaint.py:978
msgid "No selected tools in Tool Table."
msgstr ""
@ -9865,11 +9866,11 @@ msgstr ""
msgid "Click the start point of the area."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1148 flatcamTools/ToolPaint.py:1029
#: flatcamTools/ToolNonCopperClear.py:1148 flatcamTools/ToolPaint.py:1034
msgid "Click the end point of the paint area."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1154 flatcamTools/ToolPaint.py:1035
#: flatcamTools/ToolNonCopperClear.py:1154 flatcamTools/ToolPaint.py:1040
msgid "Zone added. Click to start adding next zone or right click to finish."
msgstr ""
@ -9877,69 +9878,81 @@ msgstr ""
msgid "Non-Copper clearing ..."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1415 flatcamTools/ToolPaint.py:2276
#: flatcamTools/ToolNonCopperClear.py:1327
msgid "NCC Tool started. Reading parameters."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1391
msgid "NCC Tool. Preparing non-copper polygons."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1419 flatcamTools/ToolPaint.py:2269
msgid "No object available."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1449
#: flatcamTools/ToolNonCopperClear.py:1455
msgid "The reference object type is not supported."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1505
#: flatcamTools/ToolNonCopperClear.py:1795
#: flatcamTools/ToolNonCopperClear.py:1875
msgid "Buffering ..."
#: flatcamTools/ToolNonCopperClear.py:1477
msgid ""
"NCC Tool. Finished non-copper polygons. Normal copper clearing task started."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1507
#: flatcamTools/ToolNonCopperClear.py:1587
#: flatcamTools/ToolNonCopperClear.py:1594
#: flatcamTools/ToolNonCopperClear.py:1797
#: flatcamTools/ToolNonCopperClear.py:1877
#: flatcamTools/ToolNonCopperClear.py:1884
msgid "Buffering finished ..."
#: flatcamTools/ToolNonCopperClear.py:1509
msgid "NCC Tool. Calculate 'empty' area."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1525
#: flatcamTools/ToolNonCopperClear.py:1815
#: flatcamTools/ToolNonCopperClear.py:1515
#: flatcamTools/ToolNonCopperClear.py:1597
#: flatcamTools/ToolNonCopperClear.py:1606
#: flatcamTools/ToolNonCopperClear.py:1813
#: flatcamTools/ToolNonCopperClear.py:1896
#: flatcamTools/ToolNonCopperClear.py:1906
msgid "Buffering"
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1518
#: flatcamTools/ToolNonCopperClear.py:1600
#: flatcamTools/ToolNonCopperClear.py:1609
#: flatcamTools/ToolNonCopperClear.py:1816
#: flatcamTools/ToolNonCopperClear.py:1899
#: flatcamTools/ToolNonCopperClear.py:1909
msgid "Buffering finished"
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1536
#: flatcamTools/ToolNonCopperClear.py:1835
msgid "Isolation geometry could not be generated."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1585
#: flatcamTools/ToolNonCopperClear.py:1592
#: flatcamTools/ToolNonCopperClear.py:1882
msgid "[WARNING_NOTCL] Buffering ..."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1597
#: flatcamTools/ToolNonCopperClear.py:1887
#: flatcamTools/ToolNonCopperClear.py:1613
#: flatcamTools/ToolNonCopperClear.py:1914
msgid "The selected object is not suitable for copper clearing."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1602
#: flatcamTools/ToolNonCopperClear.py:1892
#: flatcamTools/ToolNonCopperClear.py:1618
#: flatcamTools/ToolNonCopperClear.py:1919
msgid "Could not get the extent of the area to be non copper cleared."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1613
#: flatcamTools/ToolNonCopperClear.py:1690
#: flatcamTools/ToolNonCopperClear.py:2001
msgid "Non-Copper Clearing with tool diameter = "
#: flatcamTools/ToolNonCopperClear.py:1625
msgid "NCC Tool. Finished calculation of 'empty' area."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1616
#: flatcamTools/ToolNonCopperClear.py:1693
#: flatcamTools/ToolNonCopperClear.py:1911
#: flatcamTools/ToolNonCopperClear.py:2004 flatcamTools/ToolPaint.py:1553
#: flatcamTools/ToolPaint.py:1624 flatcamTools/ToolPaint.py:1753
#: flatcamTools/ToolPaint.py:1965 flatcamTools/ToolPaint.py:2035
#: flatcamTools/ToolPaint.py:2115 flatcamTools/ToolPaint.py:2170
msgid "started. Progress"
#: flatcamTools/ToolNonCopperClear.py:1631
#: flatcamTools/ToolNonCopperClear.py:1936
msgid "NCC Tool clearing with tool diameter = "
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1746 flatcamTools/ToolPaint.py:1364
#: flatcamTools/ToolPaint.py:1663 flatcamTools/ToolPaint.py:1786
#: flatcamTools/ToolPaint.py:2074 flatcamTools/ToolPaint.py:2203
#: flatcamTools/ToolNonCopperClear.py:1634
#: flatcamTools/ToolNonCopperClear.py:1939
msgid "started."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1759 flatcamTools/ToolPaint.py:1370
#: flatcamTools/ToolPaint.py:1664 flatcamTools/ToolPaint.py:1789
#: flatcamTools/ToolPaint.py:2072 flatcamTools/ToolPaint.py:2196
msgid ""
"There is no Painting Geometry in the file.\n"
"Usually it means that the tool diameter is too big for the painted "
@ -9947,32 +9960,27 @@ msgid ""
"Change the painting parameters and try again."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1756
msgid "Non-Copper clear all done."
#: flatcamTools/ToolNonCopperClear.py:1769
msgid "NCC Tool clear all done."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1758
msgid ""
"Non-Copper clear all done but the copper features isolation is broken for"
#: flatcamTools/ToolNonCopperClear.py:1771
msgid "NCC Tool clear all done but the copper features isolation is broken for"
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1761
#: flatcamTools/ToolNonCopperClear.py:2055
#: flatcamTools/ToolNonCopperClear.py:1774
#: flatcamTools/ToolNonCopperClear.py:2077
msgid "tools"
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1908
msgid "Non-Copper Rest Clearing with tool diameter = "
#: flatcamTools/ToolNonCopperClear.py:2073
msgid "NCC Tool Rest Machining clear all done."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:2051
msgid "Non-Copper Rest Machining clear all done."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:2054
#: flatcamTools/ToolNonCopperClear.py:2076
msgid ""
"Non-Copper Rest Machining clear all done but the copper features isolation "
"is broken for"
"NCC Tool Rest Machining clear all done but the copper features isolation is "
"broken for"
msgstr ""
#: flatcamTools/ToolPDF.py:38
@ -10103,85 +10111,108 @@ msgid ""
"specified by another object."
msgstr ""
#: flatcamTools/ToolPaint.py:919
#: flatcamTools/ToolPaint.py:909
msgid "Paint Tool. Reading parameters."
msgstr ""
#: flatcamTools/ToolPaint.py:924
msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive)"
msgstr ""
#: flatcamTools/ToolPaint.py:923 flatcamTools/ToolPaint.py:986
#: flatcamTools/ToolPaint.py:928 flatcamTools/ToolPaint.py:991
msgid "Click inside the desired polygon."
msgstr ""
#: flatcamTools/ToolPaint.py:943 flatcamTools/ToolPanelize.py:366
#: flatcamTools/ToolPaint.py:948 flatcamTools/ToolPanelize.py:366
#: tclCommands/TclCommandBbox.py:66 tclCommands/TclCommandNregions.py:65
msgid "Object not found"
msgstr ""
#: flatcamTools/ToolPaint.py:951
#: flatcamTools/ToolPaint.py:956
msgid "Can't do Paint on MultiGeo geometries"
msgstr ""
#: flatcamTools/ToolPaint.py:995 flatcamTools/ToolPaint.py:1448
#: flatcamTools/ToolPaint.py:1862
#: flatcamTools/ToolPaint.py:1000 flatcamTools/ToolPaint.py:1214
msgid "Painting polygon..."
msgstr ""
#: flatcamTools/ToolPaint.py:1017
#: flatcamTools/ToolPaint.py:1022
msgid "Click the start point of the paint area."
msgstr ""
#: flatcamTools/ToolPaint.py:1206
#: flatcamTools/ToolPaint.py:1211
msgid "[WARNING] No polygon found."
msgstr ""
#: flatcamTools/ToolPaint.py:1209
msgid "Painting polygon."
#: flatcamTools/ToolPaint.py:1215
#, python-format
msgid "Paint Tool. Painting polygon at location: %s"
msgstr ""
#: flatcamTools/ToolPaint.py:1283
#: flatcamTools/ToolPaint.py:1289
msgid "Geometry could not be painted completely"
msgstr ""
#: flatcamTools/ToolPaint.py:1326
#: flatcamTools/ToolPaint.py:1332
msgid ""
"Could not do Paint. Try a different combination of parameters. Or a "
"different strategy of paint"
msgstr ""
#: flatcamTools/ToolPaint.py:1369
#: flatcamTools/ToolPaint.py:1375
msgid "Paint Single Done."
msgstr ""
#: flatcamTools/ToolPaint.py:1391
#: flatcamTools/ToolPaint.py:1397
msgid "PaintTool.paint_poly()"
msgstr ""
#: flatcamTools/ToolPaint.py:1398 flatcamTools/ToolPaint.py:1811
#: flatcamTools/ToolPaint.py:2228
#: flatcamTools/ToolPaint.py:1404 flatcamTools/ToolPaint.py:1814
#: flatcamTools/ToolPaint.py:2221
msgid "Polygon Paint started ..."
msgstr ""
#: flatcamTools/ToolPaint.py:1550 flatcamTools/ToolPaint.py:1621
#: flatcamTools/ToolPaint.py:1750 flatcamTools/ToolPaint.py:1962
#: flatcamTools/ToolPaint.py:2032 flatcamTools/ToolPaint.py:2112
#: flatcamTools/ToolPaint.py:2167
#: flatcamTools/ToolPaint.py:1454 flatcamTools/ToolPaint.py:1865
msgid "Painting polygons..."
msgstr ""
#: flatcamTools/ToolPaint.py:1530
msgid "Paint Tool. Normal painting all task started."
msgstr ""
#: flatcamTools/ToolPaint.py:1557 flatcamTools/ToolPaint.py:1703
#: flatcamTools/ToolPaint.py:1966 flatcamTools/ToolPaint.py:2111
msgid "Painting with tool diameter = "
msgstr ""
#: flatcamTools/ToolPaint.py:1610 flatcamTools/ToolPaint.py:1739
#: flatcamTools/ToolPaint.py:1560 flatcamTools/ToolPaint.py:1706
#: flatcamTools/ToolPaint.py:1969 flatcamTools/ToolPaint.py:2114
msgid "started"
msgstr ""
#: flatcamTools/ToolPaint.py:1617 flatcamTools/ToolPaint.py:1748
msgid ""
"Could not do Paint All. Try a different combination of parameters. Or a "
"different Method of paint"
msgstr ""
#: flatcamTools/ToolPaint.py:1672
#: flatcamTools/ToolPaint.py:1673
msgid "[success] Paint All Done."
msgstr ""
#: flatcamTools/ToolPaint.py:1795 flatcamTools/ToolPaint.py:2212
#: flatcamTools/ToolPaint.py:1681
msgid "Paint Tool. Rest machining painting all task started."
msgstr ""
#: flatcamTools/ToolPaint.py:1798 flatcamTools/ToolPaint.py:2205
msgid "Paint All with Rest-Machining done."
msgstr ""
#: flatcamTools/ToolPaint.py:2022 flatcamTools/ToolPaint.py:2157
#: flatcamTools/ToolPaint.py:1928
msgid "Paint Tool. Normal painting area task started."
msgstr ""
#: flatcamTools/ToolPaint.py:2026 flatcamTools/ToolPaint.py:2156
#, python-format
msgid ""
"Could not do Paint All. Try a different combination of parameters. Or a "
@ -10189,10 +10220,14 @@ msgid ""
"%s"
msgstr ""
#: flatcamTools/ToolPaint.py:2083
#: flatcamTools/ToolPaint.py:2081
msgid "[success] Paint Area Done."
msgstr ""
#: flatcamTools/ToolPaint.py:2089
msgid "Paint Tool. Rest machining painting area task started."
msgstr ""
#: flatcamTools/ToolPanelize.py:25
msgid "Panelize PCB"
msgstr ""