Explorar el Código

- fixed the Join function to work on Gerber and Excellon, Gerber and Gerber, Excellon and Excelon combination of objects. The merged property is the solid_geometry and the result is a FlatCAMGeometry object.

Marius Stanciu hace 7 años
padre
commit
954bd9097a
Se han modificado 3 ficheros con 13 adiciones y 5 borrados
  1. 2 1
      FlatCAMApp.py
  2. 9 4
      FlatCAMObj.py
  3. 2 0
      README.md

+ 2 - 1
FlatCAMApp.py

@@ -2044,9 +2044,10 @@ class App(QtCore.QObject):
                     "<BR>"
                     "(c) 2014-2019 <B>Juan Pablo Caram</B><BR>"
                     "<BR>"
-                    "<B>Contributors:</B><BR>"
+                    "<B> Main Contributors:</B><BR>"
                     "Denis Hayrullin<BR>"
                     "Kamil Sopko<BR>"
+                    "Marius Stanciu<BR>"
                     "Matthieu Berthomé<BR>"
                     "and many others found "
                     "<a href = \"https://bitbucket.org/jpcgt/flatcam/pull-requests/?state=MERGED\">here.</a><BR>"

+ 9 - 4
FlatCAMObj.py

@@ -413,6 +413,8 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
         # from predecessors.
         self.ser_attrs += ['options', 'kind']
 
+        self.multigeo = False
+
         # assert isinstance(self.ui, GerberObjectUI)
         # self.ui.plot_cb.stateChanged.connect(self.on_plot_cb_click)
         # self.ui.solid_cb.stateChanged.connect(self.on_solid_cb_click)
@@ -869,6 +871,7 @@ class FlatCAMExcellon(FlatCAMObj, Excellon):
         self.tot_slot_cnt = 0
         self.tool_row_slots = 0
 
+        self.multigeo = False
 
     @staticmethod
     def merge(exc_list, exc_final):
@@ -1733,10 +1736,12 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
                 except ValueError:
                     max_uid = 0
 
-                # add and merge tools
-                for tool_uid in geo.tools:
-                    max_uid += 1
-                    geo_final.tools[max_uid] = dict(geo.tools[tool_uid])
+                # add and merge tools. If what we try to merge as Geometry is Excellon's and/or Gerber's then don't try
+                # to merge the obj.tools as it is likely there is none to merge.
+                if not isinstance(geo, FlatCAMGerber) and not isinstance(geo, FlatCAMExcellon):
+                    for tool_uid in geo.tools:
+                        max_uid += 1
+                        geo_final.tools[max_uid] = dict(geo.tools[tool_uid])
 
     @staticmethod
     def get_pts(o):

+ 2 - 0
README.md

@@ -15,6 +15,8 @@ CAD program, and create G-Code for Isolation routing.
 - fixed the layout in ToolTransform
 - fixed the initial text in the ToolShell
 - reactivated the version check in case the release is not BETA; FlatCAMApp.App has now a beta object that when set True the application will show in the Title and help-> About that is Beta (and it disable version checking)
+- added a new name (mine: for good and/or bad) to the contributors list
+- fixed the Join function to work on Gerber and Excellon, Gerber and Gerber, Excellon and Excelon combination of objects. The merged property is the solid_geometry and the result is a FlatCAMGeometry object.
 
 
 3.01.2019