- fixed an issue in Isolation Tool when running the app in Basic mode;
- fixed Paint, Isolation and NCC Tools such the translated comboboxes values are now stored as indexes instead of translated words as before - in Geometry Object made sure that the widgets in the Tool Table gets populated regardless of encountering non-recognizable translated values - in Paint Tool found a small bug and fixed it
This commit is contained in:
parent
735a20242a
commit
31a84bb4cc
|
@ -29,6 +29,10 @@ CHANGELOG for FlatCAM beta
|
|||
- fix in Tool Subtract where there was a typo
|
||||
- upgraded the punch Gerber Tool
|
||||
- updated the Turkish translation strings (by Mehmet Kaya)
|
||||
- fixed an issue in Isolation Tool when running the app in Basic mode;
|
||||
- fixed Paint, Isolation and NCC Tools such the translated comboboxes values are now stored as indexes instead of translated words as before
|
||||
- in Geometry Object made sure that the widgets in the Tool Table gets populated regardless of encountering non-recognizable translated values
|
||||
- in Paint Tool found a small bug and fixed it
|
||||
|
||||
27.10.2020
|
||||
|
||||
|
|
|
@ -2160,6 +2160,17 @@ class FCComboBox(QtWidgets.QComboBox):
|
|||
self.setCurrentIndex(first)
|
||||
|
||||
|
||||
class FCComboBox2(FCComboBox):
|
||||
def __init__(self, parent=None, callback=None):
|
||||
super(FCComboBox2, self).__init__(parent=parent, callback=callback)
|
||||
|
||||
def get_value(self):
|
||||
return int(self.currentIndex())
|
||||
|
||||
def set_value(self, val):
|
||||
self.setCurrentIndex(val)
|
||||
|
||||
|
||||
class FCInputDialog(QtWidgets.QInputDialog):
|
||||
def __init__(self, parent=None, ok=False, val=None, title=None, text=None, min=None, max=None, decimals=None,
|
||||
init_val=None):
|
||||
|
|
|
@ -1714,7 +1714,7 @@ class GeometryObjectUI(ObjectUI):
|
|||
"- Line-based: Parallel lines.")
|
||||
)
|
||||
|
||||
self.polish_method_combo = FCComboBox()
|
||||
self.polish_method_combo = FCComboBox2()
|
||||
self.polish_method_combo.addItems(
|
||||
[_("Standard"), _("Seed"), _("Lines")]
|
||||
)
|
||||
|
|
|
@ -2,7 +2,7 @@ from PyQt5 import QtWidgets
|
|||
from PyQt5.QtCore import QSettings
|
||||
|
||||
from appGUI.GUIElements import FCDoubleSpinner, FCCheckBox, RadioSet, FCLabel, NumericalEvalTupleEntry, \
|
||||
NumericalEvalEntry, FCComboBox
|
||||
NumericalEvalEntry, FCComboBox2
|
||||
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||
|
||||
import gettext
|
||||
|
@ -338,7 +338,7 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI):
|
|||
"- Line-based: Parallel lines.")
|
||||
)
|
||||
|
||||
self.polish_method_combo = FCComboBox()
|
||||
self.polish_method_combo = FCComboBox2()
|
||||
self.polish_method_combo.addItems(
|
||||
[_("Standard"), _("Seed"), _("Lines")]
|
||||
)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from PyQt5 import QtWidgets
|
||||
from PyQt5.QtCore import QSettings
|
||||
|
||||
from appGUI.GUIElements import RadioSet, FCDoubleSpinner, FCComboBox, FCCheckBox, FCSpinner, NumericalEvalTupleEntry
|
||||
from appGUI.GUIElements import RadioSet, FCDoubleSpinner, FCComboBox2, FCCheckBox, FCSpinner, NumericalEvalTupleEntry
|
||||
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||
|
||||
import gettext
|
||||
|
@ -290,7 +290,7 @@ class ToolsISOPrefGroupUI(OptionsGroupUI):
|
|||
"- 'Polygon Selection' -> Isolate a selection of polygons.\n"
|
||||
"- 'Reference Object' - will process the area specified by another object.")
|
||||
)
|
||||
self.select_combo = FCComboBox()
|
||||
self.select_combo = FCComboBox2()
|
||||
self.select_combo.addItems(
|
||||
[_("All"), _("Area Selection"), _("Polygon Selection"), _("Reference Object")]
|
||||
)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from PyQt5 import QtWidgets
|
||||
from PyQt5.QtCore import QSettings
|
||||
|
||||
from appGUI.GUIElements import RadioSet, FCDoubleSpinner, FCComboBox, FCCheckBox, NumericalEvalTupleEntry
|
||||
from appGUI.GUIElements import RadioSet, FCDoubleSpinner, FCCheckBox, NumericalEvalTupleEntry, FCComboBox2
|
||||
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||
|
||||
import gettext
|
||||
|
@ -225,7 +225,7 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
|
|||
# {"label": _("Seed-based"), "value": "seed"},
|
||||
# {"label": _("Straight lines"), "value": "lines"}
|
||||
# ], orientation='vertical', stretch=False)
|
||||
self.ncc_method_combo = FCComboBox()
|
||||
self.ncc_method_combo = FCComboBox2()
|
||||
self.ncc_method_combo.addItems(
|
||||
[_("Standard"), _("Seed"), _("Lines"), _("Combo")]
|
||||
)
|
||||
|
@ -304,7 +304,7 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI):
|
|||
# {'label': _('Reference Object'), 'value': 'box'}],
|
||||
# orientation='vertical',
|
||||
# stretch=None)
|
||||
self.select_combo = FCComboBox()
|
||||
self.select_combo = FCComboBox2()
|
||||
self.select_combo.addItems(
|
||||
[_("Itself"), _("Area Selection"), _("Reference Object")]
|
||||
)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from PyQt5 import QtWidgets
|
||||
from PyQt5.QtCore import QSettings
|
||||
|
||||
from appGUI.GUIElements import RadioSet, FCDoubleSpinner, FCComboBox, FCCheckBox, NumericalEvalTupleEntry
|
||||
from appGUI.GUIElements import RadioSet, FCDoubleSpinner, FCComboBox2, FCCheckBox, NumericalEvalTupleEntry
|
||||
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||
|
||||
import gettext
|
||||
|
@ -210,7 +210,7 @@ class ToolsPaintPrefGroupUI(OptionsGroupUI):
|
|||
# {"label": _("Seed-based"), "value": "seed"},
|
||||
# {"label": _("Straight lines"), "value": "lines"}
|
||||
# ], orientation='vertical', stretch=False)
|
||||
self.paintmethod_combo = FCComboBox()
|
||||
self.paintmethod_combo = FCComboBox2()
|
||||
self.paintmethod_combo.addItems(
|
||||
[_("Standard"), _("Seed"), _("Lines"), _("Laser_lines"), _("Combo")]
|
||||
)
|
||||
|
@ -273,9 +273,9 @@ class ToolsPaintPrefGroupUI(OptionsGroupUI):
|
|||
# orientation='vertical',
|
||||
# stretch=None
|
||||
# )
|
||||
self.selectmethod_combo = FCComboBox()
|
||||
self.selectmethod_combo = FCComboBox2()
|
||||
self.selectmethod_combo.addItems(
|
||||
[_("Polygon Selection"), _("Area Selection"), _("All"), _("Reference Object")]
|
||||
[_("All"), _("Polygon Selection"), _("Area Selection"), _("Reference Object")]
|
||||
)
|
||||
|
||||
grid0.addWidget(selectlabel, 15, 0)
|
||||
|
|
|
@ -205,7 +205,11 @@ class GeometryObject(FlatCAMObj, Geometry):
|
|||
for item in self.offset_item_options:
|
||||
offset_item.addItem(item)
|
||||
idx = offset_item.findText(tooluid_value['offset'])
|
||||
offset_item.setCurrentIndex(idx)
|
||||
# protection against having this translated or loading a project with translated values
|
||||
if idx == -1:
|
||||
offset_item.setCurrentIndex(0)
|
||||
else:
|
||||
offset_item.setCurrentIndex(idx)
|
||||
self.ui.geo_tools_table.setCellWidget(row_idx, 2, offset_item)
|
||||
|
||||
# -------------------- TYPE ------------------------------------- #
|
||||
|
@ -213,7 +217,11 @@ class GeometryObject(FlatCAMObj, Geometry):
|
|||
for item in self.type_item_options:
|
||||
type_item.addItem(item)
|
||||
idx = type_item.findText(tooluid_value['type'])
|
||||
type_item.setCurrentIndex(idx)
|
||||
# protection against having this translated or loading a project with translated values
|
||||
if idx == -1:
|
||||
type_item.setCurrentIndex(0)
|
||||
else:
|
||||
type_item.setCurrentIndex(idx)
|
||||
self.ui.geo_tools_table.setCellWidget(row_idx, 3, type_item)
|
||||
|
||||
# -------------------- TOOL TYPE ------------------------------------- #
|
||||
|
@ -221,7 +229,11 @@ class GeometryObject(FlatCAMObj, Geometry):
|
|||
for item in self.tool_type_item_options:
|
||||
tool_type_item.addItem(item)
|
||||
idx = tool_type_item.findText(tooluid_value['tool_type'])
|
||||
tool_type_item.setCurrentIndex(idx)
|
||||
# protection against having this translated or loading a project with translated values
|
||||
if idx == -1:
|
||||
tool_type_item.setCurrentIndex(0)
|
||||
else:
|
||||
tool_type_item.setCurrentIndex(idx)
|
||||
self.ui.geo_tools_table.setCellWidget(row_idx, 4, tool_type_item)
|
||||
|
||||
# -------------------- TOOL UID ------------------------------------- #
|
||||
|
@ -574,7 +586,6 @@ class GeometryObject(FlatCAMObj, Geometry):
|
|||
self.ui.addtool_entry_lbl.hide()
|
||||
self.ui.addtool_entry.hide()
|
||||
self.ui.addtool_btn.hide()
|
||||
self.ui.copytool_btn.hide()
|
||||
self.ui.deltool_btn.hide()
|
||||
# self.ui.endz_label.hide()
|
||||
# self.ui.endz_entry.hide()
|
||||
|
@ -2446,7 +2457,7 @@ class GeometryObject(FlatCAMObj, Geometry):
|
|||
|
||||
# Type(cpoly) == FlatCAMRTreeStorage | None
|
||||
cpoly = None
|
||||
if paint_method == _("Standard"):
|
||||
if paint_method == 0: # Standard
|
||||
cpoly = self.clear_polygon(bbox,
|
||||
tooldia=tooldia,
|
||||
steps_per_circle=obj.circle_steps,
|
||||
|
@ -2454,7 +2465,7 @@ class GeometryObject(FlatCAMObj, Geometry):
|
|||
contour=True,
|
||||
connect=True,
|
||||
prog_plot=False)
|
||||
elif paint_method == _("Seed"):
|
||||
elif paint_method == 1: # Seed
|
||||
cpoly = self.clear_polygon2(bbox,
|
||||
tooldia=tooldia,
|
||||
steps_per_circle=obj.circle_steps,
|
||||
|
@ -2462,7 +2473,7 @@ class GeometryObject(FlatCAMObj, Geometry):
|
|||
contour=True,
|
||||
connect=True,
|
||||
prog_plot=False)
|
||||
elif paint_method == _("Lines"):
|
||||
elif paint_method == 2: # Lines
|
||||
cpoly = self.clear_polygon3(bbox,
|
||||
tooldia=tooldia,
|
||||
steps_per_circle=obj.circle_steps,
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
from PyQt5 import QtWidgets, QtCore, QtGui
|
||||
|
||||
from appTool import AppTool
|
||||
from appGUI.GUIElements import FCCheckBox, FCDoubleSpinner, RadioSet, FCTable, FCInputDialog, FCButton, \
|
||||
FCComboBox, OptionalInputSection, FCSpinner, FCLabel, FCInputDialogSpinnerButton
|
||||
from appGUI.GUIElements import FCCheckBox, FCDoubleSpinner, RadioSet, FCTable, FCButton, \
|
||||
FCComboBox, OptionalInputSection, FCSpinner, FCLabel, FCInputDialogSpinnerButton, FCComboBox2
|
||||
from appParsers.ParseGerber import Gerber
|
||||
from camlib import grace
|
||||
|
||||
|
@ -813,14 +813,12 @@ class ToolIsolation(AppTool, Gerber):
|
|||
obj_type = self.ui.reference_combo_type.currentIndex()
|
||||
self.ui.reference_combo.setRootModelIndex(self.app.collection.index(obj_type, 0, QtCore.QModelIndex()))
|
||||
self.ui.reference_combo.setCurrentIndex(0)
|
||||
self.ui.reference_combo.obj_type = {
|
||||
_("Gerber"): "Gerber", _("Excellon"): "Excellon", _("Geometry"): "Geometry"
|
||||
}[self.ui.reference_combo_type.get_value()]
|
||||
self.ui.reference_combo.obj_type = {0: "Gerber", 1: "Excellon", 2: "Geometry"}[obj_type]
|
||||
|
||||
def on_toggle_reference(self):
|
||||
val = self.ui.select_combo.get_value()
|
||||
|
||||
if val == _("All"):
|
||||
if val == 0: # ALl
|
||||
self.ui.reference_combo.hide()
|
||||
self.ui.reference_combo_label.hide()
|
||||
self.ui.reference_combo_type.hide()
|
||||
|
@ -831,7 +829,7 @@ class ToolIsolation(AppTool, Gerber):
|
|||
|
||||
# disable rest-machining for area painting
|
||||
self.ui.rest_cb.setDisabled(False)
|
||||
elif val == _("Area Selection"):
|
||||
elif val == 1: # Area Selection
|
||||
self.ui.reference_combo.hide()
|
||||
self.ui.reference_combo_label.hide()
|
||||
self.ui.reference_combo_type.hide()
|
||||
|
@ -843,7 +841,7 @@ class ToolIsolation(AppTool, Gerber):
|
|||
# disable rest-machining for area isolation
|
||||
self.ui.rest_cb.set_value(False)
|
||||
self.ui.rest_cb.setDisabled(True)
|
||||
elif val == _("Polygon Selection"):
|
||||
elif val == 2: # Polygon Selection
|
||||
self.ui.reference_combo.hide()
|
||||
self.ui.reference_combo_label.hide()
|
||||
self.ui.reference_combo_type.hide()
|
||||
|
@ -851,7 +849,7 @@ class ToolIsolation(AppTool, Gerber):
|
|||
self.ui.area_shape_label.hide()
|
||||
self.ui.area_shape_radio.hide()
|
||||
self.ui.poly_int_cb.show()
|
||||
else:
|
||||
else: # Reference Object
|
||||
self.ui.reference_combo.show()
|
||||
self.ui.reference_combo_label.show()
|
||||
self.ui.reference_combo_type.show()
|
||||
|
@ -1445,9 +1443,9 @@ class ToolIsolation(AppTool, Gerber):
|
|||
"""
|
||||
selection = self.ui.select_combo.get_value()
|
||||
|
||||
if selection == _("All"):
|
||||
if selection == 0: # ALL
|
||||
self.isolate(isolated_obj=isolated_obj)
|
||||
elif selection == _("Area Selection"):
|
||||
elif selection == 1: # Area Selection
|
||||
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Click the start point of the area."))
|
||||
|
||||
if self.app.is_legacy is False:
|
||||
|
@ -1466,7 +1464,7 @@ class ToolIsolation(AppTool, Gerber):
|
|||
# disconnect flags
|
||||
self.area_sel_disconnect_flag = True
|
||||
|
||||
elif selection == _("Polygon Selection"):
|
||||
elif selection == 2: # Polygon Selection
|
||||
# disengage the grid snapping since it may be hard to click on polygons with grid snapping on
|
||||
if self.app.ui.grid_snap_btn.isChecked():
|
||||
self.grid_status_memory = True
|
||||
|
@ -1487,7 +1485,7 @@ class ToolIsolation(AppTool, Gerber):
|
|||
# disconnect flags
|
||||
self.poly_sel_disconnect_flag = True
|
||||
|
||||
elif selection == _("Reference Object"):
|
||||
elif selection == 3: # Reference Object
|
||||
ref_obj = self.app.collection.get_by_name(self.ui.reference_combo.get_value())
|
||||
ref_geo = unary_union(ref_obj.solid_geometry)
|
||||
use_geo = unary_union(isolated_obj.solid_geometry).difference(ref_geo)
|
||||
|
@ -3388,7 +3386,7 @@ class IsoUI:
|
|||
"- 'Polygon Selection' -> Isolate a selection of polygons.\n"
|
||||
"- 'Reference Object' - will process the area specified by another object.")
|
||||
)
|
||||
self.select_combo = FCComboBox()
|
||||
self.select_combo = FCComboBox2()
|
||||
self.select_combo.addItems(
|
||||
[_("All"), _("Area Selection"), _("Polygon Selection"), _("Reference Object")]
|
||||
)
|
||||
|
@ -3402,7 +3400,7 @@ class IsoUI:
|
|||
_("The type of FlatCAM object to be used as non copper clearing reference.\n"
|
||||
"It can be Gerber, Excellon or Geometry.")
|
||||
)
|
||||
self.reference_combo_type = FCComboBox()
|
||||
self.reference_combo_type = FCComboBox2()
|
||||
self.reference_combo_type.addItems([_("Gerber"), _("Excellon"), _("Geometry")])
|
||||
|
||||
self.grid3.addWidget(self.reference_combo_type_label, 36, 0)
|
||||
|
|
|
@ -9,7 +9,7 @@ from PyQt5 import QtWidgets, QtCore, QtGui
|
|||
|
||||
from appTool import AppTool
|
||||
from appGUI.GUIElements import FCCheckBox, FCDoubleSpinner, RadioSet, FCTable, FCInputDialog, FCButton,\
|
||||
FCComboBox, OptionalInputSection, FCLabel, FCInputDialogSpinnerButton
|
||||
FCComboBox, OptionalInputSection, FCLabel, FCInputDialogSpinnerButton, FCComboBox2
|
||||
from appParsers.ParseGerber import Gerber
|
||||
|
||||
from camlib import grace
|
||||
|
@ -815,9 +815,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
obj_type = self.ui.reference_combo_type.currentIndex()
|
||||
self.ui.reference_combo.setRootModelIndex(self.app.collection.index(obj_type, 0, QtCore.QModelIndex()))
|
||||
self.ui.reference_combo.setCurrentIndex(0)
|
||||
self.ui.reference_combo.obj_type = {
|
||||
_("Gerber"): "Gerber", _("Excellon"): "Excellon", _("Geometry"): "Geometry"
|
||||
}[self.ui.reference_combo_type.get_value()]
|
||||
self.ui.reference_combo.obj_type = {0: "Gerber", 1: "Excellon", 2: "Geometry"}[obj_type]
|
||||
|
||||
def on_order_changed(self, order):
|
||||
if order != 'no':
|
||||
|
@ -1362,7 +1360,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
self.o_name = '%s_ncc' % self.obj_name
|
||||
|
||||
self.select_method = self.ui.select_combo.get_value()
|
||||
if self.select_method == _('Itself'):
|
||||
if self.select_method == 0: # Itself
|
||||
self.bound_obj_name = self.ui.object_combo.currentText()
|
||||
# Get source object.
|
||||
try:
|
||||
|
@ -1376,7 +1374,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
isotooldia=self.iso_dia_list,
|
||||
outname=self.o_name,
|
||||
tools_storage=self.ncc_tools)
|
||||
elif self.select_method == _("Area Selection"):
|
||||
elif self.select_method == 1: # Area Selection
|
||||
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Click the start point of the area."))
|
||||
|
||||
if self.app.is_legacy is False:
|
||||
|
@ -1395,7 +1393,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
# disconnect flags
|
||||
self.area_sel_disconnect_flag = True
|
||||
|
||||
elif self.select_method == _("Reference Object"):
|
||||
elif self.select_method == 2: # Reference Object
|
||||
self.bound_obj_name = self.ui.reference_combo.currentText()
|
||||
# Get source object.
|
||||
try:
|
||||
|
@ -1976,7 +1974,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
|
||||
cp = None
|
||||
|
||||
if ncc_method == _("Standard"):
|
||||
if ncc_method == 0: # standard
|
||||
try:
|
||||
cp = self.clear_polygon(pol, tooldia,
|
||||
steps_per_circle=self.circle_steps,
|
||||
|
@ -1987,7 +1985,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
return "fail"
|
||||
except Exception as ee:
|
||||
log.debug("NonCopperClear.clear_polygon_worker() Standard --> %s" % str(ee))
|
||||
elif ncc_method == _("Seed"):
|
||||
elif ncc_method == 1: # seed
|
||||
try:
|
||||
cp = self.clear_polygon2(pol, tooldia,
|
||||
steps_per_circle=self.circle_steps,
|
||||
|
@ -1998,7 +1996,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
return "fail"
|
||||
except Exception as ee:
|
||||
log.debug("NonCopperClear.clear_polygon_worker() Seed --> %s" % str(ee))
|
||||
elif ncc_method == _("Lines"):
|
||||
elif ncc_method == 2: # Lines
|
||||
try:
|
||||
cp = self.clear_polygon3(pol, tooldia,
|
||||
steps_per_circle=self.circle_steps,
|
||||
|
@ -2009,7 +2007,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
return "fail"
|
||||
except Exception as ee:
|
||||
log.debug("NonCopperClear.clear_polygon_worker() Lines --> %s" % str(ee))
|
||||
elif ncc_method == _("Combo"):
|
||||
elif ncc_method == 3: # Combo
|
||||
try:
|
||||
self.app.inform.emit(_("Clearing the polygon with the method: lines."))
|
||||
cp = self.clear_polygon3(pol, tooldia,
|
||||
|
@ -2135,7 +2133,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
|
||||
app_obj.poly_not_cleared = False # flag for polygons not cleared
|
||||
|
||||
if ncc_select == _("Reference Object"):
|
||||
if ncc_select == 2: # Reference Object
|
||||
bbox_geo, bbox_kind = self.calculate_bounding_box(
|
||||
ncc_obj=ncc_obj, box_obj=sel_obj, ncc_select=ncc_select)
|
||||
else:
|
||||
|
@ -2263,11 +2261,11 @@ class NonCopperClear(AppTool, Gerber):
|
|||
|
||||
# check if there is a geometry at all in the cleared geometry
|
||||
if cleared_geo:
|
||||
formatted_tool = self.app.dec_format(tool, self.decimals)
|
||||
# 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():
|
||||
if float('%.*f' % (self.decimals, v['tooldia'])) == float('%.*f' % (self.decimals,
|
||||
tool)):
|
||||
if self.app.dec_format(v['tooldia'], self.decimals) == formatted_tool:
|
||||
current_uid = int(k)
|
||||
|
||||
# add the solid_geometry to the current too in self.paint_tools dictionary
|
||||
|
@ -2369,7 +2367,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
# repurposed flag for final object, geo_obj. True if it has any solid_geometry, False if not.
|
||||
app_obj.poly_not_cleared = True
|
||||
|
||||
if ncc_select == _("Reference Object"):
|
||||
if ncc_select == 2: # Reference Object
|
||||
env_obj, box_obj_kind = self.calculate_bounding_box(
|
||||
ncc_obj=ncc_obj, box_obj=sel_obj, ncc_select=ncc_select)
|
||||
else:
|
||||
|
@ -2720,7 +2718,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
self.app.inform.emit(_("NCC Tool. Preparing non-copper polygons."))
|
||||
|
||||
try:
|
||||
if sel_obj is None or sel_obj == _('Itself'):
|
||||
if sel_obj is None or sel_obj == 0: # sel_obj == 'itself'
|
||||
ncc_sel_obj = ncc_obj
|
||||
else:
|
||||
ncc_sel_obj = sel_obj
|
||||
|
@ -2729,7 +2727,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
return 'fail'
|
||||
|
||||
bounding_box = None
|
||||
if ncc_select == _('Itself'):
|
||||
if ncc_select == 0: # itself
|
||||
geo_n = ncc_sel_obj.solid_geometry
|
||||
|
||||
try:
|
||||
|
@ -2748,7 +2746,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
self.app.inform.emit('[ERROR_NOTCL] %s' % _("No object available."))
|
||||
return 'fail'
|
||||
|
||||
elif ncc_select == 'area':
|
||||
elif ncc_select == 1: # area
|
||||
geo_n = unary_union(self.sel_rect)
|
||||
try:
|
||||
__ = iter(geo_n)
|
||||
|
@ -2765,7 +2763,7 @@ class NonCopperClear(AppTool, Gerber):
|
|||
|
||||
bounding_box = unary_union(geo_buff_list)
|
||||
|
||||
elif ncc_select == _("Reference Object"):
|
||||
elif ncc_select == 2: # Reference Object
|
||||
geo_n = ncc_sel_obj.solid_geometry
|
||||
if ncc_sel_obj.kind == 'geometry':
|
||||
try:
|
||||
|
@ -3056,13 +3054,13 @@ class NonCopperClear(AppTool, Gerber):
|
|||
try:
|
||||
for pol in p:
|
||||
if pol is not None and isinstance(pol, Polygon):
|
||||
if ncc_method == 'standard':
|
||||
if ncc_method == 0: # standard
|
||||
cp = self.clear_polygon(pol, tool,
|
||||
self.circle_steps,
|
||||
overlap=overlap, contour=contour,
|
||||
connect=connect,
|
||||
prog_plot=False)
|
||||
elif ncc_method == 'seed':
|
||||
elif ncc_method == 1: # seed
|
||||
cp = self.clear_polygon2(pol, tool,
|
||||
self.circle_steps,
|
||||
overlap=overlap, contour=contour,
|
||||
|
@ -3085,11 +3083,11 @@ class NonCopperClear(AppTool, Gerber):
|
|||
"It is: %s" % str(type(pol)))
|
||||
except TypeError:
|
||||
if isinstance(p, Polygon):
|
||||
if ncc_method == 'standard':
|
||||
if ncc_method == 0: # standard
|
||||
cp = self.clear_polygon(p, tool, self.circle_steps,
|
||||
overlap=overlap, contour=contour, connect=connect,
|
||||
prog_plot=False)
|
||||
elif ncc_method == 'seed':
|
||||
elif ncc_method == 1: # seed
|
||||
cp = self.clear_polygon2(p, tool, self.circle_steps,
|
||||
overlap=overlap, contour=contour, connect=connect,
|
||||
prog_plot=False)
|
||||
|
@ -3452,12 +3450,12 @@ class NonCopperClear(AppTool, Gerber):
|
|||
|
||||
if isinstance(p, Polygon):
|
||||
try:
|
||||
if ncc_method == 'standard':
|
||||
if ncc_method == 0: # standard
|
||||
cp = self.clear_polygon(p, tool_used,
|
||||
self.circle_steps,
|
||||
overlap=overlap, contour=contour, connect=connect,
|
||||
prog_plot=False)
|
||||
elif ncc_method == 'seed':
|
||||
elif ncc_method == 1: # seed
|
||||
cp = self.clear_polygon2(p, tool_used,
|
||||
self.circle_steps,
|
||||
overlap=overlap, contour=contour, connect=connect,
|
||||
|
@ -3481,13 +3479,13 @@ class NonCopperClear(AppTool, Gerber):
|
|||
QtWidgets.QApplication.processEvents()
|
||||
|
||||
try:
|
||||
if ncc_method == 'standard':
|
||||
if ncc_method == 0: # 'standard'
|
||||
cp = self.clear_polygon(poly_p, tool_used,
|
||||
self.circle_steps,
|
||||
overlap=overlap, contour=contour,
|
||||
connect=connect,
|
||||
prog_plot=False)
|
||||
elif ncc_method == 'seed':
|
||||
elif ncc_method == 1: # 'seed'
|
||||
cp = self.clear_polygon2(poly_p, tool_used,
|
||||
self.circle_steps,
|
||||
overlap=overlap, contour=contour,
|
||||
|
@ -4138,7 +4136,7 @@ class NccUI:
|
|||
# {"label": _("Straight lines"), "value": "lines"}
|
||||
# ], orientation='vertical', stretch=False)
|
||||
|
||||
self.ncc_method_combo = FCComboBox()
|
||||
self.ncc_method_combo = FCComboBox2()
|
||||
self.ncc_method_combo.addItems(
|
||||
[_("Standard"), _("Seed"), _("Lines"), _("Combo")]
|
||||
)
|
||||
|
@ -4305,13 +4303,8 @@ class NccUI:
|
|||
|
||||
self.rest_ois_ncc_offset = OptionalInputSection(self.rest_ncc_choice_offset_cb, [self.rest_ncc_offset_spinner])
|
||||
|
||||
# ## Reference
|
||||
# self.select_radio = RadioSet([
|
||||
# {'label': _('Itself'), 'value': 'itself'},
|
||||
# {"label": _("Area Selection"), "value": "area"},
|
||||
# {'label': _("Reference Object"), 'value': 'box'}
|
||||
# ], orientation='vertical', stretch=False)
|
||||
self.select_combo = FCComboBox()
|
||||
# Reference Selection Combo
|
||||
self.select_combo = FCComboBox2()
|
||||
self.select_combo.addItems(
|
||||
[_("Itself"), _("Area Selection"), _("Reference Object")]
|
||||
)
|
||||
|
@ -4335,7 +4328,7 @@ class NccUI:
|
|||
_("The type of FlatCAM object to be used as non copper clearing reference.\n"
|
||||
"It can be Gerber, Excellon or Geometry.")
|
||||
)
|
||||
self.reference_combo_type = FCComboBox()
|
||||
self.reference_combo_type = FCComboBox2()
|
||||
self.reference_combo_type.addItems([_("Gerber"), _("Excellon"), _("Geometry")])
|
||||
|
||||
form1.addRow(self.reference_combo_type_label, self.reference_combo_type)
|
||||
|
@ -4449,7 +4442,7 @@ class NccUI:
|
|||
def on_toggle_reference(self):
|
||||
sel_combo = self.select_combo.get_value()
|
||||
|
||||
if sel_combo == _("Itself"):
|
||||
if sel_combo == 0: # itself
|
||||
self.reference_combo.hide()
|
||||
self.reference_combo_label.hide()
|
||||
self.reference_combo_type.hide()
|
||||
|
@ -4459,7 +4452,7 @@ class NccUI:
|
|||
|
||||
# disable rest-machining for area painting
|
||||
self.ncc_rest_cb.setDisabled(False)
|
||||
elif sel_combo == _("Area Selection"):
|
||||
elif sel_combo == 1: # area selection
|
||||
self.reference_combo.hide()
|
||||
self.reference_combo_label.hide()
|
||||
self.reference_combo_type.hide()
|
||||
|
|
|
@ -14,7 +14,7 @@ from copy import deepcopy
|
|||
from appParsers.ParseGerber import Gerber
|
||||
from camlib import Geometry, FlatCAMRTreeStorage, grace
|
||||
from appGUI.GUIElements import FCTable, FCDoubleSpinner, FCCheckBox, FCInputDialog, RadioSet, FCButton, FCComboBox, \
|
||||
FCLabel
|
||||
FCLabel, FCComboBox2
|
||||
|
||||
from shapely.geometry import base, Polygon, MultiPolygon, LinearRing, Point
|
||||
from shapely.ops import unary_union, linemerge
|
||||
|
@ -156,16 +156,14 @@ class ToolPaint(AppTool, Gerber):
|
|||
self.ui.paintmethod_combo.model().item(idx).setEnabled(True)
|
||||
else:
|
||||
self.ui.paintmethod_combo.model().item(idx).setEnabled(False)
|
||||
if self.ui.paintmethod_combo.get_value() == _("Laser_lines"):
|
||||
self.ui.paintmethod_combo.set_value(_("Lines"))
|
||||
if self.ui.paintmethod_combo.get_value() == idx: # if its Laser Lines
|
||||
self.ui.paintmethod_combo.set_value(idx+1)
|
||||
|
||||
def on_reference_combo_changed(self):
|
||||
obj_type = self.ui.reference_type_combo.currentIndex()
|
||||
self.ui.reference_combo.setRootModelIndex(self.app.collection.index(obj_type, 0, QtCore.QModelIndex()))
|
||||
self.ui.reference_combo.setCurrentIndex(0)
|
||||
self.ui.reference_combo.obj_type = {
|
||||
_("Gerber"): "Gerber", _("Excellon"): "Excellon", _("Geometry"): "Geometry"
|
||||
}[self.ui.reference_type_combo.get_value()]
|
||||
self.ui.reference_combo.obj_type = {0: "Gerber", 1: "Excellon", 2: "Geometry"}[obj_type]
|
||||
|
||||
def connect_signals_at_init(self):
|
||||
# #############################################################################
|
||||
|
@ -542,10 +540,20 @@ class ToolPaint(AppTool, Gerber):
|
|||
|
||||
self.ui.on_rest_machining_check(state=self.app.defaults["tools_paint_rest"])
|
||||
|
||||
# if the Paint Method is "Single" disable the tool table context menu
|
||||
if self.default_data["tools_paint_selectmethod"] == "single":
|
||||
# if the Paint Method is "Polygon Selection" disable the tool table context menu
|
||||
if self.default_data["tools_paint_selectmethod"] == 1:
|
||||
self.ui.tools_table.setContextMenuPolicy(Qt.NoContextMenu)
|
||||
|
||||
# make sure that we can't get selection of Laser Lines for Geometry even if it's set in the Preferences
|
||||
# because we don't select the default object type in Preferences but here
|
||||
idx = self.ui.paintmethod_combo.findText(_("Laser_lines"))
|
||||
if self.ui.type_obj_radio.get_value().lower() == 'gerber':
|
||||
self.ui.paintmethod_combo.model().item(idx).setEnabled(True)
|
||||
else:
|
||||
self.ui.paintmethod_combo.model().item(idx).setEnabled(False)
|
||||
if self.ui.paintmethod_combo.get_value() == idx: # if its Laser Lines
|
||||
self.ui.paintmethod_combo.set_value(idx + 1)
|
||||
|
||||
self.ui.tools_table.drag_drop_sig.connect(self.rebuild_ui)
|
||||
|
||||
def rebuild_ui(self):
|
||||
|
@ -986,7 +994,7 @@ class ToolPaint(AppTool, Gerber):
|
|||
|
||||
self.sel_rect = []
|
||||
|
||||
obj_type = self.ui.type_obj_radio.get_value
|
||||
obj_type = self.ui.type_obj_radio.get_value()
|
||||
self.circle_steps = int(self.app.defaults["gerber_circle_steps"]) if obj_type == 'gerber' else \
|
||||
int(self.app.defaults["geometry_circle_steps"])
|
||||
self.obj_name = self.ui.obj_combo.currentText()
|
||||
|
@ -1003,9 +1011,9 @@ class ToolPaint(AppTool, Gerber):
|
|||
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Object not found"), self.paint_obj))
|
||||
return
|
||||
|
||||
# test if the Geometry Object is multigeo and return Fail if True because
|
||||
# for now Paint don't work on MultiGeo
|
||||
if self.paint_obj.kind == 'geometry' and self.paint_obj.multigeo is True:
|
||||
# test if the Geometry Object is multigeo with more than one tool and return Fail if True because
|
||||
# for now Paint don't work on MultiGeo with more than one tools
|
||||
if self.paint_obj.kind == 'geometry' and self.paint_obj.multigeo is True and len(self.paint_obj.tools) > 1:
|
||||
self.app.inform.emit('[ERROR_NOTCL] %s...' % _("Can't do Paint on MultiGeo geometries"))
|
||||
return 'Fail'
|
||||
|
||||
|
@ -1032,10 +1040,10 @@ class ToolPaint(AppTool, Gerber):
|
|||
return
|
||||
|
||||
self.select_method = self.ui.selectmethod_combo.get_value()
|
||||
if self.select_method == _("All"):
|
||||
if self.select_method == 0: # _("All")
|
||||
self.paint_poly_all(self.paint_obj, tooldia=self.tooldia_list, outname=self.o_name)
|
||||
|
||||
elif self.select_method == _("Polygon Selection"):
|
||||
elif self.select_method == 1: # _("Polygon Selection")
|
||||
# disengage the grid snapping since it may be hard to click on polygons with grid snapping on
|
||||
if self.app.ui.grid_snap_btn.isChecked():
|
||||
self.grid_status_memory = True
|
||||
|
@ -1058,7 +1066,7 @@ class ToolPaint(AppTool, Gerber):
|
|||
# disconnect flags
|
||||
self.poly_sel_disconnect_flag = True
|
||||
|
||||
elif self.select_method == _("Area Selection"):
|
||||
elif self.select_method == 2: # _("Area Selection")
|
||||
self.app.inform.emit('[WARNING_NOTCL] %s' % _("Click the start point of the paint area."))
|
||||
|
||||
if self.app.is_legacy is False:
|
||||
|
@ -1077,7 +1085,7 @@ class ToolPaint(AppTool, Gerber):
|
|||
# disconnect flags
|
||||
self.area_sel_disconnect_flag = True
|
||||
|
||||
elif self.select_method == _("Reference Object"):
|
||||
elif self.select_method == 3: # _("Reference Object")
|
||||
self.bound_obj_name = self.reference_combo.currentText()
|
||||
# Get source object.
|
||||
try:
|
||||
|
@ -1453,7 +1461,7 @@ class ToolPaint(AppTool, Gerber):
|
|||
|
||||
cpoly = None
|
||||
|
||||
if paint_method == _("Standard"):
|
||||
if paint_method == 0: # _("Standard")
|
||||
try:
|
||||
# Type(cp) == FlatCAMRTreeStorage | None
|
||||
cpoly = self.clear_polygon(polyg,
|
||||
|
@ -1467,7 +1475,7 @@ class ToolPaint(AppTool, Gerber):
|
|||
return "fail"
|
||||
except Exception as ee:
|
||||
log.debug("ToolPaint.paint_polygon_worker() Standard --> %s" % str(ee))
|
||||
elif paint_method == _("Seed"):
|
||||
elif paint_method == 1: # _("Seed")
|
||||
try:
|
||||
# Type(cp) == FlatCAMRTreeStorage | None
|
||||
cpoly = self.clear_polygon2(polyg,
|
||||
|
@ -1481,7 +1489,7 @@ class ToolPaint(AppTool, Gerber):
|
|||
return "fail"
|
||||
except Exception as ee:
|
||||
log.debug("ToolPaint.paint_polygon_worker() Seed --> %s" % str(ee))
|
||||
elif paint_method == _("Lines"):
|
||||
elif paint_method == 2: # _("Lines")
|
||||
try:
|
||||
# Type(cp) == FlatCAMRTreeStorage | None
|
||||
cpoly = self.clear_polygon3(polyg,
|
||||
|
@ -1495,7 +1503,7 @@ class ToolPaint(AppTool, Gerber):
|
|||
return "fail"
|
||||
except Exception as ee:
|
||||
log.debug("ToolPaint.paint_polygon_worker() Lines --> %s" % str(ee))
|
||||
elif paint_method == _("Laser_lines"):
|
||||
elif paint_method == 3: # _("Laser_lines")
|
||||
try:
|
||||
# line = None
|
||||
# aperture_size = None
|
||||
|
@ -1544,7 +1552,7 @@ class ToolPaint(AppTool, Gerber):
|
|||
|
||||
# process the flashes found in the selected polygon with the 'lines' method for rectangular
|
||||
# flashes and with _("Seed") for oblong and circular flashes
|
||||
# and pads (flahes) need the contour therefore I override the GUI settings with always True
|
||||
# and pads (flashes) need the contour therefore I override the GUI settings with always True
|
||||
for ap_type in flash_el_dict:
|
||||
for elem in flash_el_dict[ap_type]:
|
||||
if 'solid' in elem:
|
||||
|
@ -1558,7 +1566,7 @@ class ToolPaint(AppTool, Gerber):
|
|||
connect=conn,
|
||||
prog_plot=prog_plot)
|
||||
pads_lines_list += [p for p in f_o.get_objects() if p]
|
||||
|
||||
# this is the same as above but I keep it in case I will modify something in the future
|
||||
elif ap_type == 'O':
|
||||
f_o = self.clear_polygon2(elem['solid'],
|
||||
tooldia=tooldiameter,
|
||||
|
@ -1646,7 +1654,7 @@ class ToolPaint(AppTool, Gerber):
|
|||
return "fail"
|
||||
except Exception as ee:
|
||||
log.debug("ToolPaint.paint_polygon_worker() Laser Lines --> %s" % str(ee))
|
||||
elif paint_method == _("Combo"):
|
||||
elif paint_method == 4: # _("Combo")
|
||||
try:
|
||||
self.app.inform.emit(_("Painting polygon with method: lines."))
|
||||
cpoly = self.clear_polygon3(polyg,
|
||||
|
@ -2666,7 +2674,7 @@ class ToolPaint(AppTool, Gerber):
|
|||
max_uid = max(tool_uid_list)
|
||||
tooluid = max_uid + 1
|
||||
|
||||
tooldia = float('%.*f' % (self.decimals, tooldia))
|
||||
tooldia = self.app.dec_format(tooldia, self.decimals)
|
||||
|
||||
tool_dias = []
|
||||
for k, v in self.paint_tools.items():
|
||||
|
@ -3001,19 +3009,8 @@ class PaintUI:
|
|||
"- Combo: In case of failure a new method will be picked from the above\n"
|
||||
"in the order specified.")
|
||||
)
|
||||
# self.paintmethod_combo = RadioSet([
|
||||
# {"label": _("Standard"), "value": "standard"},
|
||||
# {"label": _("Seed-based"), "value": _("Seed")},
|
||||
# {"label": _("Straight lines"), "value": _("Lines")},
|
||||
# {"label": _("Laser lines"), "value": _("Laser_lines")},
|
||||
# {"label": _("Combo"), "value": _("Combo")}
|
||||
# ], orientation='vertical', stretch=False)
|
||||
|
||||
# for choice in self.paintmethod_combo.choices:
|
||||
# if choice['value'] == _("Laser_lines"):
|
||||
# choice["radio"].setEnabled(False)
|
||||
|
||||
self.paintmethod_combo = FCComboBox()
|
||||
self.paintmethod_combo = FCComboBox2()
|
||||
self.paintmethod_combo.addItems(
|
||||
[_("Standard"), _("Seed"), _("Lines"), _("Laser_lines"), _("Combo")]
|
||||
)
|
||||
|
@ -3106,27 +3103,9 @@ class PaintUI:
|
|||
"- 'Reference Object' - will process the area specified by another object.")
|
||||
)
|
||||
|
||||
# grid3 = QtWidgets.QGridLayout()
|
||||
# self.selectmethod_combo = RadioSet([
|
||||
# {"label": _("Polygon Selection"), "value": "single"},
|
||||
# {"label": _("Area Selection"), "value": "area"},
|
||||
# {"label": _("All Polygons"), "value": "all"},
|
||||
# {"label": _("Reference Object"), "value": "ref"}
|
||||
# ], orientation='vertical', stretch=False)
|
||||
# self.selectmethod_combo.setObjectName('p_selection')
|
||||
# self.selectmethod_combo.setToolTip(
|
||||
# _("How to select Polygons to be painted.\n"
|
||||
# "- 'Polygon Selection' - left mouse click to add/remove polygons to be painted.\n"
|
||||
# "- 'Area Selection' - left mouse click to start selection of the area to be painted.\n"
|
||||
# "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple areas.\n"
|
||||
# "- 'All Polygons' - the Paint will start after click.\n"
|
||||
# "- 'Reference Object' - will do non copper clearing within the area\n"
|
||||
# "specified by another object.")
|
||||
# )
|
||||
|
||||
self.selectmethod_combo = FCComboBox()
|
||||
self.selectmethod_combo = FCComboBox2()
|
||||
self.selectmethod_combo.addItems(
|
||||
[_("Polygon Selection"), _("Area Selection"), _("All"), _("Reference Object")]
|
||||
[_("All"), _("Polygon Selection"), _("Area Selection"), _("Reference Object")]
|
||||
)
|
||||
self.selectmethod_combo.setObjectName('p_selection')
|
||||
|
||||
|
@ -3141,7 +3120,7 @@ class PaintUI:
|
|||
_("The type of FlatCAM object to be used as paint reference.\n"
|
||||
"It can be Gerber, Excellon or Geometry.")
|
||||
)
|
||||
self.reference_type_combo = FCComboBox()
|
||||
self.reference_type_combo = FCComboBox2()
|
||||
self.reference_type_combo.addItems([_("Gerber"), _("Excellon"), _("Geometry")])
|
||||
|
||||
form1.addRow(self.reference_type_label, self.reference_type_combo)
|
||||
|
@ -3231,7 +3210,7 @@ class PaintUI:
|
|||
def on_selection(self):
|
||||
sel_combo = self.selectmethod_combo.get_value()
|
||||
|
||||
if sel_combo == _("Reference Object"):
|
||||
if sel_combo == 3: # _("Reference Object")
|
||||
self.reference_combo.show()
|
||||
self.reference_combo_label.show()
|
||||
self.reference_type_combo.show()
|
||||
|
@ -3242,20 +3221,20 @@ class PaintUI:
|
|||
self.reference_type_combo.hide()
|
||||
self.reference_type_label.hide()
|
||||
|
||||
if sel_combo == _("Polygon Selection"):
|
||||
if sel_combo == 1: # _("Polygon Selection")
|
||||
# disable rest-machining for single polygon painting
|
||||
# self.ui.rest_cb.set_value(False)
|
||||
# self.ui.rest_cb.setDisabled(True)
|
||||
pass
|
||||
|
||||
if sel_combo == _("Area Selection"):
|
||||
if sel_combo == 2: # _("Area Selection") index 2 in combobox (FCComboBox2() returns index instead of text)
|
||||
# disable rest-machining for area painting
|
||||
# self.ui.rest_cb.set_value(False)
|
||||
# self.ui.rest_cb.setDisabled(True)
|
||||
|
||||
self.area_shape_label.show()
|
||||
self.area_shape_radio.show()
|
||||
else:
|
||||
else: # All = index 0 in combobox
|
||||
self.new_tooldia_entry.setDisabled(False)
|
||||
self.add_newtool_button.setDisabled(False)
|
||||
self.deltool_btn.setDisabled(False)
|
||||
|
|
12
defaults.py
12
defaults.py
|
@ -348,7 +348,7 @@ class FlatCAMDefaults:
|
|||
"geometry_polish_travelz": 2.0,
|
||||
"geometry_polish_margin": 0.0,
|
||||
"geometry_polish_overlap": 5,
|
||||
"geometry_polish_method": _("Standard"),
|
||||
"geometry_polish_method": 0,
|
||||
|
||||
# Geometry Editor
|
||||
"geometry_editor_sel_limit": 30,
|
||||
|
@ -422,7 +422,7 @@ class FlatCAMDefaults:
|
|||
"tools_iso_combine_passes": True,
|
||||
"tools_iso_check_valid": False,
|
||||
"tools_iso_isoexcept": False,
|
||||
"tools_iso_selection": _("All"),
|
||||
"tools_iso_selection": 0,
|
||||
"tools_iso_poly_ints": False,
|
||||
"tools_iso_force": True,
|
||||
"tools_iso_area_shape": "square",
|
||||
|
@ -471,13 +471,13 @@ class FlatCAMDefaults:
|
|||
"tools_ncc_operation": 'clear',
|
||||
"tools_ncc_overlap": 40,
|
||||
"tools_ncc_margin": 1.0,
|
||||
"tools_ncc_method": _("Seed"),
|
||||
"tools_ncc_method": 1, # SEED
|
||||
"tools_ncc_connect": True,
|
||||
"tools_ncc_contour": True,
|
||||
"tools_ncc_rest": False,
|
||||
"tools_ncc_offset_choice": False,
|
||||
"tools_ncc_offset_value": 0.0000,
|
||||
"tools_ncc_ref": _('Itself'),
|
||||
"tools_ncc_ref": 0, # ITSELF
|
||||
"tools_ncc_area_shape": "square",
|
||||
"tools_ncc_milling_type": 'cl',
|
||||
"tools_ncc_tool_type": 'C1',
|
||||
|
@ -509,8 +509,8 @@ class FlatCAMDefaults:
|
|||
"tools_paint_order": 'rev',
|
||||
"tools_paint_overlap": 20,
|
||||
"tools_paint_offset": 0.0,
|
||||
"tools_paint_method": _("Seed"),
|
||||
"tools_paint_selectmethod": _("All"),
|
||||
"tools_paint_method": 0,
|
||||
"tools_paint_selectmethod": 0,
|
||||
"tools_paint_area_shape": "square",
|
||||
"tools_paint_connect": True,
|
||||
"tools_paint_contour": True,
|
||||
|
|
Binary file not shown.
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: 2020-10-28 10:57+0200\n"
|
||||
"PO-Revision-Date: 2020-10-28 10:57+0200\n"
|
||||
"PO-Revision-Date: 2020-10-28 21:42+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: ro\n"
|
||||
|
@ -400,7 +400,7 @@ msgstr ""
|
|||
"Forma uneltei.\n"
|
||||
"Poate fi:\n"
|
||||
"C1 ... C4 = unealtă circulară cu x dinti\n"
|
||||
"B = instrument de frezare cu vârf formal bila\n"
|
||||
"B = instrument de frezare cu vârf formal bilă\n"
|
||||
"V = instrument de frezare în formă V"
|
||||
|
||||
#: appDatabase.py:306
|
||||
|
@ -623,7 +623,7 @@ msgstr ""
|
|||
|
||||
#: appDatabase.py:513
|
||||
msgid "FR Rapids"
|
||||
msgstr "Feedrate rapizi"
|
||||
msgstr "Feedrate Rapid"
|
||||
|
||||
#: appDatabase.py:515
|
||||
msgid ""
|
||||
|
@ -633,9 +633,9 @@ msgid ""
|
|||
"the G0 g-code command. Mostly 3D printers."
|
||||
msgstr ""
|
||||
"FR Rapid. Feedrate Rapids. Avans Rapid.\n"
|
||||
"Viteza folosită în timpul deplasarii pe cât mai repede posibil.\n"
|
||||
"Acesta este folosit doar de unele dispozitive in care nu poate fi utilizata\n"
|
||||
"comanda G-cod G0. În mare parte este vorda de imprimante 3D."
|
||||
"Viteza folosită în timpul deplasării cât mai repede posibil.\n"
|
||||
"Acesta este folosit doar de unele dispozitive in care nu poate fi utilizată\n"
|
||||
"comanda G-cod G0. În mare parte este vorba de imprimante 3D."
|
||||
|
||||
#: appDatabase.py:534 appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:186
|
||||
msgid "Spindle Speed"
|
||||
|
@ -1162,17 +1162,17 @@ msgid ""
|
|||
"So called 'Plunge' feedrate.\n"
|
||||
"This is for linear move G01."
|
||||
msgstr ""
|
||||
"Viteza uneltei când se face găuriea\n"
|
||||
"(in unitati pe minut).\n"
|
||||
"Asa numita viteza unealta tip \"plunge\".\n"
|
||||
"Aceasta este mișcarea lineara G01."
|
||||
"Viteza uneltei când se face găurirea\n"
|
||||
"(in unităti pe minut).\n"
|
||||
"Asa numita viteză unealtă tip \"plunge\".\n"
|
||||
"Aceasta este mișcarea lineară G01."
|
||||
|
||||
#: appDatabase.py:1028 appGUI/ObjectUI.py:1297
|
||||
#: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:67
|
||||
#: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:317
|
||||
#: appTools/ToolDrilling.py:2227 appTools/ToolMilling.py:1892
|
||||
msgid "Feedrate Rapids"
|
||||
msgstr "Feedrate rapizi"
|
||||
msgstr "Feedrate Rapid"
|
||||
|
||||
#: appDatabase.py:1030 appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:319
|
||||
#: appTools/ToolDrilling.py:2229 appTools/ToolMilling.py:1894
|
||||
|
@ -1183,10 +1183,10 @@ msgid ""
|
|||
"It is useful only for Marlin,\n"
|
||||
"ignore for any other cases."
|
||||
msgstr ""
|
||||
"Viteza de găurire, in unitati pe minut.\n"
|
||||
"Corespunde comenzii G0 și este utila doar pentru\n"
|
||||
"Viteza de găurire, in unităti pe minut.\n"
|
||||
"Corespunde comenzii G0 și este utilă doar pentru\n"
|
||||
"printerul 3D Marlin, implicit când se foloseşte fişierul\n"
|
||||
"postprocesor: Marlin. Ignora aceasta parametru in rest."
|
||||
"postprocesor: Marlin. Ignoră acest parametru in rest."
|
||||
|
||||
#: appDatabase.py:1051 appGUI/ObjectUI.py:1340
|
||||
#: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:217
|
||||
|
@ -1204,8 +1204,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Viteza cu care se roteste motorul ('Spindle').\n"
|
||||
"In RPM (rotatii pe minut).\n"
|
||||
"Acest parametru este optional și se poate lasa gol\n"
|
||||
"daca nu se foloseşte."
|
||||
"Acest parametru este optional și se poate lăsa gol\n"
|
||||
"dacă nu se foloseşte."
|
||||
|
||||
#: appDatabase.py:1098 appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:243
|
||||
#: appTools/ToolDrilling.py:2304
|
||||
|
@ -1228,7 +1228,7 @@ msgstr ""
|
|||
#: appDatabase.py:1125 appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:264
|
||||
#: appTools/ToolDrilling.py:2328
|
||||
msgid "Last drill"
|
||||
msgstr "Ultima gaura"
|
||||
msgstr "Ultima gaură"
|
||||
|
||||
#: appDatabase.py:1127 appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:266
|
||||
#: appTools/ToolDrilling.py:2330
|
||||
|
@ -1340,7 +1340,7 @@ msgstr "Distanța dintre găuri atunci când faceți Mouse Bites."
|
|||
#: appDatabase.py:1253 appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:233
|
||||
#: appTools/ToolCutOut.py:2038
|
||||
msgid "Convex Shape"
|
||||
msgstr "Forma convexă"
|
||||
msgstr "Formă convexă"
|
||||
|
||||
#: appDatabase.py:1256 appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:235
|
||||
#: appTools/ToolCutOut.py:2040 appTools/ToolCutOut.py:2045
|
||||
|
@ -1349,8 +1349,8 @@ msgid ""
|
|||
"Used only if the source object type is Gerber."
|
||||
msgstr ""
|
||||
"Generează un obiect tip Geometrie care va inconjura\n"
|
||||
"tot PCB-ul. Forma sa este convexa.\n"
|
||||
"Se foloseste doar daca obiectul sursă este de tip Gerber."
|
||||
"tot PCB-ul. Forma sa este convexă.\n"
|
||||
"Se foloseste doar dacă obiectul sursă este de tip Gerber."
|
||||
|
||||
#: appDatabase.py:1264 appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:209
|
||||
#: appTools/ToolCutOut.py:2267
|
||||
|
@ -2112,7 +2112,7 @@ msgstr "Orar"
|
|||
#: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:172
|
||||
#: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:367
|
||||
msgid "CCW"
|
||||
msgstr "Antiorar"
|
||||
msgstr "AntiOrar"
|
||||
|
||||
#: appEditors/AppExcEditor.py:3962 appEditors/AppExcEditor.py:4178
|
||||
#: appEditors/AppGerberEditor.py:2877
|
||||
|
@ -2371,7 +2371,7 @@ msgstr ""
|
|||
#: appEditors/AppGeoEditor.py:3022 appEditors/AppGeoEditor.py:4400
|
||||
#: appEditors/AppGerberEditor.py:5781
|
||||
msgid "Cancelled. No shape selected."
|
||||
msgstr "Anulat. Nici-o forma geometrică nu este selectată."
|
||||
msgstr "Anulat. Nici-o formă geometrică nu este selectată."
|
||||
|
||||
#: appEditors/AppGeoEditor.py:595 appEditors/AppGeoEditor.py:2984
|
||||
#: appEditors/AppGeoEditor.py:3012 appEditors/AppGeoEditor.py:3040
|
||||
|
@ -2730,7 +2730,7 @@ msgstr ""
|
|||
"Dacă este bifat, atunci bufferul va înconjura forma tamponată,\n"
|
||||
"fiecare colț va fi rotunjit.\n"
|
||||
"Dacă nu este bifat, bufferul va urma geometria exactă\n"
|
||||
"de forma tamponată."
|
||||
"a formei tamponată."
|
||||
|
||||
#: appEditors/AppGeoEditor.py:930 appEditors/AppGerberEditor.py:5640
|
||||
#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:226
|
||||
|
@ -3272,7 +3272,7 @@ msgstr ""
|
|||
#: appEditors/AppGeoEditor.py:4925 appEditors/AppGeoEditor.py:4978
|
||||
#: appEditors/AppGeoEditor.py:5028
|
||||
msgid "Nothing selected for buffering."
|
||||
msgstr "Nici-o forma geometrică nu este selectată pentru a face Bufer."
|
||||
msgstr "Nici-o formă geometrică nu este selectată pentru a face Bufer."
|
||||
|
||||
#: appEditors/AppGeoEditor.py:4930 appEditors/AppGeoEditor.py:4982
|
||||
#: appEditors/AppGeoEditor.py:5033
|
||||
|
@ -3312,7 +3312,7 @@ msgstr ""
|
|||
|
||||
#: appEditors/AppGeoEditor.py:5076
|
||||
msgid "Nothing selected for painting."
|
||||
msgstr "Nici-o forma geometrică nu este selectată pentru Paint."
|
||||
msgstr "Nici-o formă geometrică nu este selectată pentru Paint."
|
||||
|
||||
#: appEditors/AppGeoEditor.py:5082
|
||||
msgid "Invalid value for"
|
||||
|
@ -5555,7 +5555,7 @@ msgstr "Adaugă Bufer"
|
|||
|
||||
#: appGUI/MainGUI.py:1140 appGUI/MainGUI.py:2296
|
||||
msgid "Paint Shape"
|
||||
msgstr "Paint o forma"
|
||||
msgstr "Pictează o formă"
|
||||
|
||||
#: appGUI/MainGUI.py:1148 appGUI/MainGUI.py:2304
|
||||
msgid "Polygon Explode"
|
||||
|
@ -5686,7 +5686,7 @@ msgstr "CNCJob"
|
|||
#: appGUI/MainGUI.py:1465 appGUI/ObjectUI.py:353 appGUI/ObjectUI.py:717
|
||||
#: appGUI/ObjectUI.py:1785
|
||||
msgid "TOOLS"
|
||||
msgstr "Unelte"
|
||||
msgstr "UNELTE"
|
||||
|
||||
#: appGUI/MainGUI.py:1474
|
||||
msgid "TOOLS 2"
|
||||
|
@ -5863,9 +5863,9 @@ msgid ""
|
|||
"out of the first item. In the end press ~X~ key or\n"
|
||||
"the toolbar button."
|
||||
msgstr ""
|
||||
"Mai intai selectează o forma geometrică care trebuie tăiată\n"
|
||||
"Mai intai selectează o formă geometrică care trebuie tăiată\n"
|
||||
"apoi selectează forma geo. tăietoare. La final apasă tasta ~X~ sau\n"
|
||||
"butonul corespunzator din Toolbar."
|
||||
"butonul corespunzător din Toolbar."
|
||||
|
||||
#: appGUI/MainGUI.py:2924 appGUI/MainGUI.py:3088 appGUI/MainGUI.py:3135
|
||||
#: appGUI/MainGUI.py:3157
|
||||
|
@ -5878,7 +5878,7 @@ msgid ""
|
|||
"on which to perform Intersection Tool."
|
||||
msgstr ""
|
||||
"Selectează forma geometrică asupra căreia să se\n"
|
||||
"aplice Unealta Intersecţie."
|
||||
"aplice Unealta de Intersecţie."
|
||||
|
||||
#: appGUI/MainGUI.py:3130
|
||||
msgid ""
|
||||
|
@ -5886,7 +5886,7 @@ msgid ""
|
|||
"on which to perform Substraction Tool."
|
||||
msgstr ""
|
||||
"Selectează forma geometrică asupra căreia să se\n"
|
||||
"aplice Unealta Substracţie."
|
||||
"aplice Unealta de Substracţie."
|
||||
|
||||
#: appGUI/MainGUI.py:3152
|
||||
msgid ""
|
||||
|
@ -5894,7 +5894,7 @@ msgid ""
|
|||
"on which to perform union."
|
||||
msgstr ""
|
||||
"Selectează forma geometrică asupra căreia să se\n"
|
||||
"aplice Unealta Uniune."
|
||||
"aplice Unealta de Uniune."
|
||||
|
||||
#: appGUI/MainGUI.py:3237 appGUI/MainGUI.py:3452
|
||||
msgid "Cancelled. Nothing selected to delete."
|
||||
|
@ -6732,7 +6732,7 @@ msgid ""
|
|||
"Square shape."
|
||||
msgstr ""
|
||||
"Generează un obiect tip Geometrie care va inconjura\n"
|
||||
"obiectul Gerber. Forma patratica (rectangulara)."
|
||||
"obiectul Gerber. Formă pătratică (rectangulară)."
|
||||
|
||||
#: appGUI/ObjectUI.py:488 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:81
|
||||
msgid ""
|
||||
|
@ -6749,7 +6749,7 @@ msgid ""
|
|||
"their radius is equal to\n"
|
||||
"the margin."
|
||||
msgstr ""
|
||||
"Daca forma înconjurătoare să aibă colțuri rotunjite.\n"
|
||||
"Dacă forma înconjurătoare să aibă colțuri rotunjite.\n"
|
||||
"Raza acesor colțuri va fi egală cu parametrul Margine."
|
||||
|
||||
#: appGUI/ObjectUI.py:510
|
||||
|
@ -6778,9 +6778,9 @@ msgid ""
|
|||
"Here the tools are selected for G-code generation."
|
||||
msgstr ""
|
||||
"Acesta este numărul uneltei.\n"
|
||||
"Când se foloseşte optiunea de pauza pt schimb unealtă,\n"
|
||||
"la evenim. de schimb unealtă, va aparea sub forma T1, T2, etc\n"
|
||||
"in codul masina CNC.\n"
|
||||
"Când se foloseşte optiunea de pauză pt schimb unealtă,\n"
|
||||
"la evenim. de schimb unealtă, va apărea sub forma T1, T2, etc\n"
|
||||
"in codul masină CNC.\n"
|
||||
"Aici se selectează uneltele pt generarea de G-Code."
|
||||
|
||||
#: appGUI/ObjectUI.py:676 appGUI/ObjectUI.py:1012 appTools/ToolDrilling.py:2072
|
||||
|
@ -6949,9 +6949,9 @@ msgid ""
|
|||
"will be showed as a T1, T2 ... Tn"
|
||||
msgstr ""
|
||||
"Acesta este numărul uneltei.\n"
|
||||
"Când se foloseşte optiunea de pauza pt schimb unealtă,\n"
|
||||
"Când se foloseşte optiunea de pauză pt schimb unealtă,\n"
|
||||
"la evenim. de schimb unealtă, va aparea sub forma T1, T2, etc\n"
|
||||
"in codul masina CNC"
|
||||
"in codul masină CNC"
|
||||
|
||||
#: appGUI/ObjectUI.py:1017
|
||||
msgid ""
|
||||
|
@ -7019,7 +7019,7 @@ msgstr ""
|
|||
"afisati in UI, cat și din\n"
|
||||
"lăţimea de tăiere in material care este de fapt valoarea diametrului "
|
||||
"uneltei.\n"
|
||||
"Alegerea tipului V-Shape (forma in V) va selecta automat Tipul de Operaţie "
|
||||
"Alegerea tipului V-Shape (formă in V) va selecta automat Tipul de Operaţie "
|
||||
"ca Izolare."
|
||||
|
||||
#: appGUI/ObjectUI.py:1045
|
||||
|
@ -7149,7 +7149,7 @@ msgstr "V-dia"
|
|||
msgid "The tip diameter for V-Shape Tool"
|
||||
msgstr ""
|
||||
"Diametrul la vârf al uneltei tip V-Shape.\n"
|
||||
"Forma in V"
|
||||
"Formă in V"
|
||||
|
||||
#: appGUI/ObjectUI.py:1186 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:101
|
||||
#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:84
|
||||
|
@ -7215,8 +7215,8 @@ msgid ""
|
|||
"It is called also Plunge."
|
||||
msgstr ""
|
||||
"Viteza de tăiere in planul Z\n"
|
||||
"in unitati pe minut.\n"
|
||||
"Mai este numita și viteza de plonjare."
|
||||
"in unităti pe minut.\n"
|
||||
"Mai este numită și viteza de plonjare."
|
||||
|
||||
#: appGUI/ObjectUI.py:1299
|
||||
#: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:69
|
||||
|
@ -7227,10 +7227,10 @@ msgid ""
|
|||
"It is useful only for Marlin,\n"
|
||||
"ignore for any other cases."
|
||||
msgstr ""
|
||||
"Viteza de tăiere in planul X-Y, in unitati pe minut,\n"
|
||||
"in legatura cu comanda G00.\n"
|
||||
"Este utila doar când se foloseşte cu un printer 3D Marlin,\n"
|
||||
"pentru toate celelalte cazuri ignora acest parametru."
|
||||
"Viteza de tăiere in planul X-Y, in unităti pe minut,\n"
|
||||
"in legatură cu comanda G00.\n"
|
||||
"Este utilă doar când se foloseşte cu un printer 3D Marlin,\n"
|
||||
"pentru toate celelalte cazuri ignoră acest parametru."
|
||||
|
||||
#: appGUI/ObjectUI.py:1317
|
||||
#: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:85
|
||||
|
@ -7261,8 +7261,8 @@ msgid ""
|
|||
"this value is the power of laser."
|
||||
msgstr ""
|
||||
"Viteza motorului in RPM (optional).\n"
|
||||
"Daca postprocesorul Laser este folosit,\n"
|
||||
"valoarea să este puterea laserului."
|
||||
"Dacă postprocesorul Laser este folosit,\n"
|
||||
"valoarea sa este puterea laserului."
|
||||
|
||||
#: appGUI/ObjectUI.py:1359
|
||||
#: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:235
|
||||
|
@ -7288,7 +7288,7 @@ msgstr "Timpul (ori secunde ori milisec) cat se stă in pauză."
|
|||
#: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:333
|
||||
#: appTools/ToolDrilling.py:2461 appTools/ToolMilling.py:2129
|
||||
msgid "Probe Z depth"
|
||||
msgstr "Z sonda"
|
||||
msgstr "Z sondă"
|
||||
|
||||
#: appGUI/ObjectUI.py:1379 appGUI/ObjectUI.py:2167
|
||||
#: appGUI/preferences/cncjob/CNCJobAdvOptPrefGroupUI.py:133
|
||||
|
@ -7315,7 +7315,7 @@ msgstr "Feedrate sonda"
|
|||
#: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:348
|
||||
#: appTools/ToolDrilling.py:2482 appTools/ToolMilling.py:2150
|
||||
msgid "The feedrate used while the probe is probing."
|
||||
msgstr "Viteza sondei când aceasta coboara."
|
||||
msgstr "Viteza sondei când aceasta coboară."
|
||||
|
||||
#: appGUI/ObjectUI.py:1423 appTools/ToolDrilling.py:2364
|
||||
#: appTools/ToolIsolation.py:3280 appTools/ToolMilling.py:2042
|
||||
|
@ -7550,7 +7550,7 @@ msgstr "Adăugați o zonă de excludere."
|
|||
#: appTools/ToolMilling.py:2267 appTools/ToolNCC.py:4359
|
||||
#: appTools/ToolPaint.py:3165
|
||||
msgid "The kind of selection shape used for area selection."
|
||||
msgstr "Selectează forma de selectie folosita pentru selectia zonală."
|
||||
msgstr "Selectează forma de selectie folosită pentru selectia zonală."
|
||||
|
||||
#: appGUI/ObjectUI.py:1616
|
||||
#: appGUI/preferences/utilities/AutoCompletePrefGroupUI.py:32
|
||||
|
@ -7742,7 +7742,7 @@ msgstr ""
|
|||
"- 'Tipul' -> este doar informativ și poate fi: Grosier, Finisaj, Izolaţie\n"
|
||||
"- 'Tipul uneltei' -> poate fi circular cu 1 ... 4 dinti, tip bila sau V-"
|
||||
"Shape\n"
|
||||
"(cu forma in V)."
|
||||
"(cu formă in V)."
|
||||
|
||||
#: appGUI/ObjectUI.py:2055
|
||||
msgid "Update Plot"
|
||||
|
@ -8594,7 +8594,7 @@ msgid ""
|
|||
"Advanced App. Level."
|
||||
msgstr ""
|
||||
"O lista de parametri Excellon avansati.\n"
|
||||
"Acesti parametri sunt disponibili doar\n"
|
||||
"Acești parametri sunt disponibili doar\n"
|
||||
"când este selectat Nivelul Avansat pentru\n"
|
||||
"aplicaţie in Preferințe - > General."
|
||||
|
||||
|
@ -8706,8 +8706,8 @@ msgid ""
|
|||
"The parameters set here are used in the file exported\n"
|
||||
"when using the File -> Export -> Export Excellon menu entry."
|
||||
msgstr ""
|
||||
"Acesti parametri listati aici sunt folositi atunci când\n"
|
||||
"se exporta un fişier Excellon folosind:\n"
|
||||
"Acești parametri listați aici sunt folosiți atunci când\n"
|
||||
"se exporta un fişier Excellon:\n"
|
||||
"File -> Exporta -> Exporta Excellon."
|
||||
|
||||
#: appGUI/preferences/excellon/ExcellonExpPrefGroupUI.py:41
|
||||
|
@ -8794,7 +8794,7 @@ msgid ""
|
|||
"Also it will have to be specified if LZ = leading zeros are kept\n"
|
||||
"or TZ = trailing zeros are kept."
|
||||
msgstr ""
|
||||
"Selectati tipul formatului de coordonate folosit.\n"
|
||||
"Selectați tipul formatului de coordonate folosit.\n"
|
||||
"Coordonatele se pot salva cu punct zecimal sau fără.\n"
|
||||
"Când nu se foloseşte punctul zecimal ca separator între\n"
|
||||
"partea intreaga și partea zecimala, este necesar să se\n"
|
||||
|
@ -9512,7 +9512,7 @@ msgstr ""
|
|||
|
||||
#: appGUI/preferences/general/GeneralAPPSetGroupUI.py:440
|
||||
msgid "Activity Icon"
|
||||
msgstr "Icon activitare"
|
||||
msgstr "Icon Activitate"
|
||||
|
||||
#: appGUI/preferences/general/GeneralAPPSetGroupUI.py:442
|
||||
msgid "Select the GIF that show activity when FlatCAM is active."
|
||||
|
@ -9745,11 +9745,11 @@ msgid ""
|
|||
"After change, it will be applied at next App start."
|
||||
msgstr ""
|
||||
"Număarul de QThread-uri care sunt disponibile pt aplicatie.\n"
|
||||
"Un număr mai mare va permite terminarea operatiilor mai rapida\n"
|
||||
"Un număr mai mare va permite terminarea operatiilor mai rapidă\n"
|
||||
"dar in functie de cat de rapid este calculatorul, poate face ca aplicatia\n"
|
||||
"sa devina temporar blocată. Poate lua o valoare intre 2 si 16.\n"
|
||||
"Valoarea standard este 2.\n"
|
||||
"Dupa schimbarea valoarii, se va aplica la următoarea pornire a aplicatiei."
|
||||
"Dupa schimbarea valorii, se va aplica la următoarea pornire a aplicatiei."
|
||||
|
||||
#: appGUI/preferences/general/GeneralAppPrefGroupUI.py:230
|
||||
msgid "Geo Tolerance"
|
||||
|
@ -10103,7 +10103,7 @@ msgid ""
|
|||
"Advanced App. Level."
|
||||
msgstr ""
|
||||
"O lista de parametri Geometrie avansati.\n"
|
||||
"Acesti parametri sunt disponibili doar\n"
|
||||
"Acești parametri sunt disponibili doar\n"
|
||||
"când este selectat Nivelul Avansat pentru\n"
|
||||
"aplicaţie in Preferințe - > General."
|
||||
|
||||
|
@ -10136,7 +10136,7 @@ msgstr ""
|
|||
#: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:137
|
||||
#: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:358
|
||||
msgid "Spindle direction"
|
||||
msgstr "Directie rotatie Motor"
|
||||
msgstr "Direcție Motor"
|
||||
|
||||
#: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:139
|
||||
#: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:360
|
||||
|
@ -10166,13 +10166,13 @@ msgid ""
|
|||
msgstr ""
|
||||
"Prin bifarea de aici, mișcarea de la Înălţimea unde se face schimbarea "
|
||||
"uneltei\n"
|
||||
"pana la Înălţimea unde se face deplasarea între taieri, se va face cu "
|
||||
"pană la Înălţimea unde se face deplasarea între taieri, se va face cu "
|
||||
"comanda G0.\n"
|
||||
"Aceasta inseamna că se va folosi viteza maxima disponibila.\n"
|
||||
"Aceasta inseamnă că se va folosi viteza maximă disponibilă.\n"
|
||||
"\n"
|
||||
"ATENTIE: mișcarea aceasta pe verticala se face la coordonatele X, Y unde se "
|
||||
"schimba\n"
|
||||
"unealta. Daca aveti ceva plasat sub unealtă ceva se va strica."
|
||||
"ATENTIE: mișcarea aceasta pe verticală se face la coordonatele X, Y unde se "
|
||||
"schimbă\n"
|
||||
"unealta. Dacă aveti ceva plasat sub unealtă ceva se va strica."
|
||||
|
||||
#: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:161
|
||||
msgid "Segment X size"
|
||||
|
@ -10367,13 +10367,13 @@ msgid ""
|
|||
"Advanced App. Level."
|
||||
msgstr ""
|
||||
"O lista de parametri Gerber avansati.\n"
|
||||
"Acesti parametri sunt disponibili doar\n"
|
||||
"Acești parametri sunt disponibili doar\n"
|
||||
"când este selectat Nivelul Avansat pentru\n"
|
||||
"aplicaţie in Preferințe - > General."
|
||||
|
||||
#: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:43
|
||||
msgid "\"Follow\""
|
||||
msgstr "\"Urmareste\""
|
||||
msgstr "\"Urmăreste\""
|
||||
|
||||
#: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:64
|
||||
#: appObjects/FlatCAMGerber.py:370 appTools/ToolCopperThieving.py:578
|
||||
|
@ -10474,14 +10474,14 @@ msgstr "Dim. pentru noua apertură"
|
|||
|
||||
#: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:82
|
||||
msgid "New Aperture type"
|
||||
msgstr "Tip pt noua apaertura"
|
||||
msgstr "Tip nou Apertura"
|
||||
|
||||
#: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:84
|
||||
msgid ""
|
||||
"Type for the new aperture.\n"
|
||||
"Can be 'C', 'R' or 'O'."
|
||||
msgstr ""
|
||||
"Tipul noii aperture.\n"
|
||||
"Tipul noii aperturi.\n"
|
||||
"Poate fi „C”, „R” sau „O”."
|
||||
|
||||
#: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:106
|
||||
|
@ -10533,7 +10533,7 @@ msgid ""
|
|||
"The parameters set here are used in the file exported\n"
|
||||
"when using the File -> Export -> Export Gerber menu entry."
|
||||
msgstr ""
|
||||
"Acesti parametri listati aici sunt folositi atunci când\n"
|
||||
"Acești parametri listați aici sunt folositi atunci când\n"
|
||||
"se exporta un fişier Gerber folosind:\n"
|
||||
"File -> Exportă -> Exportă Gerber."
|
||||
|
||||
|
@ -10670,7 +10670,7 @@ msgstr "Opțiuni Gerber"
|
|||
#: appGUI/preferences/gerber/GerberOptPrefGroupUI.py:61
|
||||
#: appGUI/preferences/gerber/GerberOptPrefGroupUI.py:92
|
||||
msgid "Rounded Geo"
|
||||
msgstr "Geo rotunjita"
|
||||
msgstr "Geo rotunjită"
|
||||
|
||||
#: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:27
|
||||
msgid "Copper Thieving Tool Options"
|
||||
|
@ -10787,7 +10787,7 @@ msgid ""
|
|||
"- 'Minimal' - the bounding box will be the convex hull shape."
|
||||
msgstr ""
|
||||
"- „Dreptunghiular” - caseta de delimitare va avea o formă dreptunghiulară.\n"
|
||||
"- „Minimal” - caseta de delimitare va fi forma arie convexă."
|
||||
"- „Minimal” - caseta de delimitare va fi in formă de suprafată convexă."
|
||||
|
||||
#: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:120
|
||||
#: appTools/ToolCopperThieving.py:1287
|
||||
|
@ -11804,12 +11804,12 @@ msgstr "Axe oglindire:"
|
|||
#: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:86
|
||||
#: appTools/ToolDblSided.py:695
|
||||
msgid "Box"
|
||||
msgstr "Forma"
|
||||
msgstr "Cutie"
|
||||
|
||||
#: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:87
|
||||
#: appTools/ToolDblSided.py:696
|
||||
msgid "Hole Snap"
|
||||
msgstr "Gaură de referinta"
|
||||
msgstr "Gaură Ref."
|
||||
|
||||
#: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:90
|
||||
msgid "Axis Ref"
|
||||
|
@ -12162,7 +12162,7 @@ msgstr ""
|
|||
|
||||
#: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:380
|
||||
msgid "Fast Retract"
|
||||
msgstr "Retragere rapida"
|
||||
msgstr "Retragere Rapidă"
|
||||
|
||||
#: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:382
|
||||
msgid ""
|
||||
|
@ -12176,12 +12176,12 @@ msgstr ""
|
|||
"Strategia de evacuare a găurii tocmai găurite.\n"
|
||||
"- când nu este bifat, burghiul va ieși din gaura cu viteza feedrate "
|
||||
"setată, \n"
|
||||
"G1, pana ajunge la nivelul zero, ulterior ridicându-se pana la Înălţimea de "
|
||||
"G1, pană ajunge la nivelul zero, ulterior ridicându-se pana la Înălţimea de "
|
||||
"deplasare\n"
|
||||
"cu viteza maxima G0\n"
|
||||
"- când este bifat, burghiul se va deplasa de la adâncimea de tăiere pana la "
|
||||
"cu viteza maximă G0\n"
|
||||
"- când este bifat, burghiul se va deplasa de la adâncimea de tăiere pană la "
|
||||
"adâncimea\n"
|
||||
"de deplasare cu viteza maxima G0, intr-o singură mișcare."
|
||||
"de deplasare cu viteza maximă G0, intr-o singură mișcare."
|
||||
|
||||
#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:27
|
||||
msgid "Film Tool Options"
|
||||
|
@ -12241,8 +12241,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Specifică o bordură de jur imprejurul obiectului.\n"
|
||||
"Doar pt filmele negative.\n"
|
||||
"Ajută dacă folosim in Obiect Forma aceluiasi obiect ca in Obiect Film.\n"
|
||||
"Va crea o bara solidă neagră in jurul printului efectiv permitand o\n"
|
||||
"Ajută dacă folosim in Obiect Formă aceluiasi obiect ca in Obiect Film.\n"
|
||||
"Va crea o bară solidă neagră in jurul printului efectiv permitand o\n"
|
||||
"delimitare exactă."
|
||||
|
||||
#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:90
|
||||
|
@ -12272,7 +12272,7 @@ msgid ""
|
|||
"types.\n"
|
||||
"This section provide the tools to compensate for the print distortions."
|
||||
msgstr ""
|
||||
"Unori imprimantele vor denatura forma de imprimare, în special tipurile "
|
||||
"Uneori imprimantele vor denatura forma de imprimare, în special tipurile "
|
||||
"Laser.\n"
|
||||
"Această secțiune oferă instrumentele pentru a compensa distorsiunile de "
|
||||
"tipărire."
|
||||
|
@ -12427,14 +12427,14 @@ msgid ""
|
|||
"- Circular"
|
||||
msgstr ""
|
||||
"Tipul de unealtă default:\n"
|
||||
"- 'Forma-V'\n"
|
||||
"- 'Formă-V'\n"
|
||||
"- Circular"
|
||||
|
||||
#: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:77
|
||||
#: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:60
|
||||
#: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67
|
||||
msgid "V-shape"
|
||||
msgstr "Forma-V"
|
||||
msgstr "Formă-V"
|
||||
|
||||
#: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:103
|
||||
msgid ""
|
||||
|
@ -12974,7 +12974,7 @@ msgid ""
|
|||
"Feedrate (speed) while moving vertically\n"
|
||||
"(on Z plane)."
|
||||
msgstr ""
|
||||
"Viteza de deplasare a uneltei când se misca in plan vertical (planul Z)."
|
||||
"Viteza de deplasare a uneltei când se miscă in plan vertical (planul Z)."
|
||||
|
||||
#: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:175
|
||||
#: appTools/ToolSolderPaste.py:1350
|
||||
|
@ -12986,7 +12986,7 @@ msgid ""
|
|||
"Feedrate (speed) while moving up vertically\n"
|
||||
"to Dispense position (on Z plane)."
|
||||
msgstr ""
|
||||
"Viteza de deplasare la mișcarea pe verticala spre\n"
|
||||
"Viteza de deplasare la mișcarea pe vertical spre\n"
|
||||
"poziţia de dispensare (in planul Z)."
|
||||
|
||||
#: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:188
|
||||
|
@ -15082,8 +15082,8 @@ msgid ""
|
|||
"Useful when the PCB has a non-rectangular shape."
|
||||
msgstr ""
|
||||
"Decupează obiectul selectat.\n"
|
||||
"Forma decupajului poate avea orice forma.\n"
|
||||
"Folositor când PCB-ul are o forma neregulata."
|
||||
"Decupajul poate avea orice formă.\n"
|
||||
"Folositor când PCB-ul are o formă neregulată."
|
||||
|
||||
#: appTools/ToolCutOut.py:2309
|
||||
msgid ""
|
||||
|
@ -15093,7 +15093,7 @@ msgid ""
|
|||
"the bounding box of the Object."
|
||||
msgstr ""
|
||||
"Decupează obiectul selectat.\n"
|
||||
"Forma decupajului este tot timpul dreptunghiulara.."
|
||||
"Forma decupajului este tot timpul dreptunghiulară."
|
||||
|
||||
#: appTools/ToolCutOut.py:2330
|
||||
msgid ""
|
||||
|
@ -15119,7 +15119,7 @@ msgid ""
|
|||
"Select the source Gerber file in the top object combobox."
|
||||
msgstr ""
|
||||
"Daca obiectul care se decupează este un obiect Gerber,\n"
|
||||
"atunci mai intai crează un obiect Geometrie care il inconjoara\n"
|
||||
"atunci mai intai crează un obiect Geometrie care il inconjoară\n"
|
||||
"urmărindu-i forma.\n"
|
||||
"Selectează obiectul sursa Gerber in combobox-ul de mai sus,\n"
|
||||
"numit >Obiect<."
|
||||
|
@ -15240,7 +15240,7 @@ msgid ""
|
|||
"Select on canvas the object(s)\n"
|
||||
"for which to calculate bounds values."
|
||||
msgstr ""
|
||||
"Selectati pe suprafata de afisare obiectul(e)\n"
|
||||
"Selectați pe suprafata de afisare obiectul(e)\n"
|
||||
"pentru care se calculează valorile limitelor."
|
||||
|
||||
#: appTools/ToolDblSided.py:569
|
||||
|
@ -17291,14 +17291,14 @@ msgid ""
|
|||
msgstr ""
|
||||
"Alege referinta pt panelizare:\n"
|
||||
"- Obiect = forma inconjurătoare a unui alt obiect\n"
|
||||
"- Forma inconjurătoare = forma inconjurătoare a obiectului care tb "
|
||||
"- Forma inconjurătoare = forma inconjurătoare a obiectului care trebuie "
|
||||
"panelizat\n"
|
||||
"\n"
|
||||
"Referinta este utila cand se face panelizarea pt mai mult de un obiect. "
|
||||
"Referinta este utilă cand se face panelizarea pt mai mult de un obiect. "
|
||||
"Spatierile\n"
|
||||
"(mai degraba ofsetări) vor fi aplicate avand ca referintă acest obiect de "
|
||||
"(mai degrabă ofsetări) vor fi aplicate avand ca referintă acest obiect de "
|
||||
"referintă,\n"
|
||||
"prin urmare mentinand obiectele paenlizate in sincronizare unul cu altul."
|
||||
"prin urmare mentinand obiectele panelizate in sincronizare unul cu altul."
|
||||
|
||||
#: appTools/ToolPanelize.py:722
|
||||
msgid "Box Type"
|
||||
|
@ -18103,7 +18103,7 @@ msgid ""
|
|||
"Feedrate (speed) while moving up vertically\n"
|
||||
" to Dispense position (on Z plane)."
|
||||
msgstr ""
|
||||
"Viteza de deplasare la mișcarea pe verticala spre\n"
|
||||
"Viteza de deplasare la mișcarea pe verticală spre\n"
|
||||
"poziţia de dispensare (in planul Z)."
|
||||
|
||||
#: appTools/ToolSolderPaste.py:1422
|
||||
|
@ -19136,7 +19136,7 @@ msgstr "Numele a fost copiat pe Clipboard ..."
|
|||
|
||||
#: app_Main.py:6939 app_Main.py:6943
|
||||
msgid "Select an Gerber or Excellon file to view it's source file."
|
||||
msgstr "Selectati un obiect Gerber sau Excellon pentru a-i vedea codul sursa."
|
||||
msgstr "Selectați un obiect Gerber sau Excellon pentru a-i vedea codul sursa."
|
||||
|
||||
#: app_Main.py:6946
|
||||
msgid "Viewing the source code of the selected object."
|
||||
|
|
|
@ -123,20 +123,14 @@ class TclCommandCopperClear(TclCommand):
|
|||
if 'method' in args:
|
||||
method = args['method']
|
||||
if method == "standard":
|
||||
method_data = _("Standard")
|
||||
method_data = 0
|
||||
elif method == "seed":
|
||||
method_data = _("Seed")
|
||||
method_data = 1
|
||||
else:
|
||||
method_data = _("Lines")
|
||||
method_data = 2
|
||||
else:
|
||||
method = str(self.app.defaults["tools_ncc_method"])
|
||||
method_data = method
|
||||
if method == _("Standard"):
|
||||
method = "standard"
|
||||
elif method == _("Seed"):
|
||||
method = "seed"
|
||||
else:
|
||||
method = "lines"
|
||||
|
||||
if 'connect' in args:
|
||||
try:
|
||||
|
@ -187,9 +181,9 @@ class TclCommandCopperClear(TclCommand):
|
|||
|
||||
# used only to have correct information's in the obj.tools[tool]['data'] dict
|
||||
if "all" in args:
|
||||
select = _("Itself")
|
||||
select = 0 # 'ITSELF
|
||||
else:
|
||||
select = _("Reference Object")
|
||||
select = 2 # 'REFERENCE Object'
|
||||
|
||||
# store here the default data for Geometry Data
|
||||
default_data = {}
|
||||
|
@ -258,7 +252,7 @@ class TclCommandCopperClear(TclCommand):
|
|||
# Non-Copper clear all polygons in the non-copper clear object
|
||||
if 'all' in args:
|
||||
self.app.ncclear_tool.clear_copper_tcl(ncc_obj=obj,
|
||||
select_method='itself',
|
||||
select_method=0, # ITSELF
|
||||
ncctooldia=tooldia,
|
||||
overlap=overlap,
|
||||
order=order,
|
||||
|
@ -276,7 +270,7 @@ class TclCommandCopperClear(TclCommand):
|
|||
return
|
||||
|
||||
# Non-Copper clear all polygons found within the box object from the the non_copper cleared object
|
||||
if 'box' in args:
|
||||
if 'box' in args: # Reference Object
|
||||
box_name = args['box']
|
||||
|
||||
# Get box source object.
|
||||
|
@ -289,7 +283,7 @@ class TclCommandCopperClear(TclCommand):
|
|||
|
||||
self.app.ncclear_tool.clear_copper_tcl(ncc_obj=obj,
|
||||
sel_obj=box_obj,
|
||||
select_method='box',
|
||||
select_method=2, # REFERENCE OBJECT
|
||||
ncctooldia=tooldia,
|
||||
overlap=overlap,
|
||||
order=order,
|
||||
|
|
Loading…
Reference in New Issue