From 51290a6b8b14e6b836aa46a2faba1d98ab5c3935 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Tue, 21 Jul 2020 06:08:48 +0300 Subject: [PATCH] - Excellon UI in Legacy Mode (2D): fixed the Solid checkbox functionality --- CHANGELOG.md | 1 + appGUI/PlotCanvasLegacy.py | 14 +++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b17d2346..a2d8fdff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ CHANGELOG for FlatCAM beta - the Path optimization options for Excellon and Geometry objects are now available depending on the OS platform used (32bit vs 64bit) - fixed MultiColor checkbox in Excellon Object to work in Legacy Mode (2D) - modified the visibility change in Excellon UI to no longer do plot() when doing visibility toggle for one of the tools but only a visibility change in the shapes properties +- Excellon UI in Legacy Mode (2D): fixed the Solid checkbox functionality 20.07.2020 diff --git a/appGUI/PlotCanvasLegacy.py b/appGUI/PlotCanvasLegacy.py index bd594995..e6b8a214 100644 --- a/appGUI/PlotCanvasLegacy.py +++ b/appGUI/PlotCanvasLegacy.py @@ -1361,11 +1361,15 @@ class ShapeCollectionLegacy: log.debug("ShapeCollectionLegacy.redraw() excellon poly --> %s" % str(e)) else: try: - x, y = local_shapes[element]['shape'].exterior.coords.xy - self.axes.plot(x, y, 'r-', linewidth=local_shapes[element]['linewidth']) - for ints in local_shapes[element]['shape'].interiors: - x, y = ints.coords.xy - self.axes.plot(x, y, 'o-', linewidth=local_shapes[element]['linewidth']) + if isinstance(local_shapes[element]['shape'], Polygon): + x, y = local_shapes[element]['shape'].exterior.coords.xy + self.axes.plot(x, y, 'r-', linewidth=local_shapes[element]['linewidth']) + for ints in local_shapes[element]['shape'].interiors: + x, y = ints.coords.xy + self.axes.plot(x, y, 'o-', linewidth=local_shapes[element]['linewidth']) + elif isinstance(local_shapes[element]['shape'], LinearRing): + x, y = local_shapes[element]['shape'].coords.xy + self.axes.plot(x, y, 'r-', linewidth=local_shapes[element]['linewidth']) except Exception as e: log.debug("ShapeCollectionLegacy.redraw() excellon no poly --> %s" % str(e)) elif obj_type == 'geometry':