Quellcode durchsuchen

- Excellon UI in Legacy Mode (2D): fixed the Solid checkbox functionality

Marius Stanciu vor 5 Jahren
Ursprung
Commit
51290a6b8b
2 geänderte Dateien mit 10 neuen und 5 gelöschten Zeilen
  1. 1 0
      CHANGELOG.md
  2. 9 5
      appGUI/PlotCanvasLegacy.py

+ 1 - 0
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
 

+ 9 - 5
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':