- fixed plotting in Gerber Editor

- working on GUI in Gerber Editor
This commit is contained in:
Marius Stanciu 2019-04-03 16:00:44 +03:00 committed by Marius
parent 0cca691422
commit 0a9148f30a
4 changed files with 73 additions and 44 deletions

View File

@ -2160,7 +2160,7 @@ class App(QtCore.QObject):
except AttributeError:
self.inform.emit(_("[WARNING] Object empty after edit."))
if isinstance(edited_obj, FlatCAMGerber):
elif isinstance(edited_obj, FlatCAMGerber):
obj_type = "Gerber"
if cleanup is None:
self.grb_editor.update_fcgerber(edited_obj)

View File

@ -9,6 +9,11 @@ CAD program, and create G-Code for Isolation routing.
=================================================
3.04.2019
- fixed plotting in Gerber Editor
- working on GUI in Gerber Editor
31.03.2019
- fixed issue #281 by making generation of a convex shape for the freeform cutout in Tool Cutout a choice rather than the default

View File

@ -1132,14 +1132,14 @@ class FlatCAMGrbEditor(QtCore.QObject):
self.app.ui.snap_magnet.setVisible(True)
self.app.ui.corner_snap_btn.setVisible(True)
self.app.ui.exc_editor_menu.setDisabled(False)
self.app.ui.exc_editor_menu.menuAction().setVisible(True)
self.app.ui.grb_editor_menu.setDisabled(False)
self.app.ui.grb_editor_menu.menuAction().setVisible(True)
self.app.ui.update_obj_btn.setEnabled(True)
self.app.ui.e_editor_cmenu.setEnabled(True)
self.app.ui.grb_editor_cmenu.setEnabled(True)
self.app.ui.exc_edit_toolbar.setDisabled(False)
self.app.ui.exc_edit_toolbar.setVisible(True)
self.app.ui.grb_edit_toolbar.setDisabled(False)
self.app.ui.grb_edit_toolbar.setVisible(True)
# self.app.ui.snap_toolbar.setDisabled(False)
# start with GRID toolbar activated
@ -1152,7 +1152,7 @@ class FlatCAMGrbEditor(QtCore.QObject):
def deactivate(self):
self.disconnect_canvas_event_handlers()
self.clear()
self.app.ui.exc_edit_toolbar.setDisabled(True)
self.app.ui.grb_edit_toolbar.setDisabled(True)
settings = QSettings("Open Source", "FlatCAM")
if settings.contains("layout"):
@ -1180,8 +1180,8 @@ class FlatCAMGrbEditor(QtCore.QObject):
self.app.ui.corner_snap_btn.setVisible(False)
# set the Editor Toolbar visibility to what was before entering in the Editor
self.app.ui.exc_edit_toolbar.setVisible(False) if self.toolbar_old_state is False \
else self.app.ui.exc_edit_toolbar.setVisible(True)
self.app.ui.grb_edit_toolbar.setVisible(False) if self.toolbar_old_state is False \
else self.app.ui.grb_edit_toolbar.setVisible(True)
# Disable visuals
self.shapes.enabled = False
@ -1191,12 +1191,13 @@ class FlatCAMGrbEditor(QtCore.QObject):
# Tell the app that the editor is no longer active
self.editor_active = False
self.app.ui.exc_editor_menu.setDisabled(True)
self.app.ui.exc_editor_menu.menuAction().setVisible(False)
self.app.ui.grb_editor_menu.setDisabled(True)
self.app.ui.grb_editor_menu.menuAction().setVisible(False)
self.app.ui.update_obj_btn.setEnabled(False)
self.app.ui.g_editor_cmenu.setEnabled(False)
self.app.ui.grb_editor_cmenu.setEnabled(False)
self.app.ui.e_editor_cmenu.setEnabled(False)
# Show original geometry
@ -1879,18 +1880,6 @@ class FlatCAMGrbEditor(QtCore.QObject):
continue
self.plot_shape(geometry=shape_plus.geo, color=self.app.defaults['global_draw_color'])
# for shape in self.storage.get_objects():
# if shape.geo is None: # TODO: This shouldn't have happened
# continue
#
# if shape in self.selected:
# self.plot_shape(geometry=shape.geo, color=self.app.defaults['global_sel_draw_color'], linewidth=2)
# continue
#
# self.plot_shape(geometry=shape.geo, color=self.app.defaults['global_draw_color'])
for shape in self.utility:
self.plot_shape(geometry=shape.geo, linewidth=1)
continue
@ -1907,34 +1896,38 @@ class FlatCAMGrbEditor(QtCore.QObject):
:param linewidth: Width of lines in # of pixels.
:return: List of plotted elements.
"""
plot_elements = []
# plot_elements = []
if geometry is None:
geometry = self.active_tool.geometry
try:
for geo in geometry:
plot_elements += self.plot_shape(geometry=geo, color=color, linewidth=linewidth)
## Non-iterable
except TypeError:
## DrawToolShape
if isinstance(geometry, DrawToolShape):
plot_elements += self.plot_shape(geometry=geometry.geo, color=color, linewidth=linewidth)
## Polygon: Descend into exterior and each interior.
if type(geometry) == Polygon:
plot_elements += self.plot_shape(geometry=geometry.exterior, color=color, linewidth=linewidth)
plot_elements += self.plot_shape(geometry=geometry.interiors, color=color, linewidth=linewidth)
if type(geometry) == LineString or type(geometry) == LinearRing:
plot_elements.append(self.shapes.add(shape=geometry, color=color, layer=0))
self.shapes.add(shape=geometry.geo, color=color, face_color=color, layer=0)
except AttributeError:
if type(geometry) == Point:
pass
return
self.shapes.add(shape=geometry, color=color, face_color=color+'AF', layer=0)
return plot_elements
# try:
# for geo in geometry:
# plot_elements += self.plot_shape(geometry=geo.geo, color=color, linewidth=linewidth)
#
# ## Non-iterable
# except TypeError:
#
# # ## DrawToolShape
# # if isinstance(geometry, DrawToolShape):
# # plot_elements += self.plot_shape(geometry=geometry.geo, color=color, linewidth=linewidth)
# #
# # ## Polygon: Descend into exterior and each interior.
# # if type(geometry) == Polygon:
# # plot_elements += self.plot_shape(geometry=geometry.exterior, color=color, linewidth=linewidth)
# # plot_elements += self.plot_shape(geometry=geometry.interiors, color=color, linewidth=linewidth)
# if type(geometry) == Point:
# pass
# else:
# plot_elements.append(self.shapes.add(shape=geometry, color=color, face_color=color, layer=0))
# return plot_elements
def on_shape_complete(self):
self.app.log.debug("on_shape_complete()")

View File

@ -451,6 +451,30 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.exc_move_drill_menuitem = self.exc_editor_menu.addAction(
QtGui.QIcon('share/move32.png'),_( 'Move Drill(s)\tM'))
self.grb_editor_menu = QtWidgets.QMenu(_(">Gerber Editor<"))
self.menu.addMenu(self.grb_editor_menu)
self.grb_add_trace_menuitem = self.grb_editor_menu.addAction(
QtGui.QIcon('share/rectangle32.png'), _('Add Trace\tT'))
self.grb_add_zone_menuitem = self.exc_editor_menu.addAction(QtGui.QIcon('share/plus16.png'),
_('Add Zone\tZ'))
self.grb_editor_menu.addSeparator()
self.grb_resize_aperture_menuitem = self.grb_editor_menu.addAction(
QtGui.QIcon('share/resize16.png'), _('Resize Aperture\tR')
)
self.grb_copy_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/copy32.png'), _('Copy\tC'))
self.grb_delete_menuitem = self.grb_editor_menu.addAction(
QtGui.QIcon('share/deleteshape32.png'), _('Delete\tDEL')
)
self.grb_editor_menu.addSeparator()
self.grb_move_menuitem = self.grb_editor_menu.addAction(
QtGui.QIcon('share/move32.png'),_( 'Move\tM'))
self.grb_editor_menu.menuAction().setVisible(False)
self.grb_editor_menu.setDisabled(True)
self.geo_editor_menu.menuAction().setVisible(False)
self.geo_editor_menu.setDisabled(True)
@ -1404,6 +1428,12 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.g_editor_cmenu.addSeparator()
self.draw_move = self.g_editor_cmenu.addAction(QtGui.QIcon('share/move32.png'), _("Move"))
self.grb_editor_cmenu = self.popMenu.addMenu(QtGui.QIcon('share/draw32.png'), _("Gerber Editor"))
self.grb_draw_track = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/path32.png'), _("Track"))
self.grb_draw_zone = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/rectangle32.png'), _("Zone"))
self.grb_editor_cmenu.addSeparator()
self.grb_move = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/move32.png'), _("Move"))
self.e_editor_cmenu = self.popMenu.addMenu(QtGui.QIcon('share/drill32.png'), _("Exc Editor"))
self.drill = self.e_editor_cmenu.addAction(QtGui.QIcon('share/drill32.png'), _("Add Drill"))
self.drill_array = self.e_editor_cmenu.addAction(QtGui.QIcon('share/addarray32.png'), _("Add Drill Array"))
@ -1548,6 +1578,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.grid_snap_btn.trigger()
self.g_editor_cmenu.setEnabled(False)
self.grb_editor_cmenu.setEnabled(False)
self.e_editor_cmenu.setEnabled(False)
self.general_defaults_form = GeneralPreferencesUI()