- 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 Excellon objects
- added progress display in status bar for generating CNCJob from Geometry 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 - 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 - updated POT file with the new strings
5.09.2019 5.09.2019

View File

@ -5438,6 +5438,12 @@ class CNCjob(Geometry):
else: else:
current_tooldia = float('%.4f' % float(exobj.tools[tool]["C"])) 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 # 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() # because the values for Z offset are created in build_ui()
try: try:
@ -5481,13 +5487,7 @@ class CNCjob(Geometry):
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 old_disp_number < disp_number <= 100: if old_disp_number < disp_number <= 100:
self.app.inform.emit( self.app.proc_container.update_view_text(' %d%%' % disp_number)
'%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 old_disp_number = disp_number
else: else:
@ -5570,6 +5570,12 @@ class CNCjob(Geometry):
else: else:
current_tooldia = float('%.4f' % float(exobj.tools[tool]["C"])) 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 # 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() # because the values for Z offset are created in build_ui()
try: try:
@ -5613,13 +5619,7 @@ class CNCjob(Geometry):
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 old_disp_number < disp_number <= 100: if old_disp_number < disp_number <= 100:
self.app.inform.emit( self.app.proc_container.update_view_text(' %d%%' % disp_number)
'%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 old_disp_number = disp_number
else: else:
@ -5661,6 +5661,12 @@ class CNCjob(Geometry):
else: else:
current_tooldia = float('%.4f' % float(exobj.tools[tool]["C"])) 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 # 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() # because the values for Z offset are created in build_ui()
try: try:
@ -5706,13 +5712,7 @@ class CNCjob(Geometry):
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 old_disp_number < disp_number <= 100: if old_disp_number < disp_number <= 100:
self.app.inform.emit( self.app.proc_container.update_view_text(' %d%%' % disp_number)
'%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 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 ...'))
@ -5944,6 +5944,12 @@ class CNCjob(Geometry):
else: else:
current_tooldia = float('%.4f' % float(self.tooldia)) 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) pt, geo = storage.nearest(current_pt)
try: try:
@ -5988,13 +5994,7 @@ class CNCjob(Geometry):
disp_number = int(np.interp(path_count, [0, geo_len], [0, 99])) disp_number = int(np.interp(path_count, [0, geo_len], [0, 99]))
if old_disp_number < disp_number <= 100: if old_disp_number < disp_number <= 100:
self.app.inform.emit( self.app.proc_container.update_view_text(' %d%%' % disp_number)
'%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 old_disp_number = disp_number
except StopIteration: # Nothing found in storage. except StopIteration: # Nothing found in storage.
pass pass
@ -6263,6 +6263,12 @@ class CNCjob(Geometry):
else: else:
current_tooldia = float('%.4f' % float(self.tooldia)) 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 path_count = 0
current_pt = (0, 0) current_pt = (0, 0)
pt, geo = storage.nearest(current_pt) 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])) disp_number = int(np.interp(path_count, [0, geo_len], [0, 99]))
if old_disp_number < disp_number <= 100: if old_disp_number < disp_number <= 100:
self.app.inform.emit( self.app.proc_container.update_view_text(' %d%%' % disp_number)
'%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 old_disp_number = disp_number
except StopIteration: # Nothing found in storage. except StopIteration: # Nothing found in storage.
pass pass
@ -6406,6 +6406,11 @@ 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
pt, geo = storage.nearest(current_pt) pt, geo = storage.nearest(current_pt)
try: try:
@ -6424,10 +6429,15 @@ 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.proc_container.update_view_text(' %d%%' % disp_number)
old_disp_number = disp_number
except StopIteration: # Nothing found in storage. except StopIteration: # Nothing found in storage.
pass pass
log.debug("Finishing SolderPste G-Code... %s paths traced." % path_count) 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 # Finish
self.gcode += self.doformat(p.lift_code) 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() 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() ncc_method = method if method else self.ncc_method_radio.get_value()
if margin is not None: 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 ## # 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: try:
if sel_obj is None or sel_obj == 'itself': if sel_obj is None or sel_obj == 'itself':
ncc_sel_obj = ncc_obj ncc_sel_obj = ncc_obj
@ -1414,6 +1418,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
log.debug("NonCopperClear.clear_copper() 'itself' --> %s" % str(e)) log.debug("NonCopperClear.clear_copper() 'itself' --> %s" % str(e))
self.app.inform.emit('[ERROR_NOTCL] %s' % _("No object available.")) self.app.inform.emit('[ERROR_NOTCL] %s' % _("No object available."))
return 'fail' return 'fail'
elif ncc_select == 'area': elif ncc_select == 'area':
geo_n = cascaded_union(self.sel_rect) geo_n = cascaded_union(self.sel_rect)
try: try:
@ -1427,6 +1432,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
geo_buff_list.append(poly.buffer(distance=ncc_margin, join_style=base.JOIN_STYLE.mitre)) geo_buff_list.append(poly.buffer(distance=ncc_margin, join_style=base.JOIN_STYLE.mitre))
bounding_box = cascaded_union(geo_buff_list) bounding_box = cascaded_union(geo_buff_list)
elif ncc_select == 'box': elif ncc_select == 'box':
geo_n = ncc_sel_obj.solid_geometry geo_n = ncc_sel_obj.solid_geometry
if isinstance(ncc_sel_obj, FlatCAMGeometry): 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.")) self.app.inform.emit('[ERROR_NOTCL] %s' % _("The reference object type is not supported."))
return 'fail' 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 # 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 # 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), \ assert isinstance(geo_obj, FlatCAMGeometry), \
"Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj) "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 # 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 # 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 ## # 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: if isinstance(ncc_obj, FlatCAMGerber) and not isotooldia:
sol_geo = ncc_obj.solid_geometry sol_geo = ncc_obj.solid_geometry
if has_offset is True: 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) 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) empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box)
elif isinstance(ncc_obj, FlatCAMGerber) and isotooldia: elif isinstance(ncc_obj, FlatCAMGerber) and isotooldia:
isolated_geo = [] isolated_geo = []
@ -1582,19 +1593,24 @@ class NonCopperClear(FlatCAMTool, Gerber):
sol_geo = cascaded_union(isolated_geo) sol_geo = cascaded_union(isolated_geo)
if has_offset is True: 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) 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) empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box)
elif isinstance(ncc_obj, FlatCAMGeometry): elif isinstance(ncc_obj, FlatCAMGeometry):
sol_geo = cascaded_union(ncc_obj.solid_geometry) sol_geo = cascaded_union(ncc_obj.solid_geometry)
if has_offset is True: 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) 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) empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box)
else: 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 return
if empty.is_empty: if empty.is_empty:
@ -1605,17 +1621,20 @@ class NonCopperClear(FlatCAMTool, Gerber):
if type(empty) is Polygon: if type(empty) is Polygon:
empty = MultiPolygon([empty]) 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 cp = None
for tool in sorted_tools: for tool in sorted_tools:
log.debug("Starting geometry processing for tool: %s" % str(tool)) log.debug("Starting geometry processing for tool: %s" % str(tool))
app_obj.inform.emit( app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Non-Copper Clearing with tool diameter = '), '[success] %s %s%s %s' % (_('NCC Tool clearing with tool diameter = '),
str(tool), str(tool),
units.lower(), units.lower(),
_('started. Progress'), _('started.'))
0)
) )
app_obj.proc_container.update_view_text(' %d%%' % 0)
cleared_geo[:] = [] cleared_geo[:] = []
# Get remaining tools offset # Get remaining tools offset
@ -1686,13 +1705,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
# log.debug("Polygons cleared: %d" % pol_nr) # log.debug("Polygons cleared: %d" % pol_nr)
if old_disp_number < disp_number <= 100: if old_disp_number < disp_number <= 100:
app_obj.inform.emit( self.app.proc_container.update_view_text(' %d%%' % disp_number)
'[success] %s %s%s %s: %d%%' % (_('Non-Copper Clearing with tool diameter = '),
str(tool),
units.lower(),
_('started. Progress'),
disp_number)
)
old_disp_number = disp_number old_disp_number = disp_number
# log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, 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=' ') # print("Indexing...", end=' ')
# geo_obj.make_index() # geo_obj.make_index()
if warning_flag == 0: 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: 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"), "isolation is broken for"),
str(warning_flag), str(warning_flag),
_("tools"))) _("tools")))
@ -1767,7 +1780,9 @@ class NonCopperClear(FlatCAMTool, Gerber):
assert isinstance(geo_obj, FlatCAMGeometry), \ assert isinstance(geo_obj, FlatCAMGeometry), \
"Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj) "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 # 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 # will store the number of tools for which the isolation is broken
warning_flag = 0 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. # repurposed flag for final object, geo_obj. True if it has any solid_geometry, False if not.
app_obj.poly_not_cleared = True 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 ## # Calculate the empty area by subtracting the solid_geometry from the object bounding box geometry ##
# ################################################################################################### # ###################################################################################################
if isinstance(ncc_obj, FlatCAMGerber) and not isotooldia: if isinstance(ncc_obj, FlatCAMGerber) and not isotooldia:
sol_geo = ncc_obj.solid_geometry sol_geo = ncc_obj.solid_geometry
if has_offset is True: 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) 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) empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box)
elif isinstance(ncc_obj, FlatCAMGerber) and isotooldia: elif isinstance(ncc_obj, FlatCAMGerber) and isotooldia:
isolated_geo = [] isolated_geo = []
self.solid_geometry = ncc_obj.solid_geometry self.solid_geometry = ncc_obj.solid_geometry
@ -1872,19 +1892,26 @@ class NonCopperClear(FlatCAMTool, Gerber):
sol_geo = cascaded_union(isolated_geo) sol_geo = cascaded_union(isolated_geo)
if has_offset is True: 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) 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) empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box)
elif isinstance(ncc_obj, FlatCAMGeometry): elif isinstance(ncc_obj, FlatCAMGeometry):
sol_geo = cascaded_union(ncc_obj.solid_geometry) sol_geo = cascaded_union(ncc_obj.solid_geometry)
if has_offset is True: 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) 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) empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box)
else: 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 return
if empty.is_empty: if empty.is_empty:
@ -1897,7 +1924,8 @@ class NonCopperClear(FlatCAMTool, Gerber):
area = empty.buffer(0) 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 # Generate area for each tool
while sorted_tools: while sorted_tools:
@ -1905,12 +1933,12 @@ class NonCopperClear(FlatCAMTool, Gerber):
log.debug("Starting geometry processing for tool: %s" % str(tool)) log.debug("Starting geometry processing for tool: %s" % str(tool))
app_obj.inform.emit( app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Non-Copper Rest Clearing with tool diameter = '), '[success] %s %s%s %s' % (_('NCC Tool clearing with tool diameter = '),
str(tool), str(tool),
units.lower(), units.lower(),
_('started. Progress'), _('started.'))
0)
) )
app_obj.proc_container.update_view_text(' %d%%' % 0)
tool_used = tool - 1e-12 tool_used = tool - 1e-12
cleared_geo[:] = [] cleared_geo[:] = []
@ -1997,13 +2025,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
# log.debug("Polygons cleared: %d" % pol_nr) # log.debug("Polygons cleared: %d" % pol_nr)
if disp_number > old_disp_number and disp_number <= 100: if disp_number > old_disp_number and disp_number <= 100:
app_obj.inform.emit( self.app.proc_container.update_view_text(' %d%%' % disp_number)
'[success] %s %s%s %s: %d%%' % (_('Non-Copper Clearing with tool diameter = '),
str(tool),
units.lower(),
_('started. Progress'),
disp_number)
)
old_disp_number = disp_number old_disp_number = disp_number
# log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, 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 # it will be updated only if there is a solid_geometry for tools
if geo_obj.tools: if geo_obj.tools:
if warning_flag == 0: 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: else:
self.app.inform.emit( 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"))) "isolation is broken for"), str(warning_flag), _("tools")))
return return
else: else:

View File

@ -903,6 +903,11 @@ class ToolPaint(FlatCAMTool, Gerber):
self.app.report_usage(_("on_paint_button_click")) self.app.report_usage(_("on_paint_button_click"))
# self.app.call_source = 'paint' # self.app.call_source = 'paint'
# #####################################################
# ######### Reading Parameters ########################
# #####################################################
self.app.inform.emit(_("Paint Tool. Reading parameters."))
try: try:
overlap = float(self.paintoverlap_entry.get_value()) overlap = float(self.paintoverlap_entry.get_value())
except ValueError: except ValueError:
@ -1206,7 +1211,8 @@ class ToolPaint(FlatCAMTool, Gerber):
self.app.inform.emit(_('[WARNING] No polygon found.')) self.app.inform.emit(_('[WARNING] No polygon found.'))
return 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" 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.")) _("Wrong value format entered, use a number."))
return 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" 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"]) 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) # "Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj)
log.debug("Paint Tool. Normal painting all task started.") log.debug("Paint Tool. Normal painting all task started.")
app_obj.inform.emit(_("Paint Tool. Normal painting all task started."))
tool_dia = None tool_dia = None
if order == 'fwd': if order == 'fwd':
@ -1547,12 +1554,12 @@ class ToolPaint(FlatCAMTool, Gerber):
for tool_dia in sorted_tools: for tool_dia in sorted_tools:
log.debug("Starting geometry processing for tool: %s" % str(tool_dia)) log.debug("Starting geometry processing for tool: %s" % str(tool_dia))
app_obj.inform.emit( app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '), '[success] %s %s%s %s' % (_('Painting with tool diameter = '),
str(tool_dia), str(tool_dia),
self.units.lower(), self.units.lower(),
_('started. Progress'), _('started'))
0)
) )
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 # 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(): for k, v in tools_storage.items():
@ -1617,13 +1624,7 @@ class ToolPaint(FlatCAMTool, Gerber):
# log.debug("Polygons cleared: %d" % pol_nr) # log.debug("Polygons cleared: %d" % pol_nr)
if old_disp_number < disp_number <= 100: if old_disp_number < disp_number <= 100:
app_obj.inform.emit( app_obj.proc_container.update_view_text(' %d%%' % disp_number)
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started. Progress'),
disp_number)
)
old_disp_number = disp_number old_disp_number = disp_number
# log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, 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) "Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj)
log.debug("Paint Tool. Rest machining painting all task started.") 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 tool_dia = None
sorted_tools.sort(reverse=True) sorted_tools.sort(reverse=True)
@ -1697,6 +1699,13 @@ class ToolPaint(FlatCAMTool, Gerber):
for tool_dia in sorted_tools: for tool_dia in sorted_tools:
log.debug("Starting geometry processing for tool: %s" % str(tool_dia)) 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) painted_area = recurse(obj.solid_geometry)
# variables to display the percentage of work done # variables to display the percentage of work done
@ -1746,13 +1755,7 @@ class ToolPaint(FlatCAMTool, Gerber):
# log.debug("Polygons cleared: %d" % pol_nr) # log.debug("Polygons cleared: %d" % pol_nr)
if old_disp_number < disp_number <= 100: if old_disp_number < disp_number <= 100:
app_obj.inform.emit( app_obj.proc_container.update_view_text(' %d%%' % disp_number)
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started. Progress'),
disp_number)
)
old_disp_number = disp_number old_disp_number = disp_number
# log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, 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.")) _("Wrong value format entered, use a number."))
return 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" 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"]) 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) # "Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj)
log.debug("Paint Tool. Normal painting area task started.") log.debug("Paint Tool. Normal painting area task started.")
app_obj.inform.emit(_("Paint Tool. Normal painting area task started."))
tool_dia = None tool_dia = None
if order == 'fwd': if order == 'fwd':
@ -1959,12 +1963,12 @@ class ToolPaint(FlatCAMTool, Gerber):
for tool_dia in sorted_tools: for tool_dia in sorted_tools:
log.debug("Starting geometry processing for tool: %s" % str(tool_dia)) log.debug("Starting geometry processing for tool: %s" % str(tool_dia))
app_obj.inform.emit( app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '), '[success] %s %s%s %s' % (_('Painting with tool diameter = '),
str(tool_dia), str(tool_dia),
self.units.lower(), self.units.lower(),
_('started. Progress'), _('started'))
0)
) )
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 # 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(): 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])) disp_number = int(np.interp(pol_nr, [0, geo_len], [0, 99]))
# log.debug("Polygons cleared: %d" % pol_nr) # log.debug("Polygons cleared: %d" % pol_nr)
if disp_number > old_disp_number and disp_number <= 100: if old_disp_number < disp_number <= 100:
app_obj.inform.emit( app_obj.proc_container.update_view_text(' %d%%' % disp_number)
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started. Progress'),
disp_number)
)
old_disp_number = disp_number old_disp_number = disp_number
# log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, 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) "Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj)
log.debug("Paint Tool. Rest machining painting area task started.") 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 tool_dia = None
sorted_tools.sort(reverse=True) sorted_tools.sort(reverse=True)
@ -2109,12 +2108,12 @@ class ToolPaint(FlatCAMTool, Gerber):
for tool_dia in sorted_tools: for tool_dia in sorted_tools:
log.debug("Starting geometry processing for tool: %s" % str(tool_dia)) log.debug("Starting geometry processing for tool: %s" % str(tool_dia))
app_obj.inform.emit( app_obj.inform.emit(
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '), '[success] %s %s%s %s' % (_('Painting with tool diameter = '),
str(tool_dia), str(tool_dia),
self.units.lower(), self.units.lower(),
_('started. Progress'), _('started'))
0)
) )
app_obj.proc_container.update_view_text(' %d%%' % 0)
painted_area = recurse(obj.solid_geometry) painted_area = recurse(obj.solid_geometry)
# variables to display the percentage of work done # 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])) disp_number = int(np.interp(pol_nr, [0, geo_len], [0, 99]))
# log.debug("Polygons cleared: %d" % pol_nr) # log.debug("Polygons cleared: %d" % pol_nr)
if disp_number > old_disp_number and disp_number <= 100: if old_disp_number < disp_number <= 100:
app_obj.inform.emit( app_obj.proc_container.update_view_text(' %d%%' % disp_number)
'[success] %s %s%s %s: %d%%' % (_('Painting with tool diameter = '),
str(tool_dia),
self.units.lower(),
_('started. Progress'),
disp_number)
)
old_disp_number = disp_number old_disp_number = disp_number
# log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, disp_number)) # log.debug("Polygons cleared: %d. Percentage done: %d%%" % (pol_nr, disp_number))

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "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" "PO-Revision-Date: 2019-03-25 15:08+0200\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -1641,16 +1641,12 @@ msgstr ""
msgid "Starting G-Code" msgid "Starting G-Code"
msgstr "" 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" msgid "Starting G-Code for tool with diameter"
msgstr "" msgstr ""
#: camlib.py:5488 camlib.py:5620 camlib.py:5713 camlib.py:5995 camlib.py:6314 #: camlib.py:5494 camlib.py:5626 camlib.py:5718 camlib.py:6909 camlib.py:7182
msgid "Progress" #: camlib.py:7280 camlib.py:7322
msgstr ""
#: camlib.py:5494 camlib.py:5626 camlib.py:5718 camlib.py:6899 camlib.py:7172
#: camlib.py:7270 camlib.py:7312
msgid "[ERROR_NOTCL] G91 coordinates not implemented ..." msgid "[ERROR_NOTCL] G91 coordinates not implemented ..."
msgstr "" msgstr ""
@ -1742,6 +1738,11 @@ msgstr ""
msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry."
msgstr "" 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:45 flatcamEditors/FlatCAMExcEditor.py:69
#: flatcamEditors/FlatCAMExcEditor.py:150 #: flatcamEditors/FlatCAMExcEditor.py:150
#: flatcamEditors/FlatCAMExcEditor.py:350 #: flatcamEditors/FlatCAMExcEditor.py:350
@ -8922,11 +8923,11 @@ msgstr ""
#: flatcamTools/ToolNonCopperClear.py:901 #: flatcamTools/ToolNonCopperClear.py:901
#: flatcamTools/ToolNonCopperClear.py:980 #: flatcamTools/ToolNonCopperClear.py:980
#: flatcamTools/ToolNonCopperClear.py:1062 #: flatcamTools/ToolNonCopperClear.py:1062
#: flatcamTools/ToolNonCopperClear.py:1339 #: flatcamTools/ToolNonCopperClear.py:1341
#: flatcamTools/ToolNonCopperClear.py:1365 flatcamTools/ToolPaint.py:695 #: flatcamTools/ToolNonCopperClear.py:1367 flatcamTools/ToolPaint.py:695
#: flatcamTools/ToolPaint.py:770 flatcamTools/ToolPaint.py:914 #: flatcamTools/ToolPaint.py:770 flatcamTools/ToolPaint.py:919
#: flatcamTools/ToolPaint.py:968 flatcamTools/ToolPaint.py:1200 #: flatcamTools/ToolPaint.py:973 flatcamTools/ToolPaint.py:1205
#: flatcamTools/ToolPaint.py:1445 flatcamTools/ToolPaint.py:1859 #: flatcamTools/ToolPaint.py:1451 flatcamTools/ToolPaint.py:1862
#: flatcamTools/ToolPanelize.py:397 flatcamTools/ToolPanelize.py:409 #: flatcamTools/ToolPanelize.py:397 flatcamTools/ToolPanelize.py:409
#: flatcamTools/ToolPanelize.py:422 flatcamTools/ToolPanelize.py:435 #: flatcamTools/ToolPanelize.py:422 flatcamTools/ToolPanelize.py:435
#: flatcamTools/ToolPanelize.py:447 flatcamTools/ToolPanelize.py:458 #: flatcamTools/ToolPanelize.py:447 flatcamTools/ToolPanelize.py:458
@ -9088,7 +9089,7 @@ msgstr ""
#: flatcamTools/ToolCutOut.py:371 flatcamTools/ToolCutOut.py:571 #: flatcamTools/ToolCutOut.py:371 flatcamTools/ToolCutOut.py:571
#: flatcamTools/ToolNonCopperClear.py:1124 #: 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/ToolPanelize.py:359 flatcamTools/ToolPanelize.py:376
#: flatcamTools/ToolSub.py:254 flatcamTools/ToolSub.py:269 #: flatcamTools/ToolSub.py:254 flatcamTools/ToolSub.py:269
#: flatcamTools/ToolSub.py:456 flatcamTools/ToolSub.py:471 #: flatcamTools/ToolSub.py:456 flatcamTools/ToolSub.py:471
@ -9848,7 +9849,7 @@ msgstr ""
msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive), " msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive), "
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1083 flatcamTools/ToolPaint.py:937 #: flatcamTools/ToolNonCopperClear.py:1083 flatcamTools/ToolPaint.py:942
#, python-format #, python-format
msgid "Could not retrieve object: %s" msgid "Could not retrieve object: %s"
msgstr "" msgstr ""
@ -9857,7 +9858,7 @@ msgstr ""
msgid "Wrong Tool Dia value format entered, use a number." msgid "Wrong Tool Dia value format entered, use a number."
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1112 flatcamTools/ToolPaint.py:973 #: flatcamTools/ToolNonCopperClear.py:1112 flatcamTools/ToolPaint.py:978
msgid "No selected tools in Tool Table." msgid "No selected tools in Tool Table."
msgstr "" msgstr ""
@ -9865,11 +9866,11 @@ msgstr ""
msgid "Click the start point of the area." msgid "Click the start point of the area."
msgstr "" 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." msgid "Click the end point of the paint area."
msgstr "" 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." msgid "Zone added. Click to start adding next zone or right click to finish."
msgstr "" msgstr ""
@ -9877,69 +9878,81 @@ msgstr ""
msgid "Non-Copper clearing ..." msgid "Non-Copper clearing ..."
msgstr "" 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." msgid "No object available."
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1449 #: flatcamTools/ToolNonCopperClear.py:1455
msgid "The reference object type is not supported." msgid "The reference object type is not supported."
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1505 #: flatcamTools/ToolNonCopperClear.py:1477
#: flatcamTools/ToolNonCopperClear.py:1795 msgid ""
#: flatcamTools/ToolNonCopperClear.py:1875 "NCC Tool. Finished non-copper polygons. Normal copper clearing task started."
msgid "Buffering ..."
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1507 #: flatcamTools/ToolNonCopperClear.py:1509
#: flatcamTools/ToolNonCopperClear.py:1587 msgid "NCC Tool. Calculate 'empty' area."
#: flatcamTools/ToolNonCopperClear.py:1594
#: flatcamTools/ToolNonCopperClear.py:1797
#: flatcamTools/ToolNonCopperClear.py:1877
#: flatcamTools/ToolNonCopperClear.py:1884
msgid "Buffering finished ..."
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1525 #: flatcamTools/ToolNonCopperClear.py:1515
#: flatcamTools/ToolNonCopperClear.py:1815 #: 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." msgid "Isolation geometry could not be generated."
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1585 #: flatcamTools/ToolNonCopperClear.py:1613
#: flatcamTools/ToolNonCopperClear.py:1592 #: flatcamTools/ToolNonCopperClear.py:1914
#: flatcamTools/ToolNonCopperClear.py:1882
msgid "[WARNING_NOTCL] Buffering ..."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1597
#: flatcamTools/ToolNonCopperClear.py:1887
msgid "The selected object is not suitable for copper clearing." msgid "The selected object is not suitable for copper clearing."
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1602 #: flatcamTools/ToolNonCopperClear.py:1618
#: flatcamTools/ToolNonCopperClear.py:1892 #: flatcamTools/ToolNonCopperClear.py:1919
msgid "Could not get the extent of the area to be non copper cleared." msgid "Could not get the extent of the area to be non copper cleared."
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1613 #: flatcamTools/ToolNonCopperClear.py:1625
#: flatcamTools/ToolNonCopperClear.py:1690 msgid "NCC Tool. Finished calculation of 'empty' area."
#: flatcamTools/ToolNonCopperClear.py:2001
msgid "Non-Copper Clearing with tool diameter = "
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1616 #: flatcamTools/ToolNonCopperClear.py:1631
#: flatcamTools/ToolNonCopperClear.py:1693 #: flatcamTools/ToolNonCopperClear.py:1936
#: flatcamTools/ToolNonCopperClear.py:1911 msgid "NCC Tool clearing with tool diameter = "
#: 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"
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1746 flatcamTools/ToolPaint.py:1364 #: flatcamTools/ToolNonCopperClear.py:1634
#: flatcamTools/ToolPaint.py:1663 flatcamTools/ToolPaint.py:1786 #: flatcamTools/ToolNonCopperClear.py:1939
#: flatcamTools/ToolPaint.py:2074 flatcamTools/ToolPaint.py:2203 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 "" msgid ""
"There is no Painting Geometry in the file.\n" "There is no Painting Geometry in the file.\n"
"Usually it means that the tool diameter is too big for the painted " "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." "Change the painting parameters and try again."
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1756 #: flatcamTools/ToolNonCopperClear.py:1769
msgid "Non-Copper clear all done." msgid "NCC Tool clear all done."
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1758 #: flatcamTools/ToolNonCopperClear.py:1771
msgid "" msgid "NCC Tool clear all done but the copper features isolation is broken for"
"Non-Copper clear all done but the copper features isolation is broken for"
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1761 #: flatcamTools/ToolNonCopperClear.py:1774
#: flatcamTools/ToolNonCopperClear.py:2055 #: flatcamTools/ToolNonCopperClear.py:2077
msgid "tools" msgid "tools"
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:1908 #: flatcamTools/ToolNonCopperClear.py:2073
msgid "Non-Copper Rest Clearing with tool diameter = " msgid "NCC Tool Rest Machining clear all done."
msgstr "" msgstr ""
#: flatcamTools/ToolNonCopperClear.py:2051 #: flatcamTools/ToolNonCopperClear.py:2076
msgid "Non-Copper Rest Machining clear all done."
msgstr ""
#: flatcamTools/ToolNonCopperClear.py:2054
msgid "" msgid ""
"Non-Copper Rest Machining clear all done but the copper features isolation " "NCC Tool Rest Machining clear all done but the copper features isolation is "
"is broken for" "broken for"
msgstr "" msgstr ""
#: flatcamTools/ToolPDF.py:38 #: flatcamTools/ToolPDF.py:38
@ -10103,85 +10111,108 @@ msgid ""
"specified by another object." "specified by another object."
msgstr "" 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)" msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive)"
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:923 flatcamTools/ToolPaint.py:986 #: flatcamTools/ToolPaint.py:928 flatcamTools/ToolPaint.py:991
msgid "Click inside the desired polygon." msgid "Click inside the desired polygon."
msgstr "" 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 #: tclCommands/TclCommandBbox.py:66 tclCommands/TclCommandNregions.py:65
msgid "Object not found" msgid "Object not found"
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:951 #: flatcamTools/ToolPaint.py:956
msgid "Can't do Paint on MultiGeo geometries" msgid "Can't do Paint on MultiGeo geometries"
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:995 flatcamTools/ToolPaint.py:1448 #: flatcamTools/ToolPaint.py:1000 flatcamTools/ToolPaint.py:1214
#: flatcamTools/ToolPaint.py:1862
msgid "Painting polygon..." msgid "Painting polygon..."
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:1017 #: flatcamTools/ToolPaint.py:1022
msgid "Click the start point of the paint area." msgid "Click the start point of the paint area."
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:1206 #: flatcamTools/ToolPaint.py:1211
msgid "[WARNING] No polygon found." msgid "[WARNING] No polygon found."
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:1209 #: flatcamTools/ToolPaint.py:1215
msgid "Painting polygon." #, python-format
msgid "Paint Tool. Painting polygon at location: %s"
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:1283 #: flatcamTools/ToolPaint.py:1289
msgid "Geometry could not be painted completely" msgid "Geometry could not be painted completely"
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:1326 #: flatcamTools/ToolPaint.py:1332
msgid "" msgid ""
"Could not do Paint. Try a different combination of parameters. Or a " "Could not do Paint. Try a different combination of parameters. Or a "
"different strategy of paint" "different strategy of paint"
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:1369 #: flatcamTools/ToolPaint.py:1375
msgid "Paint Single Done." msgid "Paint Single Done."
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:1391 #: flatcamTools/ToolPaint.py:1397
msgid "PaintTool.paint_poly()" msgid "PaintTool.paint_poly()"
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:1398 flatcamTools/ToolPaint.py:1811 #: flatcamTools/ToolPaint.py:1404 flatcamTools/ToolPaint.py:1814
#: flatcamTools/ToolPaint.py:2228 #: flatcamTools/ToolPaint.py:2221
msgid "Polygon Paint started ..." msgid "Polygon Paint started ..."
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:1550 flatcamTools/ToolPaint.py:1621 #: flatcamTools/ToolPaint.py:1454 flatcamTools/ToolPaint.py:1865
#: flatcamTools/ToolPaint.py:1750 flatcamTools/ToolPaint.py:1962 msgid "Painting polygons..."
#: flatcamTools/ToolPaint.py:2032 flatcamTools/ToolPaint.py:2112 msgstr ""
#: flatcamTools/ToolPaint.py:2167
#: 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 = " msgid "Painting with tool diameter = "
msgstr "" 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 "" msgid ""
"Could not do Paint All. Try a different combination of parameters. Or a " "Could not do Paint All. Try a different combination of parameters. Or a "
"different Method of paint" "different Method of paint"
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:1672 #: flatcamTools/ToolPaint.py:1673
msgid "[success] Paint All Done." msgid "[success] Paint All Done."
msgstr "" 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." msgid "Paint All with Rest-Machining done."
msgstr "" 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 #, python-format
msgid "" msgid ""
"Could not do Paint All. Try a different combination of parameters. Or a " "Could not do Paint All. Try a different combination of parameters. Or a "
@ -10189,10 +10220,14 @@ msgid ""
"%s" "%s"
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:2083 #: flatcamTools/ToolPaint.py:2081
msgid "[success] Paint Area Done." msgid "[success] Paint Area Done."
msgstr "" msgstr ""
#: flatcamTools/ToolPaint.py:2089
msgid "Paint Tool. Rest machining painting area task started."
msgstr ""
#: flatcamTools/ToolPanelize.py:25 #: flatcamTools/ToolPanelize.py:25
msgid "Panelize PCB" msgid "Panelize PCB"
msgstr "" msgstr ""