- updated Gerber Editor to use the precision setting and the Gerber Editor Transform Tool to use the FCDoubleSpinner GUI element
This commit is contained in:
parent
71c3d40057
commit
8aec8d73c5
@ -18,6 +18,7 @@ CAD program, and create G-Code for Isolation routing.
|
|||||||
- application wide change: introduced the precision parameters in Edit -> Preferences who will control how many decimals to use in the app parameters
|
- application wide change: introduced the precision parameters in Edit -> Preferences who will control how many decimals to use in the app parameters
|
||||||
- changed the FCDoubleSpinner, FCSpinner and FCEntry GUI elements to allow passing an alignment value: left, right or center (not yet available in the app)
|
- changed the FCDoubleSpinner, FCSpinner and FCEntry GUI elements to allow passing an alignment value: left, right or center (not yet available in the app)
|
||||||
- fixed the GUI of the Geometry Editor Tool Transform and adapted it to use the precision setting
|
- fixed the GUI of the Geometry Editor Tool Transform and adapted it to use the precision setting
|
||||||
|
- updated Gerber Editor to use the precision setting and the Gerber Editor Transform Tool to use the FCDoubleSpinner GUI element
|
||||||
|
|
||||||
4.12.2019
|
4.12.2019
|
||||||
|
|
||||||
|
@ -619,6 +619,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
|
|
||||||
self.app = app
|
self.app = app
|
||||||
self.draw_app = draw_app
|
self.draw_app = draw_app
|
||||||
|
self.decimals = self.app.decimals
|
||||||
|
|
||||||
self.transform_lay = QtWidgets.QVBoxLayout()
|
self.transform_lay = QtWidgets.QVBoxLayout()
|
||||||
self.layout.addLayout(self.transform_lay)
|
self.layout.addLayout(self.transform_lay)
|
||||||
@ -1494,7 +1495,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
def on_rotate_key(self):
|
def on_rotate_key(self):
|
||||||
val_box = FCInputDialog(title=_("Rotate ..."),
|
val_box = FCInputDialog(title=_("Rotate ..."),
|
||||||
text='%s:' % _('Enter an Angle Value (degrees)'),
|
text='%s:' % _('Enter an Angle Value (degrees)'),
|
||||||
min=-359.9999, max=360.0000, decimals=4,
|
min=-359.9999, max=360.0000, decimals=self.decimals,
|
||||||
init_val=float(self.app.defaults['tools_transform_rotate']))
|
init_val=float(self.app.defaults['tools_transform_rotate']))
|
||||||
val_box.setWindowIcon(QtGui.QIcon('share/rotate.png'))
|
val_box.setWindowIcon(QtGui.QIcon('share/rotate.png'))
|
||||||
|
|
||||||
@ -1513,7 +1514,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
|
|
||||||
val_box = FCInputDialog(title=_("Offset on X axis ..."),
|
val_box = FCInputDialog(title=_("Offset on X axis ..."),
|
||||||
text='%s: (%s)' % (_('Enter a distance Value'), str(units)),
|
text='%s: (%s)' % (_('Enter a distance Value'), str(units)),
|
||||||
min=-9999.9999, max=10000.0000, decimals=4,
|
min=-9999.9999, max=10000.0000, decimals=self.decimals,
|
||||||
init_val=float(self.app.defaults['tools_transform_offset_x']))
|
init_val=float(self.app.defaults['tools_transform_offset_x']))
|
||||||
val_box.setWindowIcon(QtGui.QIcon('share/offsetx32.png'))
|
val_box.setWindowIcon(QtGui.QIcon('share/offsetx32.png'))
|
||||||
|
|
||||||
@ -1532,7 +1533,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
|
|
||||||
val_box = FCInputDialog(title=_("Offset on Y axis ..."),
|
val_box = FCInputDialog(title=_("Offset on Y axis ..."),
|
||||||
text='%s: (%s)' % (_('Enter a distance Value'), str(units)),
|
text='%s: (%s)' % (_('Enter a distance Value'), str(units)),
|
||||||
min=-9999.9999, max=10000.0000, decimals=4,
|
min=-9999.9999, max=10000.0000, decimals=self.decimals,
|
||||||
init_val=float(self.app.defaults['tools_transform_offset_y']))
|
init_val=float(self.app.defaults['tools_transform_offset_y']))
|
||||||
val_box.setWindowIcon(QtGui.QIcon('share/offsety32.png'))
|
val_box.setWindowIcon(QtGui.QIcon('share/offsety32.png'))
|
||||||
|
|
||||||
@ -1549,7 +1550,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
def on_skewx_key(self):
|
def on_skewx_key(self):
|
||||||
val_box = FCInputDialog(title=_("Skew on X axis ..."),
|
val_box = FCInputDialog(title=_("Skew on X axis ..."),
|
||||||
text='%s:' % _('Enter an Angle Value (degrees)'),
|
text='%s:' % _('Enter an Angle Value (degrees)'),
|
||||||
min=-359.9999, max=360.0000, decimals=4,
|
min=-359.9999, max=360.0000, decimals=self.decimals,
|
||||||
init_val=float(self.app.defaults['tools_transform_skew_x']))
|
init_val=float(self.app.defaults['tools_transform_skew_x']))
|
||||||
val_box.setWindowIcon(QtGui.QIcon('share/skewX.png'))
|
val_box.setWindowIcon(QtGui.QIcon('share/skewX.png'))
|
||||||
|
|
||||||
@ -1566,7 +1567,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
def on_skewy_key(self):
|
def on_skewy_key(self):
|
||||||
val_box = FCInputDialog(title=_("Skew on Y axis ..."),
|
val_box = FCInputDialog(title=_("Skew on Y axis ..."),
|
||||||
text='%s:' % _('Enter an Angle Value (degrees)'),
|
text='%s:' % _('Enter an Angle Value (degrees)'),
|
||||||
min=-359.9999, max=360.0000, decimals=4,
|
min=-359.9999, max=360.0000, decimals=self.decimals,
|
||||||
init_val=float(self.app.defaults['tools_transform_skew_y']))
|
init_val=float(self.app.defaults['tools_transform_skew_y']))
|
||||||
val_box.setWindowIcon(QtGui.QIcon('share/skewY.png'))
|
val_box.setWindowIcon(QtGui.QIcon('share/skewY.png'))
|
||||||
|
|
||||||
@ -2685,7 +2686,7 @@ class FCText(FCShapeTool):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
QtGui.QGuiApplication.restoreOverrideCursor()
|
QtGui.QGuiApplication.restoreOverrideCursor()
|
||||||
except Exception as e:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
self.cursor = QtGui.QCursor(QtGui.QPixmap('share/aero_text.png'))
|
self.cursor = QtGui.QCursor(QtGui.QPixmap('share/aero_text.png'))
|
||||||
QtGui.QGuiApplication.setOverrideCursor(self.cursor)
|
QtGui.QGuiApplication.setOverrideCursor(self.cursor)
|
||||||
@ -3024,6 +3025,7 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
|||||||
|
|
||||||
self.app = app
|
self.app = app
|
||||||
self.canvas = app.plotcanvas
|
self.canvas = app.plotcanvas
|
||||||
|
self.decimals = app.decimals
|
||||||
|
|
||||||
# ## Toolbar events and properties
|
# ## Toolbar events and properties
|
||||||
self.tools = {
|
self.tools = {
|
||||||
@ -3143,9 +3145,6 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
|||||||
|
|
||||||
self.rtree_index = rtindex.Index()
|
self.rtree_index = rtindex.Index()
|
||||||
|
|
||||||
# Number of decimals used by tools in this class
|
|
||||||
self.decimals = 4
|
|
||||||
|
|
||||||
def entry2option(option, entry):
|
def entry2option(option, entry):
|
||||||
try:
|
try:
|
||||||
self.options[option] = float(entry.text())
|
self.options[option] = float(entry.text())
|
||||||
@ -3162,9 +3161,9 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
|||||||
return
|
return
|
||||||
|
|
||||||
units = self.app.defaults['units'].upper()
|
units = self.app.defaults['units'].upper()
|
||||||
dec = 6 if units == 'IN' else 4
|
|
||||||
if self.app.ui.grid_gap_link_cb.isChecked():
|
if self.app.ui.grid_gap_link_cb.isChecked():
|
||||||
self.app.ui.grid_gap_y_entry.set_value(val, decimals=dec)
|
self.app.ui.grid_gap_y_entry.set_value(val, decimals=self.decimals)
|
||||||
|
|
||||||
self.app.ui.grid_gap_x_entry.setValidator(QtGui.QDoubleValidator())
|
self.app.ui.grid_gap_x_entry.setValidator(QtGui.QDoubleValidator())
|
||||||
self.app.ui.grid_gap_x_entry.textChanged.connect(
|
self.app.ui.grid_gap_x_entry.textChanged.connect(
|
||||||
@ -3641,11 +3640,7 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
|||||||
|
|
||||||
# updated units
|
# updated units
|
||||||
self.units = self.app.defaults['units'].upper()
|
self.units = self.app.defaults['units'].upper()
|
||||||
|
self.decimals = self.app.decimals
|
||||||
if self.units == "IN":
|
|
||||||
self.decimals = 4
|
|
||||||
else:
|
|
||||||
self.decimals = 2
|
|
||||||
|
|
||||||
# start with GRID toolbar activated
|
# start with GRID toolbar activated
|
||||||
if self.app.ui.grid_snap_btn.isChecked() is False:
|
if self.app.ui.grid_snap_btn.isChecked() is False:
|
||||||
|
@ -2352,9 +2352,7 @@ class FlatCAMGrbEditor(QtCore.QObject):
|
|||||||
|
|
||||||
self.app = app
|
self.app = app
|
||||||
self.canvas = self.app.plotcanvas
|
self.canvas = self.app.plotcanvas
|
||||||
|
self.decimals = self.app.decimals
|
||||||
# number of decimals for the tool diameters to be used in this editor
|
|
||||||
self.decimals = 4
|
|
||||||
|
|
||||||
# Current application units in Upper Case
|
# Current application units in Upper Case
|
||||||
self.units = self.app.defaults['units'].upper()
|
self.units = self.app.defaults['units'].upper()
|
||||||
@ -3034,11 +3032,7 @@ class FlatCAMGrbEditor(QtCore.QObject):
|
|||||||
def set_ui(self):
|
def set_ui(self):
|
||||||
# updated units
|
# updated units
|
||||||
self.units = self.app.defaults['units'].upper()
|
self.units = self.app.defaults['units'].upper()
|
||||||
|
self.decimals = self.app.decimals
|
||||||
if self.units == "IN":
|
|
||||||
self.decimals = 4
|
|
||||||
else:
|
|
||||||
self.decimals = 2
|
|
||||||
|
|
||||||
self.olddia_newdia.clear()
|
self.olddia_newdia.clear()
|
||||||
self.tool2tooldia.clear()
|
self.tool2tooldia.clear()
|
||||||
@ -5026,6 +5020,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
|
|
||||||
self.app = app
|
self.app = app
|
||||||
self.draw_app = draw_app
|
self.draw_app = draw_app
|
||||||
|
self.decimals = self.app.decimals
|
||||||
|
|
||||||
self.transform_lay = QtWidgets.QVBoxLayout()
|
self.transform_lay = QtWidgets.QVBoxLayout()
|
||||||
self.layout.addLayout(self.transform_lay)
|
self.layout.addLayout(self.transform_lay)
|
||||||
@ -5072,9 +5067,11 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
)
|
)
|
||||||
self.rotate_label.setMinimumWidth(50)
|
self.rotate_label.setMinimumWidth(50)
|
||||||
|
|
||||||
self.rotate_entry = FCEntry()
|
self.rotate_entry = FCDoubleSpinner()
|
||||||
# self.rotate_entry.setFixedWidth(60)
|
self.rotate_entry.set_precision(self.decimals)
|
||||||
self.rotate_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
|
self.rotate_entry.set_range(-360.0000, 360.0000)
|
||||||
|
self.rotate_entry.setSingleStep(0.1)
|
||||||
|
self.rotate_entry.setWrapping(True)
|
||||||
|
|
||||||
self.rotate_button = FCButton()
|
self.rotate_button = FCButton()
|
||||||
self.rotate_button.set_value(_("Rotate"))
|
self.rotate_button.set_value(_("Rotate"))
|
||||||
@ -5108,9 +5105,11 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
"Float number between -360 and 359.")
|
"Float number between -360 and 359.")
|
||||||
)
|
)
|
||||||
self.skewx_label.setMinimumWidth(50)
|
self.skewx_label.setMinimumWidth(50)
|
||||||
self.skewx_entry = FCEntry()
|
self.skewx_entry = FCDoubleSpinner()
|
||||||
self.skewx_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
|
self.skewx_entry.set_precision(self.decimals)
|
||||||
# self.skewx_entry.setFixedWidth(60)
|
self.skewx_entry.set_range(-360.0000, 360.0000)
|
||||||
|
self.skewx_entry.setSingleStep(0.1)
|
||||||
|
self.skewx_entry.setWrapping(True)
|
||||||
|
|
||||||
self.skewx_button = FCButton()
|
self.skewx_button = FCButton()
|
||||||
self.skewx_button.set_value(_("Skew X"))
|
self.skewx_button.set_value(_("Skew X"))
|
||||||
@ -5126,9 +5125,11 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
"Float number between -360 and 359.")
|
"Float number between -360 and 359.")
|
||||||
)
|
)
|
||||||
self.skewy_label.setMinimumWidth(50)
|
self.skewy_label.setMinimumWidth(50)
|
||||||
self.skewy_entry = FCEntry()
|
self.skewy_entry = FCDoubleSpinner()
|
||||||
self.skewy_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
|
self.skewy_entry.set_precision(self.decimals)
|
||||||
# self.skewy_entry.setFixedWidth(60)
|
self.skewy_entry.set_range(-360.0000, 360.0000)
|
||||||
|
self.skewy_entry.setSingleStep(0.1)
|
||||||
|
self.skewy_entry.setWrapping(True)
|
||||||
|
|
||||||
self.skewy_button = FCButton()
|
self.skewy_button = FCButton()
|
||||||
self.skewy_button.set_value(_("Skew Y"))
|
self.skewy_button.set_value(_("Skew Y"))
|
||||||
@ -5164,9 +5165,11 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
_("Factor for Scale action over X axis.")
|
_("Factor for Scale action over X axis.")
|
||||||
)
|
)
|
||||||
self.scalex_label.setMinimumWidth(50)
|
self.scalex_label.setMinimumWidth(50)
|
||||||
self.scalex_entry = FCEntry()
|
self.scalex_entry = FCDoubleSpinner()
|
||||||
self.scalex_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
|
self.scalex_entry.set_precision(self.decimals)
|
||||||
# self.scalex_entry.setFixedWidth(60)
|
self.scalex_entry.set_range(0.0000, 9999.9999)
|
||||||
|
self.scalex_entry.setSingleStep(0.1)
|
||||||
|
self.scalex_entry.setWrapping(True)
|
||||||
|
|
||||||
self.scalex_button = FCButton()
|
self.scalex_button = FCButton()
|
||||||
self.scalex_button.set_value(_("Scale X"))
|
self.scalex_button.set_value(_("Scale X"))
|
||||||
@ -5181,9 +5184,11 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
_("Factor for Scale action over Y axis.")
|
_("Factor for Scale action over Y axis.")
|
||||||
)
|
)
|
||||||
self.scaley_label.setMinimumWidth(50)
|
self.scaley_label.setMinimumWidth(50)
|
||||||
self.scaley_entry = FCEntry()
|
self.scaley_entry = FCDoubleSpinner()
|
||||||
self.scaley_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
|
self.scaley_entry.set_precision(self.decimals)
|
||||||
# self.scaley_entry.setFixedWidth(60)
|
self.scaley_entry.set_range(0.0000, 9999.9999)
|
||||||
|
self.scaley_entry.setSingleStep(0.1)
|
||||||
|
self.scaley_entry.setWrapping(True)
|
||||||
|
|
||||||
self.scaley_button = FCButton()
|
self.scaley_button = FCButton()
|
||||||
self.scaley_button.set_value(_("Scale Y"))
|
self.scaley_button.set_value(_("Scale Y"))
|
||||||
@ -5239,9 +5244,11 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
_("Value for Offset action on X axis.")
|
_("Value for Offset action on X axis.")
|
||||||
)
|
)
|
||||||
self.offx_label.setMinimumWidth(50)
|
self.offx_label.setMinimumWidth(50)
|
||||||
self.offx_entry = FCEntry()
|
self.offx_entry = FCDoubleSpinner()
|
||||||
self.offx_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
|
self.offx_entry.set_precision(self.decimals)
|
||||||
# self.offx_entry.setFixedWidth(60)
|
self.offx_entry.set_range(-9999.9999, 9999.9999)
|
||||||
|
self.offx_entry.setSingleStep(0.1)
|
||||||
|
self.offx_entry.setWrapping(True)
|
||||||
|
|
||||||
self.offx_button = FCButton()
|
self.offx_button = FCButton()
|
||||||
self.offx_button.set_value(_("Offset X"))
|
self.offx_button.set_value(_("Offset X"))
|
||||||
@ -5257,9 +5264,11 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
_("Value for Offset action on Y axis.")
|
_("Value for Offset action on Y axis.")
|
||||||
)
|
)
|
||||||
self.offy_label.setMinimumWidth(50)
|
self.offy_label.setMinimumWidth(50)
|
||||||
self.offy_entry = FCEntry()
|
self.offy_entry = FCDoubleSpinner()
|
||||||
self.offy_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
|
self.offy_entry.set_precision(self.decimals)
|
||||||
# self.offy_entry.setFixedWidth(60)
|
self.offy_entry.set_range(-9999.9999, 9999.9999)
|
||||||
|
self.offy_entry.setSingleStep(0.1)
|
||||||
|
self.offy_entry.setWrapping(True)
|
||||||
|
|
||||||
self.offy_button = FCButton()
|
self.offy_button = FCButton()
|
||||||
self.offy_button.set_value(_("Offset Y"))
|
self.offy_button.set_value(_("Offset Y"))
|
||||||
@ -5298,7 +5307,6 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
_("Flip the selected shape(s) over the X axis.\n"
|
_("Flip the selected shape(s) over the X axis.\n"
|
||||||
"Does not create a new shape.")
|
"Does not create a new shape.")
|
||||||
)
|
)
|
||||||
self.flipx_button.setMinimumWidth(60)
|
|
||||||
|
|
||||||
self.flipy_button = FCButton()
|
self.flipy_button = FCButton()
|
||||||
self.flipy_button.set_value(_("Flip on Y"))
|
self.flipy_button.set_value(_("Flip on Y"))
|
||||||
@ -5306,7 +5314,6 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
_("Flip the selected shape(s) over the X axis.\n"
|
_("Flip the selected shape(s) over the X axis.\n"
|
||||||
"Does not create a new shape.")
|
"Does not create a new shape.")
|
||||||
)
|
)
|
||||||
self.flipy_button.setMinimumWidth(60)
|
|
||||||
|
|
||||||
self.flip_ref_cb = FCCheckBox()
|
self.flip_ref_cb = FCCheckBox()
|
||||||
self.flip_ref_cb.set_value(True)
|
self.flip_ref_cb.set_value(True)
|
||||||
@ -5344,7 +5351,6 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
)
|
)
|
||||||
self.flip_ref_button.setMinimumWidth(60)
|
self.flip_ref_button.setMinimumWidth(60)
|
||||||
|
|
||||||
form4_child_hlay.addStretch()
|
|
||||||
form4_child_hlay.addWidget(self.flipx_button)
|
form4_child_hlay.addWidget(self.flipx_button)
|
||||||
form4_child_hlay.addWidget(self.flipy_button)
|
form4_child_hlay.addWidget(self.flipy_button)
|
||||||
|
|
||||||
@ -5477,16 +5483,8 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
if val:
|
if val:
|
||||||
value = val
|
value = val
|
||||||
else:
|
else:
|
||||||
try:
|
|
||||||
value = float(self.rotate_entry.get_value())
|
value = float(self.rotate_entry.get_value())
|
||||||
except ValueError:
|
|
||||||
# try to convert comma to decimal point. if it's still not working error message and return
|
|
||||||
try:
|
|
||||||
value = float(self.rotate_entry.get_value().replace(',', '.'))
|
|
||||||
except ValueError:
|
|
||||||
self.app.inform.emit('[ERROR_NOTCL] %s' %
|
|
||||||
_("Wrong value format entered, use a number."))
|
|
||||||
return
|
|
||||||
self.app.worker_task.emit({'fcn': self.on_rotate_action,
|
self.app.worker_task.emit({'fcn': self.on_rotate_action,
|
||||||
'params': [value]})
|
'params': [value]})
|
||||||
# self.on_rotate_action(value)
|
# self.on_rotate_action(value)
|
||||||
@ -5520,16 +5518,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
if val:
|
if val:
|
||||||
value = val
|
value = val
|
||||||
else:
|
else:
|
||||||
try:
|
|
||||||
value = float(self.skewx_entry.get_value())
|
value = float(self.skewx_entry.get_value())
|
||||||
except ValueError:
|
|
||||||
# try to convert comma to decimal point. if it's still not working error message and return
|
|
||||||
try:
|
|
||||||
value = float(self.skewx_entry.get_value().replace(',', '.'))
|
|
||||||
except ValueError:
|
|
||||||
self.app.inform.emit('[ERROR_NOTCL] %s' %
|
|
||||||
_("Wrong value format entered, use a number."))
|
|
||||||
return
|
|
||||||
|
|
||||||
# self.on_skew("X", value)
|
# self.on_skew("X", value)
|
||||||
axis = 'X'
|
axis = 'X'
|
||||||
@ -5547,16 +5536,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
if val:
|
if val:
|
||||||
value = val
|
value = val
|
||||||
else:
|
else:
|
||||||
try:
|
|
||||||
value = float(self.skewy_entry.get_value())
|
value = float(self.skewy_entry.get_value())
|
||||||
except ValueError:
|
|
||||||
# try to convert comma to decimal point. if it's still not working error message and return
|
|
||||||
try:
|
|
||||||
value = float(self.skewy_entry.get_value().replace(',', '.'))
|
|
||||||
except ValueError:
|
|
||||||
self.app.inform.emit('[ERROR_NOTCL] %s' %
|
|
||||||
_("Wrong value format entered, use a number."))
|
|
||||||
return
|
|
||||||
|
|
||||||
# self.on_skew("Y", value)
|
# self.on_skew("Y", value)
|
||||||
axis = 'Y'
|
axis = 'Y'
|
||||||
@ -5574,16 +5554,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
if val:
|
if val:
|
||||||
x_value = val
|
x_value = val
|
||||||
else:
|
else:
|
||||||
try:
|
|
||||||
x_value = float(self.scalex_entry.get_value())
|
x_value = float(self.scalex_entry.get_value())
|
||||||
except ValueError:
|
|
||||||
# try to convert comma to decimal point. if it's still not working error message and return
|
|
||||||
try:
|
|
||||||
x_value = float(self.scalex_entry.get_value().replace(',', '.'))
|
|
||||||
except ValueError:
|
|
||||||
self.app.inform.emit('[ERROR_NOTCL] %s' %
|
|
||||||
_("Wrong value format entered, use a number."))
|
|
||||||
return
|
|
||||||
|
|
||||||
# scaling to zero has no sense so we remove it, because scaling with 1 does nothing
|
# scaling to zero has no sense so we remove it, because scaling with 1 does nothing
|
||||||
if x_value == 0:
|
if x_value == 0:
|
||||||
@ -5615,16 +5586,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
if val:
|
if val:
|
||||||
y_value = val
|
y_value = val
|
||||||
else:
|
else:
|
||||||
try:
|
|
||||||
y_value = float(self.scaley_entry.get_value())
|
y_value = float(self.scaley_entry.get_value())
|
||||||
except ValueError:
|
|
||||||
# try to convert comma to decimal point. if it's still not working error message and return
|
|
||||||
try:
|
|
||||||
y_value = float(self.scaley_entry.get_value().replace(',', '.'))
|
|
||||||
except ValueError:
|
|
||||||
self.app.inform.emit('[ERROR_NOTCL] %s' %
|
|
||||||
_("Wrong value format entered, use a number."))
|
|
||||||
return
|
|
||||||
|
|
||||||
# scaling to zero has no sense so we remove it, because scaling with 1 does nothing
|
# scaling to zero has no sense so we remove it, because scaling with 1 does nothing
|
||||||
if y_value == 0:
|
if y_value == 0:
|
||||||
@ -5653,16 +5615,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
if val:
|
if val:
|
||||||
value = val
|
value = val
|
||||||
else:
|
else:
|
||||||
try:
|
|
||||||
value = float(self.offx_entry.get_value())
|
value = float(self.offx_entry.get_value())
|
||||||
except ValueError:
|
|
||||||
# try to convert comma to decimal point. if it's still not working error message and return
|
|
||||||
try:
|
|
||||||
value = float(self.offx_entry.get_value().replace(',', '.'))
|
|
||||||
except ValueError:
|
|
||||||
self.app.inform.emit('[ERROR_NOTCL] %s' %
|
|
||||||
_("Wrong value format entered, use a number."))
|
|
||||||
return
|
|
||||||
|
|
||||||
# self.on_offset("X", value)
|
# self.on_offset("X", value)
|
||||||
axis = 'X'
|
axis = 'X'
|
||||||
@ -5679,16 +5632,7 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
if val:
|
if val:
|
||||||
value = val
|
value = val
|
||||||
else:
|
else:
|
||||||
try:
|
|
||||||
value = float(self.offy_entry.get_value())
|
value = float(self.offy_entry.get_value())
|
||||||
except ValueError:
|
|
||||||
# try to convert comma to decimal point. if it's still not working error message and return
|
|
||||||
try:
|
|
||||||
value = float(self.offy_entry.get_value().replace(',', '.'))
|
|
||||||
except ValueError:
|
|
||||||
self.app.inform.emit('[ERROR_NOTCL] %s' %
|
|
||||||
_("Wrong value format entered, use a number."))
|
|
||||||
return
|
|
||||||
|
|
||||||
# self.on_offset("Y", value)
|
# self.on_offset("Y", value)
|
||||||
axis = 'Y'
|
axis = 'Y'
|
||||||
@ -5881,16 +5825,13 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
self.draw_app.plot_all()
|
self.draw_app.plot_all()
|
||||||
|
|
||||||
if str(axis) == 'X':
|
if str(axis) == 'X':
|
||||||
self.app.inform.emit('[success] %s...' %
|
self.app.inform.emit('[success] %s...' % _('Skew on the X axis done'))
|
||||||
_('Skew on the X axis done'))
|
|
||||||
else:
|
else:
|
||||||
self.app.inform.emit('[success] %s...' %
|
self.app.inform.emit('[success] %s...' % _('Skew on the Y axis done'))
|
||||||
_('Skew on the Y axis done'))
|
|
||||||
self.app.progress.emit(100)
|
self.app.progress.emit(100)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.app.inform.emit('[ERROR_NOTCL] %s: %s' %
|
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Skew action was not executed."), str(e)))
|
||||||
(_("Skew action was not executed."), str(e)))
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def on_scale(self, axis, xfactor, yfactor, point=None):
|
def on_scale(self, axis, xfactor, yfactor, point=None):
|
||||||
@ -5952,15 +5893,12 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
self.draw_app.plot_all()
|
self.draw_app.plot_all()
|
||||||
|
|
||||||
if str(axis) == 'X':
|
if str(axis) == 'X':
|
||||||
self.app.inform.emit('[success] %s...' %
|
self.app.inform.emit('[success] %s...' % _('Scale on the X axis done'))
|
||||||
_('Scale on the X axis done'))
|
|
||||||
else:
|
else:
|
||||||
self.app.inform.emit('[success] %s...' %
|
self.app.inform.emit('[success] %s...' % _('Scale on the Y axis done'))
|
||||||
_('Scale on the Y axis done'))
|
|
||||||
self.app.progress.emit(100)
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.app.inform.emit('[ERROR_NOTCL] %s: %s' %
|
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Scale action was not executed."), str(e)))
|
||||||
(_("Scale action was not executed."), str(e)))
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def on_offset(self, axis, num):
|
def on_offset(self, axis, num):
|
||||||
@ -5979,8 +5917,6 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
else:
|
else:
|
||||||
with self.app.proc_container.new(_("Applying Offset")):
|
with self.app.proc_container.new(_("Applying Offset")):
|
||||||
try:
|
try:
|
||||||
self.app.progress.emit(20)
|
|
||||||
|
|
||||||
for sel_el_shape in elem_list:
|
for sel_el_shape in elem_list:
|
||||||
sel_el = sel_el_shape.geo
|
sel_el = sel_el_shape.geo
|
||||||
if axis is 'X':
|
if axis is 'X':
|
||||||
@ -6000,106 +5936,92 @@ class TransformEditorTool(FlatCAMTool):
|
|||||||
self.draw_app.plot_all()
|
self.draw_app.plot_all()
|
||||||
|
|
||||||
if str(axis) == 'X':
|
if str(axis) == 'X':
|
||||||
self.app.inform.emit('[success] %s...' %
|
self.app.inform.emit('[success] %s...' % _('Offset on the X axis done'))
|
||||||
_('Offset on the X axis done'))
|
|
||||||
else:
|
else:
|
||||||
self.app.inform.emit('[success] %s...' %
|
self.app.inform.emit('[success] %s...' % _('Offset on the Y axis done'))
|
||||||
_('Offset on the Y axis done'))
|
|
||||||
self.app.progress.emit(100)
|
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.app.inform.emit('[ERROR_NOTCL] %s: %s' %
|
self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Offset action was not executed."), str(e)))
|
||||||
(_("Offset action was not executed."), str(e)))
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def on_rotate_key(self):
|
def on_rotate_key(self):
|
||||||
val_box = FCInputDialog(title=_("Rotate ..."),
|
val_box = FCInputDialog(title=_("Rotate ..."),
|
||||||
text='%s:' % _('Enter an Angle Value (degrees)'),
|
text='%s:' % _('Enter an Angle Value (degrees)'),
|
||||||
min=-359.9999, max=360.0000, decimals=4,
|
min=-359.9999, max=360.0000, decimals=self.decimals,
|
||||||
init_val=float(self.app.defaults['tools_transform_rotate']))
|
init_val=float(self.app.defaults['tools_transform_rotate']))
|
||||||
val_box.setWindowIcon(QtGui.QIcon('share/rotate.png'))
|
val_box.setWindowIcon(QtGui.QIcon('share/rotate.png'))
|
||||||
|
|
||||||
val, ok = val_box.get_value()
|
val, ok = val_box.get_value()
|
||||||
if ok:
|
if ok:
|
||||||
self.on_rotate(val=val)
|
self.on_rotate(val=val)
|
||||||
self.app.inform.emit('[success] %s...' %
|
self.app.inform.emit('[success] %s...' % _("Geometry shape rotate done"))
|
||||||
_("Geometry shape rotate done"))
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
self.app.inform.emit('[WARNING_NOTCL] %s...' %
|
self.app.inform.emit('[WARNING_NOTCL] %s...' % _("Geometry shape rotate cancelled"))
|
||||||
_("Geometry shape rotate cancelled"))
|
|
||||||
|
|
||||||
def on_offx_key(self):
|
def on_offx_key(self):
|
||||||
units = self.app.defaults['units'].lower()
|
units = self.app.defaults['units'].lower()
|
||||||
|
|
||||||
val_box = FCInputDialog(title=_("Offset on X axis ..."),
|
val_box = FCInputDialog(title=_("Offset on X axis ..."),
|
||||||
text='%s: (%s)' % (_('Enter a distance Value'), str(units)),
|
text='%s: (%s)' % (_('Enter a distance Value'), str(units)),
|
||||||
min=-9999.9999, max=10000.0000, decimals=4,
|
min=-9999.9999, max=10000.0000, decimals=self.decimals,
|
||||||
init_val=float(self.app.defaults['tools_transform_offset_x']))
|
init_val=float(self.app.defaults['tools_transform_offset_x']))
|
||||||
val_box.setWindowIcon(QtGui.QIcon('share/offsetx32.png'))
|
val_box.setWindowIcon(QtGui.QIcon('share/offsetx32.png'))
|
||||||
|
|
||||||
val, ok = val_box.get_value()
|
val, ok = val_box.get_value()
|
||||||
if ok:
|
if ok:
|
||||||
self.on_offx(val=val)
|
self.on_offx(val=val)
|
||||||
self.app.inform.emit('[success] %s...' %
|
self.app.inform.emit('[success] %s...' % _("Geometry shape offset on X axis done"))
|
||||||
_("Geometry shape offset on X axis done"))
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
self.app.inform.emit('[WARNING_NOTCL] %s...' %
|
self.app.inform.emit('[WARNING_NOTCL] %s...' % _("Geometry shape offset X cancelled"))
|
||||||
_("Geometry shape offset X cancelled"))
|
|
||||||
|
|
||||||
def on_offy_key(self):
|
def on_offy_key(self):
|
||||||
units = self.app.defaults['units'].lower()
|
units = self.app.defaults['units'].lower()
|
||||||
|
|
||||||
val_box = FCInputDialog(title=_("Offset on Y axis ..."),
|
val_box = FCInputDialog(title=_("Offset on Y axis ..."),
|
||||||
text='%s: (%s)' % (_('Enter a distance Value'), str(units)),
|
text='%s: (%s)' % (_('Enter a distance Value'), str(units)),
|
||||||
min=-9999.9999, max=10000.0000, decimals=4,
|
min=-9999.9999, max=10000.0000, decimals=self.decimals,
|
||||||
init_val=float(self.app.defaults['tools_transform_offset_y']))
|
init_val=float(self.app.defaults['tools_transform_offset_y']))
|
||||||
val_box.setWindowIcon(QtGui.QIcon('share/offsety32.png'))
|
val_box.setWindowIcon(QtGui.QIcon('share/offsety32.png'))
|
||||||
|
|
||||||
val, ok = val_box.get_value()
|
val, ok = val_box.get_value()
|
||||||
if ok:
|
if ok:
|
||||||
self.on_offx(val=val)
|
self.on_offx(val=val)
|
||||||
self.app.inform.emit('[success] %s...' %
|
self.app.inform.emit('[success] %s...' % _("Geometry shape offset on Y axis done"))
|
||||||
_("Geometry shape offset on Y axis done"))
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
self.app.inform.emit('[WARNING_NOTCL] %s...' %
|
self.app.inform.emit('[WARNING_NOTCL] %s...' % _("Geometry shape offset Y cancelled"))
|
||||||
_("Geometry shape offset Y cancelled"))
|
|
||||||
|
|
||||||
def on_skewx_key(self):
|
def on_skewx_key(self):
|
||||||
val_box = FCInputDialog(title=_("Skew on X axis ..."),
|
val_box = FCInputDialog(title=_("Skew on X axis ..."),
|
||||||
text='%s:' % _('Enter an Angle Value (degrees)'),
|
text='%s:' % _('Enter an Angle Value (degrees)'),
|
||||||
min=-359.9999, max=360.0000, decimals=4,
|
min=-359.9999, max=360.0000, decimals=self.decimals,
|
||||||
init_val=float(self.app.defaults['tools_transform_skew_x']))
|
init_val=float(self.app.defaults['tools_transform_skew_x']))
|
||||||
val_box.setWindowIcon(QtGui.QIcon('share/skewX.png'))
|
val_box.setWindowIcon(QtGui.QIcon('share/skewX.png'))
|
||||||
|
|
||||||
val, ok = val_box.get_value()
|
val, ok = val_box.get_value()
|
||||||
if ok:
|
if ok:
|
||||||
self.on_skewx(val=val)
|
self.on_skewx(val=val)
|
||||||
self.app.inform.emit('[success] %s...' %
|
self.app.inform.emit('[success] %s...' % _("Geometry shape skew on X axis done"))
|
||||||
_("Geometry shape skew on X axis done"))
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
self.app.inform.emit('[WARNING_NOTCL] %s...' %
|
self.app.inform.emit('[WARNING_NOTCL] %s...' % _("Geometry shape skew X cancelled"))
|
||||||
_("Geometry shape skew X cancelled"))
|
|
||||||
|
|
||||||
def on_skewy_key(self):
|
def on_skewy_key(self):
|
||||||
val_box = FCInputDialog(title=_("Skew on Y axis ..."),
|
val_box = FCInputDialog(title=_("Skew on Y axis ..."),
|
||||||
text='%s:' % _('Enter an Angle Value (degrees)'),
|
text='%s:' % _('Enter an Angle Value (degrees)'),
|
||||||
min=-359.9999, max=360.0000, decimals=4,
|
min=-359.9999, max=360.0000, decimals=self.decimals,
|
||||||
init_val=float(self.app.defaults['tools_transform_skew_y']))
|
init_val=float(self.app.defaults['tools_transform_skew_y']))
|
||||||
val_box.setWindowIcon(QtGui.QIcon('share/skewY.png'))
|
val_box.setWindowIcon(QtGui.QIcon('share/skewY.png'))
|
||||||
|
|
||||||
val, ok = val_box.get_value()
|
val, ok = val_box.get_value()
|
||||||
if ok:
|
if ok:
|
||||||
self.on_skewx(val=val)
|
self.on_skewx(val=val)
|
||||||
self.app.inform.emit('[success] %s...' %
|
self.app.inform.emit('[success] %s...' % _("Geometry shape skew on Y axis done"))
|
||||||
_("Geometry shape skew on Y axis done"))
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
self.app.inform.emit('[WARNING_NOTCL] %s...' %
|
self.app.inform.emit('[WARNING_NOTCL] %s...' % _("Geometry shape skew Y cancelled"))
|
||||||
_("Geometry shape skew Y cancelled"))
|
|
||||||
|
|
||||||
|
|
||||||
def get_shapely_list_bounds(geometry_list):
|
def get_shapely_list_bounds(geometry_list):
|
||||||
|
Loading…
Reference in New Issue
Block a user