|
@@ -19,7 +19,7 @@ from io import StringIO
|
|
|
|
|
|
|
|
|
|
|
|
|
class SolderPaste(FlatCAMTool):
|
|
class SolderPaste(FlatCAMTool):
|
|
|
- toolName = "Solder Paste Tool"
|
|
|
|
|
|
|
+ toolName = _("Solder Paste Tool")
|
|
|
|
|
|
|
|
def __init__(self, app):
|
|
def __init__(self, app):
|
|
|
FlatCAMTool.__init__(self, app)
|
|
FlatCAMTool.__init__(self, app)
|
|
@@ -47,15 +47,15 @@ class SolderPaste(FlatCAMTool):
|
|
|
|
|
|
|
|
self.object_label = QtWidgets.QLabel("Gerber: ")
|
|
self.object_label = QtWidgets.QLabel("Gerber: ")
|
|
|
self.object_label.setToolTip(
|
|
self.object_label.setToolTip(
|
|
|
- "Gerber Solder paste object. "
|
|
|
|
|
|
|
+ _("Gerber Solder paste object. ")
|
|
|
)
|
|
)
|
|
|
obj_form_layout.addRow(self.object_label, self.obj_combo)
|
|
obj_form_layout.addRow(self.object_label, self.obj_combo)
|
|
|
|
|
|
|
|
#### Tools ####
|
|
#### Tools ####
|
|
|
- self.tools_table_label = QtWidgets.QLabel('<b>Tools Table</b>')
|
|
|
|
|
|
|
+ self.tools_table_label = QtWidgets.QLabel('<b>%s</b>' % _('Tools Table'))
|
|
|
self.tools_table_label.setToolTip(
|
|
self.tools_table_label.setToolTip(
|
|
|
- "Tools pool from which the algorithm\n"
|
|
|
|
|
- "will pick the ones used for dispensing solder paste."
|
|
|
|
|
|
|
+ _("Tools pool from which the algorithm\n"
|
|
|
|
|
+ "will pick the ones used for dispensing solder paste.")
|
|
|
)
|
|
)
|
|
|
self.layout.addWidget(self.tools_table_label)
|
|
self.layout.addWidget(self.tools_table_label)
|
|
|
|
|
|
|
@@ -63,29 +63,29 @@ class SolderPaste(FlatCAMTool):
|
|
|
self.layout.addWidget(self.tools_table)
|
|
self.layout.addWidget(self.tools_table)
|
|
|
|
|
|
|
|
self.tools_table.setColumnCount(3)
|
|
self.tools_table.setColumnCount(3)
|
|
|
- self.tools_table.setHorizontalHeaderLabels(['#', 'Diameter', ''])
|
|
|
|
|
|
|
+ self.tools_table.setHorizontalHeaderLabels(['#', _('Diameter'), ''])
|
|
|
self.tools_table.setColumnHidden(2, True)
|
|
self.tools_table.setColumnHidden(2, True)
|
|
|
self.tools_table.setSortingEnabled(False)
|
|
self.tools_table.setSortingEnabled(False)
|
|
|
# self.tools_table.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
|
|
# self.tools_table.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
|
|
|
|
|
|
|
|
self.tools_table.horizontalHeaderItem(0).setToolTip(
|
|
self.tools_table.horizontalHeaderItem(0).setToolTip(
|
|
|
- "This is the Tool Number.\n"
|
|
|
|
|
|
|
+ _("This is the Tool Number.\n"
|
|
|
"The solder dispensing will start with the tool with the biggest \n"
|
|
"The solder dispensing will start with the tool with the biggest \n"
|
|
|
"diameter, continuing until there are no more Nozzle tools.\n"
|
|
"diameter, continuing until there are no more Nozzle tools.\n"
|
|
|
"If there are no longer tools but there are still pads not covered\n "
|
|
"If there are no longer tools but there are still pads not covered\n "
|
|
|
- "with solder paste, the app will issue a warning message box."
|
|
|
|
|
|
|
+ "with solder paste, the app will issue a warning message box.")
|
|
|
)
|
|
)
|
|
|
self.tools_table.horizontalHeaderItem(1).setToolTip(
|
|
self.tools_table.horizontalHeaderItem(1).setToolTip(
|
|
|
- "Nozzle tool Diameter. It's value (in current FlatCAM units)\n"
|
|
|
|
|
- "is the width of the solder paste dispensed.")
|
|
|
|
|
|
|
+ _( "Nozzle tool Diameter. It's value (in current FlatCAM units)\n"
|
|
|
|
|
+ "is the width of the solder paste dispensed."))
|
|
|
|
|
|
|
|
#### Add a new Tool ####
|
|
#### Add a new Tool ####
|
|
|
hlay_tools = QtWidgets.QHBoxLayout()
|
|
hlay_tools = QtWidgets.QHBoxLayout()
|
|
|
self.layout.addLayout(hlay_tools)
|
|
self.layout.addLayout(hlay_tools)
|
|
|
|
|
|
|
|
- self.addtool_entry_lbl = QtWidgets.QLabel('<b>New Nozzle Tool:</b>')
|
|
|
|
|
|
|
+ self.addtool_entry_lbl = QtWidgets.QLabel('<b>%s:</b>' % _('New Nozzle Tool'))
|
|
|
self.addtool_entry_lbl.setToolTip(
|
|
self.addtool_entry_lbl.setToolTip(
|
|
|
- "Diameter for the new Nozzle tool to add in the Tool Table"
|
|
|
|
|
|
|
+ _("Diameter for the new Nozzle tool to add in the Tool Table")
|
|
|
)
|
|
)
|
|
|
self.addtool_entry = FCEntry()
|
|
self.addtool_entry = FCEntry()
|
|
|
|
|
|
|
@@ -97,21 +97,21 @@ class SolderPaste(FlatCAMTool):
|
|
|
grid0 = QtWidgets.QGridLayout()
|
|
grid0 = QtWidgets.QGridLayout()
|
|
|
self.layout.addLayout(grid0)
|
|
self.layout.addLayout(grid0)
|
|
|
|
|
|
|
|
- self.addtool_btn = QtWidgets.QPushButton('Add')
|
|
|
|
|
|
|
+ self.addtool_btn = QtWidgets.QPushButton(_('Add'))
|
|
|
self.addtool_btn.setToolTip(
|
|
self.addtool_btn.setToolTip(
|
|
|
- "Add a new nozzle tool to the Tool Table\n"
|
|
|
|
|
- "with the diameter specified above."
|
|
|
|
|
|
|
+ _("Add a new nozzle tool to the Tool Table\n"
|
|
|
|
|
+ "with the diameter specified above.")
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
- self.deltool_btn = QtWidgets.QPushButton('Delete')
|
|
|
|
|
|
|
+ self.deltool_btn = QtWidgets.QPushButton(_('Delete'))
|
|
|
self.deltool_btn.setToolTip(
|
|
self.deltool_btn.setToolTip(
|
|
|
- "Delete a selection of tools in the Tool Table\n"
|
|
|
|
|
- "by first selecting a row(s) in the Tool Table."
|
|
|
|
|
|
|
+ _( "Delete a selection of tools in the Tool Table\n"
|
|
|
|
|
+ "by first selecting a row(s) in the Tool Table.")
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
- self.soldergeo_btn = QtWidgets.QPushButton("Generate Geo")
|
|
|
|
|
|
|
+ self.soldergeo_btn = QtWidgets.QPushButton(_("Generate Geo"))
|
|
|
self.soldergeo_btn.setToolTip(
|
|
self.soldergeo_btn.setToolTip(
|
|
|
- "Generate solder paste dispensing geometry."
|
|
|
|
|
|
|
+ _("Generate solder paste dispensing geometry.")
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
grid0.addWidget(self.addtool_btn, 0, 0)
|
|
grid0.addWidget(self.addtool_btn, 0, 0)
|
|
@@ -124,13 +124,13 @@ class SolderPaste(FlatCAMTool):
|
|
|
grid0_1 = QtWidgets.QGridLayout()
|
|
grid0_1 = QtWidgets.QGridLayout()
|
|
|
self.layout.addLayout(grid0_1)
|
|
self.layout.addLayout(grid0_1)
|
|
|
|
|
|
|
|
- step1_lbl = QtWidgets.QLabel("<b>STEP 1:</b>")
|
|
|
|
|
|
|
+ step1_lbl = QtWidgets.QLabel("<b>%s:</b>" % _('STEP 1'))
|
|
|
step1_lbl.setToolTip(
|
|
step1_lbl.setToolTip(
|
|
|
- "First step is to select a number of nozzle tools for usage\n"
|
|
|
|
|
- "and then optionally modify the GCode parameters bellow."
|
|
|
|
|
|
|
+ _("First step is to select a number of nozzle tools for usage\n"
|
|
|
|
|
+ "and then optionally modify the GCode parameters bellow.")
|
|
|
)
|
|
)
|
|
|
- step1_description_lbl = QtWidgets.QLabel("Select tools.\n"
|
|
|
|
|
- "Modify parameters.")
|
|
|
|
|
|
|
+ step1_description_lbl = QtWidgets.QLabel(_("Select tools.\n"
|
|
|
|
|
+ "Modify parameters."))
|
|
|
|
|
|
|
|
grid0_1.addWidget(step1_lbl, 0, 0, alignment=Qt.AlignTop)
|
|
grid0_1.addWidget(step1_lbl, 0, 0, alignment=Qt.AlignTop)
|
|
|
grid0_1.addWidget(step1_description_lbl, 0, 2, alignment=Qt.AlignBottom)
|
|
grid0_1.addWidget(step1_description_lbl, 0, 2, alignment=Qt.AlignBottom)
|
|
@@ -148,120 +148,120 @@ class SolderPaste(FlatCAMTool):
|
|
|
|
|
|
|
|
# Z dispense start
|
|
# Z dispense start
|
|
|
self.z_start_entry = FCEntry()
|
|
self.z_start_entry = FCEntry()
|
|
|
- self.z_start_label = QtWidgets.QLabel("Z Dispense Start:")
|
|
|
|
|
|
|
+ self.z_start_label = QtWidgets.QLabel(_("Z Dispense Start:"))
|
|
|
self.z_start_label.setToolTip(
|
|
self.z_start_label.setToolTip(
|
|
|
- "The height (Z) when solder paste dispensing starts."
|
|
|
|
|
|
|
+ _("The height (Z) when solder paste dispensing starts.")
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.z_start_label, self.z_start_entry)
|
|
self.gcode_form_layout.addRow(self.z_start_label, self.z_start_entry)
|
|
|
|
|
|
|
|
# Z dispense
|
|
# Z dispense
|
|
|
self.z_dispense_entry = FCEntry()
|
|
self.z_dispense_entry = FCEntry()
|
|
|
- self.z_dispense_label = QtWidgets.QLabel("Z Dispense:")
|
|
|
|
|
|
|
+ self.z_dispense_label = QtWidgets.QLabel(_("Z Dispense:"))
|
|
|
self.z_dispense_label.setToolTip(
|
|
self.z_dispense_label.setToolTip(
|
|
|
- "The height (Z) when doing solder paste dispensing."
|
|
|
|
|
|
|
+ _("The height (Z) when doing solder paste dispensing.")
|
|
|
|
|
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.z_dispense_label, self.z_dispense_entry)
|
|
self.gcode_form_layout.addRow(self.z_dispense_label, self.z_dispense_entry)
|
|
|
|
|
|
|
|
# Z dispense stop
|
|
# Z dispense stop
|
|
|
self.z_stop_entry = FCEntry()
|
|
self.z_stop_entry = FCEntry()
|
|
|
- self.z_stop_label = QtWidgets.QLabel("Z Dispense Stop:")
|
|
|
|
|
|
|
+ self.z_stop_label = QtWidgets.QLabel(_("Z Dispense Stop:"))
|
|
|
self.z_stop_label.setToolTip(
|
|
self.z_stop_label.setToolTip(
|
|
|
- "The height (Z) when solder paste dispensing stops."
|
|
|
|
|
|
|
+ _("The height (Z) when solder paste dispensing stops.")
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.z_stop_label, self.z_stop_entry)
|
|
self.gcode_form_layout.addRow(self.z_stop_label, self.z_stop_entry)
|
|
|
|
|
|
|
|
# Z travel
|
|
# Z travel
|
|
|
self.z_travel_entry = FCEntry()
|
|
self.z_travel_entry = FCEntry()
|
|
|
- self.z_travel_label = QtWidgets.QLabel("Z Travel:")
|
|
|
|
|
|
|
+ self.z_travel_label = QtWidgets.QLabel(_("Z Travel:"))
|
|
|
self.z_travel_label.setToolTip(
|
|
self.z_travel_label.setToolTip(
|
|
|
- "The height (Z) for travel between pads\n"
|
|
|
|
|
- "(without dispensing solder paste)."
|
|
|
|
|
|
|
+ _( "The height (Z) for travel between pads\n"
|
|
|
|
|
+ "(without dispensing solder paste).")
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.z_travel_label, self.z_travel_entry)
|
|
self.gcode_form_layout.addRow(self.z_travel_label, self.z_travel_entry)
|
|
|
|
|
|
|
|
# Z toolchange location
|
|
# Z toolchange location
|
|
|
self.z_toolchange_entry = FCEntry()
|
|
self.z_toolchange_entry = FCEntry()
|
|
|
- self.z_toolchange_label = QtWidgets.QLabel("Z Toolchange:")
|
|
|
|
|
|
|
+ self.z_toolchange_label = QtWidgets.QLabel(_("Z Toolchange:"))
|
|
|
self.z_toolchange_label.setToolTip(
|
|
self.z_toolchange_label.setToolTip(
|
|
|
- "The height (Z) for tool (nozzle) change."
|
|
|
|
|
|
|
+ _( "The height (Z) for tool (nozzle) change.")
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.z_toolchange_label, self.z_toolchange_entry)
|
|
self.gcode_form_layout.addRow(self.z_toolchange_label, self.z_toolchange_entry)
|
|
|
|
|
|
|
|
# X,Y Toolchange location
|
|
# X,Y Toolchange location
|
|
|
self.xy_toolchange_entry = FCEntry()
|
|
self.xy_toolchange_entry = FCEntry()
|
|
|
- self.xy_toolchange_label = QtWidgets.QLabel("XY Toolchange:")
|
|
|
|
|
|
|
+ self.xy_toolchange_label = QtWidgets.QLabel(_("XY Toolchange:"))
|
|
|
self.xy_toolchange_label.setToolTip(
|
|
self.xy_toolchange_label.setToolTip(
|
|
|
- "The X,Y location for tool (nozzle) change.\n"
|
|
|
|
|
- "The format is (x, y) where x and y are real numbers."
|
|
|
|
|
|
|
+ _("The X,Y location for tool (nozzle) change.\n"
|
|
|
|
|
+ "The format is (x, y) where x and y are real numbers.")
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.xy_toolchange_label, self.xy_toolchange_entry)
|
|
self.gcode_form_layout.addRow(self.xy_toolchange_label, self.xy_toolchange_entry)
|
|
|
|
|
|
|
|
# Feedrate X-Y
|
|
# Feedrate X-Y
|
|
|
self.frxy_entry = FCEntry()
|
|
self.frxy_entry = FCEntry()
|
|
|
- self.frxy_label = QtWidgets.QLabel("Feedrate X-Y:")
|
|
|
|
|
|
|
+ self.frxy_label = QtWidgets.QLabel(_("Feedrate X-Y:"))
|
|
|
self.frxy_label.setToolTip(
|
|
self.frxy_label.setToolTip(
|
|
|
- "Feedrate (speed) while moving on the X-Y plane."
|
|
|
|
|
|
|
+ _( "Feedrate (speed) while moving on the X-Y plane.")
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.frxy_label, self.frxy_entry)
|
|
self.gcode_form_layout.addRow(self.frxy_label, self.frxy_entry)
|
|
|
|
|
|
|
|
# Feedrate Z
|
|
# Feedrate Z
|
|
|
self.frz_entry = FCEntry()
|
|
self.frz_entry = FCEntry()
|
|
|
- self.frz_label = QtWidgets.QLabel("Feedrate Z:")
|
|
|
|
|
|
|
+ self.frz_label = QtWidgets.QLabel(_("Feedrate Z:"))
|
|
|
self.frz_label.setToolTip(
|
|
self.frz_label.setToolTip(
|
|
|
- "Feedrate (speed) while moving vertically\n"
|
|
|
|
|
- "(on Z plane)."
|
|
|
|
|
|
|
+ _("Feedrate (speed) while moving vertically\n"
|
|
|
|
|
+ "(on Z plane).")
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.frz_label, self.frz_entry)
|
|
self.gcode_form_layout.addRow(self.frz_label, self.frz_entry)
|
|
|
|
|
|
|
|
# Feedrate Z Dispense
|
|
# Feedrate Z Dispense
|
|
|
self.frz_dispense_entry = FCEntry()
|
|
self.frz_dispense_entry = FCEntry()
|
|
|
- self.frz_dispense_label = QtWidgets.QLabel("Feedrate Z Dispense:")
|
|
|
|
|
|
|
+ self.frz_dispense_label = QtWidgets.QLabel(_("Feedrate Z Dispense:"))
|
|
|
self.frz_dispense_label.setToolTip(
|
|
self.frz_dispense_label.setToolTip(
|
|
|
- "Feedrate (speed) while moving up vertically\n"
|
|
|
|
|
- " to Dispense position (on Z plane)."
|
|
|
|
|
|
|
+ _( "Feedrate (speed) while moving up vertically\n"
|
|
|
|
|
+ " to Dispense position (on Z plane).")
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.frz_dispense_label, self.frz_dispense_entry)
|
|
self.gcode_form_layout.addRow(self.frz_dispense_label, self.frz_dispense_entry)
|
|
|
|
|
|
|
|
# Spindle Speed Forward
|
|
# Spindle Speed Forward
|
|
|
self.speedfwd_entry = FCEntry()
|
|
self.speedfwd_entry = FCEntry()
|
|
|
- self.speedfwd_label = QtWidgets.QLabel("Spindle Speed FWD:")
|
|
|
|
|
|
|
+ self.speedfwd_label = QtWidgets.QLabel(_("Spindle Speed FWD:"))
|
|
|
self.speedfwd_label.setToolTip(
|
|
self.speedfwd_label.setToolTip(
|
|
|
- "The dispenser speed while pushing solder paste\n"
|
|
|
|
|
- "through the dispenser nozzle."
|
|
|
|
|
|
|
+ _( "The dispenser speed while pushing solder paste\n"
|
|
|
|
|
+ "through the dispenser nozzle.")
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.speedfwd_label, self.speedfwd_entry)
|
|
self.gcode_form_layout.addRow(self.speedfwd_label, self.speedfwd_entry)
|
|
|
|
|
|
|
|
# Dwell Forward
|
|
# Dwell Forward
|
|
|
self.dwellfwd_entry = FCEntry()
|
|
self.dwellfwd_entry = FCEntry()
|
|
|
- self.dwellfwd_label = QtWidgets.QLabel("Dwell FWD:")
|
|
|
|
|
|
|
+ self.dwellfwd_label = QtWidgets.QLabel(_("Dwell FWD:"))
|
|
|
self.dwellfwd_label.setToolTip(
|
|
self.dwellfwd_label.setToolTip(
|
|
|
- "Pause after solder dispensing."
|
|
|
|
|
|
|
+ _("Pause after solder dispensing.")
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.dwellfwd_label, self.dwellfwd_entry)
|
|
self.gcode_form_layout.addRow(self.dwellfwd_label, self.dwellfwd_entry)
|
|
|
|
|
|
|
|
# Spindle Speed Reverse
|
|
# Spindle Speed Reverse
|
|
|
self.speedrev_entry = FCEntry()
|
|
self.speedrev_entry = FCEntry()
|
|
|
- self.speedrev_label = QtWidgets.QLabel("Spindle Speed REV:")
|
|
|
|
|
|
|
+ self.speedrev_label = QtWidgets.QLabel(_("Spindle Speed REV:"))
|
|
|
self.speedrev_label.setToolTip(
|
|
self.speedrev_label.setToolTip(
|
|
|
- "The dispenser speed while retracting solder paste\n"
|
|
|
|
|
- "through the dispenser nozzle."
|
|
|
|
|
|
|
+ _( "The dispenser speed while retracting solder paste\n"
|
|
|
|
|
+ "through the dispenser nozzle.")
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.speedrev_label, self.speedrev_entry)
|
|
self.gcode_form_layout.addRow(self.speedrev_label, self.speedrev_entry)
|
|
|
|
|
|
|
|
# Dwell Reverse
|
|
# Dwell Reverse
|
|
|
self.dwellrev_entry = FCEntry()
|
|
self.dwellrev_entry = FCEntry()
|
|
|
- self.dwellrev_label = QtWidgets.QLabel("Dwell REV:")
|
|
|
|
|
|
|
+ self.dwellrev_label = QtWidgets.QLabel(_("Dwell REV:"))
|
|
|
self.dwellrev_label.setToolTip(
|
|
self.dwellrev_label.setToolTip(
|
|
|
- "Pause after solder paste dispenser retracted,\n"
|
|
|
|
|
- "to allow pressure equilibrium."
|
|
|
|
|
|
|
+ _("Pause after solder paste dispenser retracted,\n"
|
|
|
|
|
+ "to allow pressure equilibrium.")
|
|
|
)
|
|
)
|
|
|
self.gcode_form_layout.addRow(self.dwellrev_label, self.dwellrev_entry)
|
|
self.gcode_form_layout.addRow(self.dwellrev_label, self.dwellrev_entry)
|
|
|
|
|
|
|
|
# Postprocessors
|
|
# Postprocessors
|
|
|
- pp_label = QtWidgets.QLabel('PostProcessors:')
|
|
|
|
|
|
|
+ pp_label = QtWidgets.QLabel(_('PostProcessors:'))
|
|
|
pp_label.setToolTip(
|
|
pp_label.setToolTip(
|
|
|
- "Files that control the GCode generation."
|
|
|
|
|
|
|
+ _("Files that control the GCode generation.")
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
self.pp_combo = FCComboBox()
|
|
self.pp_combo = FCComboBox()
|
|
@@ -272,10 +272,10 @@ class SolderPaste(FlatCAMTool):
|
|
|
grid1 = QtWidgets.QGridLayout()
|
|
grid1 = QtWidgets.QGridLayout()
|
|
|
self.gcode_box.addLayout(grid1)
|
|
self.gcode_box.addLayout(grid1)
|
|
|
|
|
|
|
|
- self.solder_gcode_btn = QtWidgets.QPushButton("Generate GCode")
|
|
|
|
|
|
|
+ self.solder_gcode_btn = QtWidgets.QPushButton(_("Generate GCode"))
|
|
|
self.solder_gcode_btn.setToolTip(
|
|
self.solder_gcode_btn.setToolTip(
|
|
|
- "Generate GCode for Solder Paste dispensing\n"
|
|
|
|
|
- "on PCB pads."
|
|
|
|
|
|
|
+ _( "Generate GCode for Solder Paste dispensing\n"
|
|
|
|
|
+ "on PCB pads.")
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
self.generation_frame = QtWidgets.QFrame()
|
|
self.generation_frame = QtWidgets.QFrame()
|
|
@@ -290,10 +290,10 @@ class SolderPaste(FlatCAMTool):
|
|
|
grid2 = QtWidgets.QGridLayout()
|
|
grid2 = QtWidgets.QGridLayout()
|
|
|
self.generation_box.addLayout(grid2)
|
|
self.generation_box.addLayout(grid2)
|
|
|
|
|
|
|
|
- step2_lbl = QtWidgets.QLabel("<b>STEP 2:</b>")
|
|
|
|
|
|
|
+ step2_lbl = QtWidgets.QLabel("<b>%s</b>" % _('STEP 2:'))
|
|
|
step2_lbl.setToolTip(
|
|
step2_lbl.setToolTip(
|
|
|
- "Second step is to create a solder paste dispensing\n"
|
|
|
|
|
- "geometry out of an Solder Paste Mask Gerber file."
|
|
|
|
|
|
|
+ _("Second step is to create a solder paste dispensing\n"
|
|
|
|
|
+ "geometry out of an Solder Paste Mask Gerber file.")
|
|
|
)
|
|
)
|
|
|
grid2.addWidget(step2_lbl, 0, 0)
|
|
grid2.addWidget(step2_lbl, 0, 0)
|
|
|
grid2.addWidget(self.soldergeo_btn, 0, 2)
|
|
grid2.addWidget(self.soldergeo_btn, 0, 2)
|
|
@@ -308,24 +308,24 @@ class SolderPaste(FlatCAMTool):
|
|
|
self.geo_obj_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex()))
|
|
self.geo_obj_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex()))
|
|
|
self.geo_obj_combo.setCurrentIndex(1)
|
|
self.geo_obj_combo.setCurrentIndex(1)
|
|
|
|
|
|
|
|
- self.geo_object_label = QtWidgets.QLabel("Geo Result:")
|
|
|
|
|
|
|
+ self.geo_object_label = QtWidgets.QLabel(_("Geo Result:"))
|
|
|
self.geo_object_label.setToolTip(
|
|
self.geo_object_label.setToolTip(
|
|
|
- "Geometry Solder Paste object.\n"
|
|
|
|
|
|
|
+ _( "Geometry Solder Paste object.\n"
|
|
|
"The name of the object has to end in:\n"
|
|
"The name of the object has to end in:\n"
|
|
|
- "'_solderpaste' as a protection."
|
|
|
|
|
|
|
+ "'_solderpaste' as a protection.")
|
|
|
)
|
|
)
|
|
|
geo_form_layout.addRow(self.geo_object_label, self.geo_obj_combo)
|
|
geo_form_layout.addRow(self.geo_object_label, self.geo_obj_combo)
|
|
|
|
|
|
|
|
grid3 = QtWidgets.QGridLayout()
|
|
grid3 = QtWidgets.QGridLayout()
|
|
|
self.generation_box.addLayout(grid3)
|
|
self.generation_box.addLayout(grid3)
|
|
|
|
|
|
|
|
- step3_lbl = QtWidgets.QLabel("<b>STEP 3:</b>")
|
|
|
|
|
|
|
+ step3_lbl = QtWidgets.QLabel("<b>%s</b>" % _('STEP 3:'))
|
|
|
step3_lbl.setToolTip(
|
|
step3_lbl.setToolTip(
|
|
|
- "Third step is to select a solder paste dispensing geometry,\n"
|
|
|
|
|
|
|
+ _( "Third step is to select a solder paste dispensing geometry,\n"
|
|
|
"and then generate a CNCJob object.\n\n"
|
|
"and then generate a CNCJob object.\n\n"
|
|
|
"REMEMBER: if you want to create a CNCJob with new parameters,\n"
|
|
"REMEMBER: if you want to create a CNCJob with new parameters,\n"
|
|
|
"first you need to generate a geometry with those new params,\n"
|
|
"first you need to generate a geometry with those new params,\n"
|
|
|
- "and only after that you can generate an updated CNCJob."
|
|
|
|
|
|
|
+ "and only after that you can generate an updated CNCJob.")
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
grid3.addWidget(step3_lbl, 0, 0)
|
|
grid3.addWidget(step3_lbl, 0, 0)
|
|
@@ -341,34 +341,34 @@ class SolderPaste(FlatCAMTool):
|
|
|
self.cnc_obj_combo.setRootModelIndex(self.app.collection.index(3, 0, QtCore.QModelIndex()))
|
|
self.cnc_obj_combo.setRootModelIndex(self.app.collection.index(3, 0, QtCore.QModelIndex()))
|
|
|
self.cnc_obj_combo.setCurrentIndex(1)
|
|
self.cnc_obj_combo.setCurrentIndex(1)
|
|
|
|
|
|
|
|
- self.cnc_object_label = QtWidgets.QLabel("CNC Result:")
|
|
|
|
|
|
|
+ self.cnc_object_label = QtWidgets.QLabel(_("CNC Result:"))
|
|
|
self.cnc_object_label.setToolTip(
|
|
self.cnc_object_label.setToolTip(
|
|
|
- "CNCJob Solder paste object.\n"
|
|
|
|
|
|
|
+ _( "CNCJob Solder paste object.\n"
|
|
|
"In order to enable the GCode save section,\n"
|
|
"In order to enable the GCode save section,\n"
|
|
|
"the name of the object has to end in:\n"
|
|
"the name of the object has to end in:\n"
|
|
|
- "'_solderpaste' as a protection."
|
|
|
|
|
|
|
+ "'_solderpaste' as a protection.")
|
|
|
)
|
|
)
|
|
|
cnc_form_layout.addRow(self.cnc_object_label, self.cnc_obj_combo)
|
|
cnc_form_layout.addRow(self.cnc_object_label, self.cnc_obj_combo)
|
|
|
|
|
|
|
|
grid4 = QtWidgets.QGridLayout()
|
|
grid4 = QtWidgets.QGridLayout()
|
|
|
self.generation_box.addLayout(grid4)
|
|
self.generation_box.addLayout(grid4)
|
|
|
|
|
|
|
|
- self.solder_gcode_view_btn = QtWidgets.QPushButton("View GCode")
|
|
|
|
|
|
|
+ self.solder_gcode_view_btn = QtWidgets.QPushButton(_("View GCode"))
|
|
|
self.solder_gcode_view_btn.setToolTip(
|
|
self.solder_gcode_view_btn.setToolTip(
|
|
|
- "View the generated GCode for Solder Paste dispensing\n"
|
|
|
|
|
- "on PCB pads."
|
|
|
|
|
|
|
+ _("View the generated GCode for Solder Paste dispensing\n"
|
|
|
|
|
+ "on PCB pads.")
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
- self.solder_gcode_save_btn = QtWidgets.QPushButton("Save GCode")
|
|
|
|
|
|
|
+ self.solder_gcode_save_btn = QtWidgets.QPushButton(_("Save GCode"))
|
|
|
self.solder_gcode_save_btn.setToolTip(
|
|
self.solder_gcode_save_btn.setToolTip(
|
|
|
- "Save the generated GCode for Solder Paste dispensing\n"
|
|
|
|
|
- "on PCB pads, to a file."
|
|
|
|
|
|
|
+ _( "Save the generated GCode for Solder Paste dispensing\n"
|
|
|
|
|
+ "on PCB pads, to a file.")
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
- step4_lbl = QtWidgets.QLabel("<b>STEP 4:</b>")
|
|
|
|
|
|
|
+ step4_lbl = QtWidgets.QLabel("<b>%s</b>" % _('STEP 4:'))
|
|
|
step4_lbl.setToolTip(
|
|
step4_lbl.setToolTip(
|
|
|
- "Fourth step (and last) is to select a CNCJob made from \n"
|
|
|
|
|
- "a solder paste dispensing geometry, and then view/save it's GCode."
|
|
|
|
|
|
|
+ _( "Fourth step (and last) is to select a CNCJob made from \n"
|
|
|
|
|
+ "a solder paste dispensing geometry, and then view/save it's GCode.")
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
grid4.addWidget(step4_lbl, 0, 0)
|
|
grid4.addWidget(step4_lbl, 0, 0)
|
|
@@ -395,7 +395,7 @@ class SolderPaste(FlatCAMTool):
|
|
|
self.flat_geometry = []
|
|
self.flat_geometry = []
|
|
|
|
|
|
|
|
# action to be added in the combobox context menu
|
|
# action to be added in the combobox context menu
|
|
|
- self.combo_context_del_action = QtWidgets.QAction(QtGui.QIcon('share/trash16.png'), "Delete Object")
|
|
|
|
|
|
|
+ self.combo_context_del_action = QtWidgets.QAction(QtGui.QIcon('share/trash16.png'), _("Delete Object"))
|
|
|
|
|
|
|
|
## Signals
|
|
## Signals
|
|
|
self.combo_context_del_action.triggered.connect(self.on_delete_object)
|
|
self.combo_context_del_action.triggered.connect(self.on_delete_object)
|
|
@@ -457,9 +457,9 @@ class SolderPaste(FlatCAMTool):
|
|
|
|
|
|
|
|
self.tools_table.setupContextMenu()
|
|
self.tools_table.setupContextMenu()
|
|
|
self.tools_table.addContextMenu(
|
|
self.tools_table.addContextMenu(
|
|
|
- "Add", lambda: self.on_tool_add(dia=None, muted=None), icon=QtGui.QIcon("share/plus16.png"))
|
|
|
|
|
|
|
+ _("Add"), lambda: self.on_tool_add(dia=None, muted=None), icon=QtGui.QIcon("share/plus16.png"))
|
|
|
self.tools_table.addContextMenu(
|
|
self.tools_table.addContextMenu(
|
|
|
- "Delete", lambda:
|
|
|
|
|
|
|
+ _("Delete"), lambda:
|
|
|
self.on_tool_delete(rows_to_delete=None, all=None), icon=QtGui.QIcon("share/delete32.png"))
|
|
self.on_tool_delete(rows_to_delete=None, all=None), icon=QtGui.QIcon("share/delete32.png"))
|
|
|
|
|
|
|
|
try:
|
|
try:
|
|
@@ -734,16 +734,16 @@ class SolderPaste(FlatCAMTool):
|
|
|
try:
|
|
try:
|
|
|
tool_dia = float(self.addtool_entry.get_value().replace(',', '.'))
|
|
tool_dia = float(self.addtool_entry.get_value().replace(',', '.'))
|
|
|
except ValueError:
|
|
except ValueError:
|
|
|
- self.app.inform.emit("[ERROR_NOTCL]Wrong value format entered, "
|
|
|
|
|
- "use a number.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[ERROR_NOTCL]Wrong value format entered, "
|
|
|
|
|
+ "use a number."))
|
|
|
return
|
|
return
|
|
|
if tool_dia is None:
|
|
if tool_dia is None:
|
|
|
self.build_ui()
|
|
self.build_ui()
|
|
|
- self.app.inform.emit("[WARNING_NOTCL] Please enter a tool diameter to add, in Float format.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] Please enter a tool diameter to add, in Float format."))
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
if tool_dia == 0:
|
|
if tool_dia == 0:
|
|
|
- self.app.inform.emit("[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float format.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float format."))
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
# construct a list of all 'tooluid' in the self.tooltable_tools
|
|
# construct a list of all 'tooluid' in the self.tooltable_tools
|
|
@@ -767,12 +767,12 @@ class SolderPaste(FlatCAMTool):
|
|
|
|
|
|
|
|
if float('%.4f' % tool_dia) in tool_dias:
|
|
if float('%.4f' % tool_dia) in tool_dias:
|
|
|
if muted is None:
|
|
if muted is None:
|
|
|
- self.app.inform.emit("[WARNING_NOTCL]Adding Nozzle tool cancelled. Tool already in Tool Table.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] Adding Nozzle tool cancelled. Tool already in Tool Table."))
|
|
|
self.tools_table.itemChanged.connect(self.on_tool_edit)
|
|
self.tools_table.itemChanged.connect(self.on_tool_edit)
|
|
|
return
|
|
return
|
|
|
else:
|
|
else:
|
|
|
if muted is None:
|
|
if muted is None:
|
|
|
- self.app.inform.emit("[success] New Nozzle tool added to Tool Table.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[success] New Nozzle tool added to Tool Table."))
|
|
|
self.tooltable_tools.update({
|
|
self.tooltable_tools.update({
|
|
|
int(self.tooluid): {
|
|
int(self.tooluid): {
|
|
|
'tooldia': float('%.4f' % tool_dia),
|
|
'tooldia': float('%.4f' % tool_dia),
|
|
@@ -805,8 +805,8 @@ class SolderPaste(FlatCAMTool):
|
|
|
try:
|
|
try:
|
|
|
new_tool_dia = float(self.tools_table.item(row, 1).text().replace(',', '.'))
|
|
new_tool_dia = float(self.tools_table.item(row, 1).text().replace(',', '.'))
|
|
|
except ValueError:
|
|
except ValueError:
|
|
|
- self.app.inform.emit("[ERROR_NOTCL]Wrong value format entered, "
|
|
|
|
|
- "use a number.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[ERROR_NOTCL]Wrong value format entered, "
|
|
|
|
|
+ "use a number."))
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
tooluid = int(self.tools_table.item(row, 2).text())
|
|
tooluid = int(self.tools_table.item(row, 2).text())
|
|
@@ -814,7 +814,7 @@ class SolderPaste(FlatCAMTool):
|
|
|
# identify the tool that was edited and get it's tooluid
|
|
# identify the tool that was edited and get it's tooluid
|
|
|
if new_tool_dia not in tool_dias:
|
|
if new_tool_dia not in tool_dias:
|
|
|
self.tooltable_tools[tooluid]['tooldia'] = new_tool_dia
|
|
self.tooltable_tools[tooluid]['tooldia'] = new_tool_dia
|
|
|
- self.app.inform.emit("[success] Nozzle tool from Tool Table was edited.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[success] Nozzle tool from Tool Table was edited."))
|
|
|
self.build_ui()
|
|
self.build_ui()
|
|
|
return
|
|
return
|
|
|
else:
|
|
else:
|
|
@@ -825,7 +825,7 @@ class SolderPaste(FlatCAMTool):
|
|
|
break
|
|
break
|
|
|
restore_dia_item = self.tools_table.item(row, 1)
|
|
restore_dia_item = self.tools_table.item(row, 1)
|
|
|
restore_dia_item.setText(str(old_tool_dia))
|
|
restore_dia_item.setText(str(old_tool_dia))
|
|
|
- self.app.inform.emit("[WARNING_NOTCL] Edit cancelled. New diameter value is already in the Tool Table.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] Edit cancelled. New diameter value is already in the Tool Table."))
|
|
|
self.build_ui()
|
|
self.build_ui()
|
|
|
|
|
|
|
|
def on_tool_delete(self, rows_to_delete=None, all=None):
|
|
def on_tool_delete(self, rows_to_delete=None, all=None):
|
|
@@ -870,12 +870,12 @@ class SolderPaste(FlatCAMTool):
|
|
|
self.tooltable_tools.pop(t, None)
|
|
self.tooltable_tools.pop(t, None)
|
|
|
|
|
|
|
|
except AttributeError:
|
|
except AttributeError:
|
|
|
- self.app.inform.emit("[WARNING_NOTCL] Delete failed. Select a Nozzle tool to delete.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] Delete failed. Select a Nozzle tool to delete."))
|
|
|
return
|
|
return
|
|
|
except Exception as e:
|
|
except Exception as e:
|
|
|
log.debug(str(e))
|
|
log.debug(str(e))
|
|
|
|
|
|
|
|
- self.app.inform.emit("[success] Nozzle tool(s) deleted from Tool Table.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[success] Nozzle tool(s) deleted from Tool Table."))
|
|
|
self.build_ui()
|
|
self.build_ui()
|
|
|
|
|
|
|
|
def on_rmb_combo(self, pos, combo):
|
|
def on_rmb_combo(self, pos, combo):
|
|
@@ -930,7 +930,7 @@ class SolderPaste(FlatCAMTool):
|
|
|
"""
|
|
"""
|
|
|
name = self.obj_combo.currentText()
|
|
name = self.obj_combo.currentText()
|
|
|
if name == '':
|
|
if name == '':
|
|
|
- self.app.inform.emit("[WARNING_NOTCL] No SolderPaste mask Gerber object loaded.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] No SolderPaste mask Gerber object loaded."))
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
obj = self.app.collection.get_by_name(name)
|
|
obj = self.app.collection.get_by_name(name)
|
|
@@ -947,7 +947,7 @@ class SolderPaste(FlatCAMTool):
|
|
|
:param work_object: the source Gerber object from which the geometry is created
|
|
:param work_object: the source Gerber object from which the geometry is created
|
|
|
:return: a Geometry type object
|
|
:return: a Geometry type object
|
|
|
"""
|
|
"""
|
|
|
- proc = self.app.proc_container.new("Creating Solder Paste dispensing geometry.")
|
|
|
|
|
|
|
+ proc = self.app.proc_container.new(_("Creating Solder Paste dispensing geometry."))
|
|
|
obj = work_object
|
|
obj = work_object
|
|
|
|
|
|
|
|
# Sort tools in descending order
|
|
# Sort tools in descending order
|
|
@@ -959,7 +959,7 @@ class SolderPaste(FlatCAMTool):
|
|
|
sorted_tools.sort(reverse=True)
|
|
sorted_tools.sort(reverse=True)
|
|
|
|
|
|
|
|
if not sorted_tools:
|
|
if not sorted_tools:
|
|
|
- self.app.inform.emit("[WARNING_NOTCL] No Nozzle tools in the tool table.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] No Nozzle tools in the tool table."))
|
|
|
return 'fail'
|
|
return 'fail'
|
|
|
|
|
|
|
|
def flatten(geometry=None, reset=True, pathonly=False):
|
|
def flatten(geometry=None, reset=True, pathonly=False):
|
|
@@ -1085,17 +1085,17 @@ class SolderPaste(FlatCAMTool):
|
|
|
if not geo_obj.tools[tooluid_key]['solid_geometry']:
|
|
if not geo_obj.tools[tooluid_key]['solid_geometry']:
|
|
|
a += 1
|
|
a += 1
|
|
|
if a == len(geo_obj.tools):
|
|
if a == len(geo_obj.tools):
|
|
|
- self.app.inform.emit('[ERROR_NOTCL]Cancelled. Empty file, it has no geometry...')
|
|
|
|
|
|
|
+ self.app.inform.emit(_('[ERROR_NOTCL] Cancelled. Empty file, it has no geometry...'))
|
|
|
return 'fail'
|
|
return 'fail'
|
|
|
|
|
|
|
|
- app_obj.inform.emit("[success] Solder Paste geometry generated successfully...")
|
|
|
|
|
|
|
+ app_obj.inform.emit(_("[success] Solder Paste geometry generated successfully..."))
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
# if we still have geometry not processed at the end of the tools then we failed
|
|
# if we still have geometry not processed at the end of the tools then we failed
|
|
|
# some or all the pads are not covered with solder paste
|
|
# some or all the pads are not covered with solder paste
|
|
|
if work_geo:
|
|
if work_geo:
|
|
|
- app_obj.inform.emit("[WARNING_NOTCL] Some or all pads have no solder "
|
|
|
|
|
- "due of inadequate nozzle diameters...")
|
|
|
|
|
|
|
+ app_obj.inform.emit(_("[WARNING_NOTCL] Some or all pads have no solder "
|
|
|
|
|
+ "due of inadequate nozzle diameters..."))
|
|
|
return 'fail'
|
|
return 'fail'
|
|
|
|
|
|
|
|
if use_thread:
|
|
if use_thread:
|
|
@@ -1108,7 +1108,7 @@ class SolderPaste(FlatCAMTool):
|
|
|
return
|
|
return
|
|
|
proc.done()
|
|
proc.done()
|
|
|
|
|
|
|
|
- self.app.inform.emit("Generating Solder Paste dispensing geometry...")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("Generating Solder Paste dispensing geometry..."))
|
|
|
# Promise object with the new name
|
|
# Promise object with the new name
|
|
|
self.app.collection.promise(name)
|
|
self.app.collection.promise(name)
|
|
|
|
|
|
|
@@ -1128,11 +1128,11 @@ class SolderPaste(FlatCAMTool):
|
|
|
obj = self.app.collection.get_by_name(name)
|
|
obj = self.app.collection.get_by_name(name)
|
|
|
|
|
|
|
|
if name == '':
|
|
if name == '':
|
|
|
- self.app.inform.emit("[WARNING_NOTCL]There is no Geometry object available.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] There is no Geometry object available."))
|
|
|
return 'fail'
|
|
return 'fail'
|
|
|
|
|
|
|
|
if obj.special_group != 'solder_paste_tool':
|
|
if obj.special_group != 'solder_paste_tool':
|
|
|
- self.app.inform.emit("[WARNING_NOTCL]This Geometry can't be processed. NOT a solder_paste_tool geometry.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] This Geometry can't be processed. NOT a solder_paste_tool geometry."))
|
|
|
return 'fail'
|
|
return 'fail'
|
|
|
|
|
|
|
|
a = 0
|
|
a = 0
|
|
@@ -1140,7 +1140,7 @@ class SolderPaste(FlatCAMTool):
|
|
|
if obj.tools[tooluid_key]['solid_geometry'] is None:
|
|
if obj.tools[tooluid_key]['solid_geometry'] is None:
|
|
|
a += 1
|
|
a += 1
|
|
|
if a == len(obj.tools):
|
|
if a == len(obj.tools):
|
|
|
- self.app.inform.emit('[ERROR_NOTCL]Cancelled. Empty file, it has no geometry...')
|
|
|
|
|
|
|
+ self.app.inform.emit(_('[ERROR_NOTCL] Cancelled. Empty file, it has no geometry...'))
|
|
|
return 'fail'
|
|
return 'fail'
|
|
|
|
|
|
|
|
# use the name of the first tool selected in self.geo_tools_table which has the diameter passed as tool_dia
|
|
# use the name of the first tool selected in self.geo_tools_table which has the diameter passed as tool_dia
|
|
@@ -1237,7 +1237,7 @@ class SolderPaste(FlatCAMTool):
|
|
|
def job_thread(app_obj):
|
|
def job_thread(app_obj):
|
|
|
with self.app.proc_container.new("Generating CNC Code"):
|
|
with self.app.proc_container.new("Generating CNC Code"):
|
|
|
if app_obj.new_object("cncjob", name, job_init) != 'fail':
|
|
if app_obj.new_object("cncjob", name, job_init) != 'fail':
|
|
|
- app_obj.inform.emit("[success]ToolSolderPaste CNCjob created: %s" % name)
|
|
|
|
|
|
|
+ app_obj.inform.emit(_("[success] ToolSolderPaste CNCjob created: %s") % name)
|
|
|
app_obj.progress.emit(100)
|
|
app_obj.progress.emit(100)
|
|
|
|
|
|
|
|
# Create a promise with the name
|
|
# Create a promise with the name
|
|
@@ -1269,12 +1269,12 @@ class SolderPaste(FlatCAMTool):
|
|
|
|
|
|
|
|
try:
|
|
try:
|
|
|
if obj.special_group != 'solder_paste_tool':
|
|
if obj.special_group != 'solder_paste_tool':
|
|
|
- self.app.inform.emit("[WARNING_NOTCL]This CNCJob object can't be processed. "
|
|
|
|
|
- "NOT a solder_paste_tool CNCJob object.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] This CNCJob object can't be processed. "
|
|
|
|
|
+ "NOT a solder_paste_tool CNCJob object."))
|
|
|
return
|
|
return
|
|
|
except AttributeError:
|
|
except AttributeError:
|
|
|
- self.app.inform.emit("[WARNING_NOTCL]This CNCJob object can't be processed. "
|
|
|
|
|
- "NOT a solder_paste_tool CNCJob object.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] This CNCJob object can't be processed. "
|
|
|
|
|
+ "NOT a solder_paste_tool CNCJob object."))
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
gcode = '(G-CODE GENERATED BY FLATCAM v%s - www.flatcam.org - Version Date: %s)\n' % \
|
|
gcode = '(G-CODE GENERATED BY FLATCAM v%s - www.flatcam.org - Version Date: %s)\n' % \
|
|
@@ -1296,7 +1296,7 @@ class SolderPaste(FlatCAMTool):
|
|
|
try:
|
|
try:
|
|
|
lines = StringIO(gcode)
|
|
lines = StringIO(gcode)
|
|
|
except:
|
|
except:
|
|
|
- self.app.inform.emit("[ERROR_NOTCL] No Gcode in the object...")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[ERROR_NOTCL] No Gcode in the object..."))
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
try:
|
|
try:
|
|
@@ -1305,7 +1305,7 @@ class SolderPaste(FlatCAMTool):
|
|
|
self.app.ui.code_editor.append(proc_line)
|
|
self.app.ui.code_editor.append(proc_line)
|
|
|
except Exception as e:
|
|
except Exception as e:
|
|
|
log.debug('ToolSolderPaste.on_view_gcode() -->%s' % str(e))
|
|
log.debug('ToolSolderPaste.on_view_gcode() -->%s' % str(e))
|
|
|
- self.app.inform.emit('[ERROR]ToolSolderPaste.on_view_gcode() -->%s' % str(e))
|
|
|
|
|
|
|
+ self.app.inform.emit(_('[ERROR] ToolSolderPaste.on_view_gcode() -->%s') % str(e))
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
self.app.ui.code_editor.moveCursor(QtGui.QTextCursor.Start)
|
|
self.app.ui.code_editor.moveCursor(QtGui.QTextCursor.Start)
|
|
@@ -1324,8 +1324,8 @@ class SolderPaste(FlatCAMTool):
|
|
|
obj = self.app.collection.get_by_name(name)
|
|
obj = self.app.collection.get_by_name(name)
|
|
|
|
|
|
|
|
if obj.special_group != 'solder_paste_tool':
|
|
if obj.special_group != 'solder_paste_tool':
|
|
|
- self.app.inform.emit("[WARNING_NOTCL]This CNCJob object can't be processed. "
|
|
|
|
|
- "NOT a solder_paste_tool CNCJob object.")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] This CNCJob object can't be processed. "
|
|
|
|
|
+ "NOT a solder_paste_tool CNCJob object."))
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
_filter_ = "G-Code Files (*.nc);;G-Code Files (*.txt);;G-Code Files (*.tap);;G-Code Files (*.cnc);;" \
|
|
_filter_ = "G-Code Files (*.nc);;G-Code Files (*.txt);;G-Code Files (*.tap);;G-Code Files (*.cnc);;" \
|
|
@@ -1342,7 +1342,7 @@ class SolderPaste(FlatCAMTool):
|
|
|
filename, _ = QtWidgets.QFileDialog.getSaveFileName(caption="Export Machine Code ...", filter=_filter_)
|
|
filename, _ = QtWidgets.QFileDialog.getSaveFileName(caption="Export Machine Code ...", filter=_filter_)
|
|
|
|
|
|
|
|
if filename == '':
|
|
if filename == '':
|
|
|
- self.app.inform.emit("[WARNING_NOTCL]Export Machine Code cancelled ...")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] Export Machine Code cancelled ..."))
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
gcode = '(G-CODE GENERATED BY FLATCAM v%s - www.flatcam.org - Version Date: %s)\n' % \
|
|
gcode = '(G-CODE GENERATED BY FLATCAM v%s - www.flatcam.org - Version Date: %s)\n' % \
|
|
@@ -1368,11 +1368,11 @@ class SolderPaste(FlatCAMTool):
|
|
|
for line in lines:
|
|
for line in lines:
|
|
|
f.write(line)
|
|
f.write(line)
|
|
|
except FileNotFoundError:
|
|
except FileNotFoundError:
|
|
|
- self.app.inform.emit("[WARNING_NOTCL] No such file or directory")
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[WARNING_NOTCL] No such file or directory"))
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
self.app.file_saved.emit("gcode", filename)
|
|
self.app.file_saved.emit("gcode", filename)
|
|
|
- self.app.inform.emit("[success] Solder paste dispenser GCode file saved to: %s" % filename)
|
|
|
|
|
|
|
+ self.app.inform.emit(_("[success] Solder paste dispenser GCode file saved to: %s") % filename)
|
|
|
|
|
|
|
|
def reset_fields(self):
|
|
def reset_fields(self):
|
|
|
self.obj_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex()))
|
|
self.obj_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex()))
|