Просмотр исходного кода

- fixed bug in Geometry Editor in buffer_int() function that created an Circular Reference Error when applying buffer interior on a geometry.

Marius Stanciu 6 лет назад
Родитель
Сommit
1307026d83
3 измененных файлов с 14 добавлено и 5 удалено
  1. 5 3
      FlatCAMApp.py
  2. 4 0
      README.md
  3. 5 2
      flatcamEditors/FlatCAMGeoEditor.py

+ 5 - 3
FlatCAMApp.py

@@ -95,7 +95,7 @@ class App(QtCore.QObject):
 
 
     # Version
     # Version
     version = 8.913
     version = 8.913
-    version_date = "2019/03/25"
+    version_date = "2019/04/12"
     beta = True
     beta = True
 
 
     # current date now
     # current date now
@@ -2169,8 +2169,9 @@ class App(QtCore.QObject):
                     edited_obj.options['ymin'] = ymin
                     edited_obj.options['ymin'] = ymin
                     edited_obj.options['xmax'] = xmax
                     edited_obj.options['xmax'] = xmax
                     edited_obj.options['ymax'] = ymax
                     edited_obj.options['ymax'] = ymax
-                except AttributeError:
+                except AttributeError as e:
                     self.inform.emit(_("[WARNING] Object empty after edit."))
                     self.inform.emit(_("[WARNING] Object empty after edit."))
+                    log. debug("App.editor2object() --> Geometry --> %s" % str(e))
 
 
             elif isinstance(edited_obj, FlatCAMGerber):
             elif isinstance(edited_obj, FlatCAMGerber):
                 obj_type = "Gerber"
                 obj_type = "Gerber"
@@ -2186,8 +2187,9 @@ class App(QtCore.QObject):
                     edited_obj.options['ymin'] = ymin
                     edited_obj.options['ymin'] = ymin
                     edited_obj.options['xmax'] = xmax
                     edited_obj.options['xmax'] = xmax
                     edited_obj.options['ymax'] = ymax
                     edited_obj.options['ymax'] = ymax
-                except AttributeError:
+                except AttributeError as e:
                     self.inform.emit(_("[WARNING] Object empty after edit."))
                     self.inform.emit(_("[WARNING] Object empty after edit."))
+                    log.debug("App.editor2object() --> Gerber --> %s" % str(e))
 
 
             elif isinstance(edited_obj, FlatCAMExcellon):
             elif isinstance(edited_obj, FlatCAMExcellon):
                 obj_type = "Excellon"
                 obj_type = "Excellon"

+ 4 - 0
README.md

@@ -9,6 +9,10 @@ CAD program, and create G-Code for Isolation routing.
 
 
 =================================================
 =================================================
 
 
+6.04.2019
+
+- fixed bug in Geometry Editor in buffer_int() function that created an Circular Reference Error when applying buffer interior on a geometry.
+
 5.04.2019
 5.04.2019
 
 
 - Gerber Editor: made geometry transfer (which is slow) to Editor to be multithreaded
 - Gerber Editor: made geometry transfer (which is slow) to Editor to be multithreaded

+ 5 - 2
flatcamEditors/FlatCAMGeoEditor.py

@@ -3786,11 +3786,14 @@ class FlatCAMGeoEditor(QtCore.QObject):
             self.selected = []
             self.selected = []
             self.replot()
             self.replot()
             return
             return
+
         if type(results) == MultiPolygon:
         if type(results) == MultiPolygon:
             for poly in results:
             for poly in results:
-                self.add_shape(DrawToolShape(poly.interiors))
+                for interior in poly.interiors:
+                    self.add_shape(DrawToolShape(interior))
         else:
         else:
-            self.add_shape(DrawToolShape(results.interiors))
+            for interior in results:
+                self.add_shape(DrawToolShape(interior))
 
 
         self.replot()
         self.replot()
         self.app.inform.emit(_("[success] Interior buffer geometry created."))
         self.app.inform.emit(_("[success] Interior buffer geometry created."))