Juan Pablo Caram 10 лет назад
Родитель
Сommit
22119072d3
6 измененных файлов с 49 добавлено и 32 удалено
  1. 2 1
      DblSidedTool.py
  2. 13 6
      FlatCAMApp.py
  3. 7 4
      FlatCAMWorker.py
  4. 18 15
      GUIElements.py
  5. 3 1
      ObjectUI.py
  6. 6 5
      camlib.py

+ 2 - 1
DblSidedTool.py

@@ -1,7 +1,8 @@
 from PyQt4 import QtGui
 from PyQt4 import QtGui
 from GUIElements import RadioSet, EvalEntry, LengthEntry
 from GUIElements import RadioSet, EvalEntry, LengthEntry
 from FlatCAMTool import FlatCAMTool
 from FlatCAMTool import FlatCAMTool
-from FlatCAMObj import FlatCAMGerber, FlatCAMExcellon
+#from FlatCAMObj import FlatCAMGerber, FlatCAMExcellon
+from FlatCAMObj import *
 from shapely.geometry import Point
 from shapely.geometry import Point
 from shapely import affinity
 from shapely import affinity
 
 

+ 13 - 6
FlatCAMApp.py

@@ -1814,6 +1814,13 @@ class App(QtCore.QObject):
         App.log.debug("Project loaded")
         App.log.debug("Project loaded")
 
 
     def propagate_defaults(self):
     def propagate_defaults(self):
+        """
+        This method is used to set default values in classes. It's
+        an alternative to project options but allows the use
+        of values invisible to the user.
+
+        :return: None
+        """
 
 
         self.log.debug("propagate_defaults()")
         self.log.debug("propagate_defaults()")
 
 
@@ -1822,17 +1829,17 @@ class App(QtCore.QObject):
             "zdownrate": CNCjob,
             "zdownrate": CNCjob,
             "excellon_zeros": Excellon,
             "excellon_zeros": Excellon,
             "gerber_use_buffer_for_union": Gerber,
             "gerber_use_buffer_for_union": Gerber,
-            "cncjob_coordinate_format": CNCjob,
-            "spindlespeed": CNCjob
+            "cncjob_coordinate_format": CNCjob
+            # "spindlespeed": CNCjob
         }
         }
 
 
         for param in routes:
         for param in routes:
             if param in routes[param].defaults:
             if param in routes[param].defaults:
                 try:
                 try:
-			routes[param].defaults[param] = self.defaults[param]
-	                self.log.debug("  " + param + " OK")
-		except KeyError:
-			pass
+                    routes[param].defaults[param] = self.defaults[param]
+                    self.log.debug("  " + param + " OK")
+                except KeyError:
+                    self.log.debug("  ERROR: " + param + " not in defaults.")
             else:
             else:
                 # Try extracting the name:
                 # Try extracting the name:
                 # classname_param here is param in the object
                 # classname_param here is param in the object

+ 7 - 4
FlatCAMWorker.py

@@ -1,5 +1,5 @@
 from PyQt4 import QtCore
 from PyQt4 import QtCore
-import FlatCAMApp
+#import FlatCAMApp
 
 
 
 
 class Worker(QtCore.QObject):
 class Worker(QtCore.QObject):
@@ -14,13 +14,15 @@ class Worker(QtCore.QObject):
         self.name = name
         self.name = name
 
 
     def run(self):
     def run(self):
-        FlatCAMApp.App.log.debug("Worker Started!")
+        # FlatCAMApp.App.log.debug("Worker Started!")
+        self.app.log.debug("Worker Started!")
 
 
         # Tasks are queued in the event listener.
         # Tasks are queued in the event listener.
         self.app.worker_task.connect(self.do_worker_task)
         self.app.worker_task.connect(self.do_worker_task)
 
 
     def do_worker_task(self, task):
     def do_worker_task(self, task):
-        FlatCAMApp.App.log.debug("Running task: %s" % str(task))
+        # FlatCAMApp.App.log.debug("Running task: %s" % str(task))
+        self.app.log.debug("Running task: %s" % str(task))
 
 
         # 'worker_name' property of task allows to target
         # 'worker_name' property of task allows to target
         # specific worker.
         # specific worker.
@@ -32,4 +34,5 @@ class Worker(QtCore.QObject):
             task['fcn'](*task['params'])
             task['fcn'](*task['params'])
             return
             return
 
 
-        FlatCAMApp.App.log.debug("Task ignored.")
+        # FlatCAMApp.App.log.debug("Task ignored.")
+        self.app.log.debug("Task ignored.")

+ 18 - 15
GUIElements.py

@@ -1,7 +1,10 @@
 from PyQt4 import QtGui, QtCore
 from PyQt4 import QtGui, QtCore
 from copy import copy
 from copy import copy
-import FlatCAMApp
+#import FlatCAMApp
 import re
 import re
+import logging
+
+log = logging.getLogger('base')
 
 
 
 
 class RadioSet(QtGui.QWidget):
 class RadioSet(QtGui.QWidget):
@@ -37,7 +40,7 @@ class RadioSet(QtGui.QWidget):
         self.group_toggle_fn = lambda: None
         self.group_toggle_fn = lambda: None
 
 
     def on_toggle(self):
     def on_toggle(self):
-        FlatCAMApp.App.log.debug("Radio toggled")
+        log.debug("Radio toggled")
         radio = self.sender()
         radio = self.sender()
         if radio.isChecked():
         if radio.isChecked():
             self.group_toggle_fn()
             self.group_toggle_fn()
@@ -47,7 +50,7 @@ class RadioSet(QtGui.QWidget):
         for choice in self.choices:
         for choice in self.choices:
             if choice['radio'].isChecked():
             if choice['radio'].isChecked():
                 return choice['value']
                 return choice['value']
-        FlatCAMApp.App.log.error("No button was toggled in RadioSet.")
+        log.error("No button was toggled in RadioSet.")
         return None
         return None
 
 
     def set_value(self, val):
     def set_value(self, val):
@@ -55,7 +58,7 @@ class RadioSet(QtGui.QWidget):
             if choice['value'] == val:
             if choice['value'] == val:
                 choice['radio'].setChecked(True)
                 choice['radio'].setChecked(True)
                 return
                 return
-        FlatCAMApp.App.log.error("Value given is not part of this RadioSet: %s" % str(val))
+        log.error("Value given is not part of this RadioSet: %s" % str(val))
 
 
 
 
 class LengthEntry(QtGui.QLineEdit):
 class LengthEntry(QtGui.QLineEdit):
@@ -78,7 +81,7 @@ class LengthEntry(QtGui.QLineEdit):
         if val is not None:
         if val is not None:
             self.set_text(QtCore.QString(str(val)))
             self.set_text(QtCore.QString(str(val)))
         else:
         else:
-            FlatCAMApp.App.log.warning("Could not interpret entry: %s" % self.get_text())
+            log.warning("Could not interpret entry: %s" % self.get_text())
 
 
     def get_value(self):
     def get_value(self):
         raw = str(self.text()).strip(' ')
         raw = str(self.text()).strip(' ')
@@ -92,7 +95,7 @@ class LengthEntry(QtGui.QLineEdit):
             else:
             else:
                 return float(eval(match.group(1)))
                 return float(eval(match.group(1)))
         except:
         except:
-            FlatCAMApp.App.log.warning("Could not parse value in entry: %s" % str(raw))
+            log.warning("Could not parse value in entry: %s" % str(raw))
             return None
             return None
 
 
     def set_value(self, val):
     def set_value(self, val):
@@ -108,14 +111,14 @@ class FloatEntry(QtGui.QLineEdit):
         if val is not None:
         if val is not None:
             self.set_text(QtCore.QString(str(val)))
             self.set_text(QtCore.QString(str(val)))
         else:
         else:
-            FlatCAMApp.App.log.warning("Could not interpret entry: %s" % self.text())
+            log.warning("Could not interpret entry: %s" % self.text())
 
 
     def get_value(self):
     def get_value(self):
         raw = str(self.text()).strip(' ')
         raw = str(self.text()).strip(' ')
         try:
         try:
             evaled = eval(raw)
             evaled = eval(raw)
         except:
         except:
-            FlatCAMApp.App.log.error("Could not evaluate: %s" % str(raw))
+            log.error("Could not evaluate: %s" % str(raw))
             return None
             return None
 
 
         return float(evaled)
         return float(evaled)
@@ -168,14 +171,14 @@ class EvalEntry(QtGui.QLineEdit):
         if val is not None:
         if val is not None:
             self.setText(QtCore.QString(str(val)))
             self.setText(QtCore.QString(str(val)))
         else:
         else:
-            FlatCAMApp.App.log.warning("Could not interpret entry: %s" % self.get_text())
+            log.warning("Could not interpret entry: %s" % self.get_text())
 
 
     def get_value(self):
     def get_value(self):
         raw = str(self.text()).strip(' ')
         raw = str(self.text()).strip(' ')
         try:
         try:
             return eval(raw)
             return eval(raw)
         except:
         except:
-            FlatCAMApp.App.log.error("Could not evaluate: %s" % str(raw))
+            log.error("Could not evaluate: %s" % str(raw))
             return None
             return None
 
 
     def set_value(self, val):
     def set_value(self, val):
@@ -226,19 +229,19 @@ class VerticalScrollArea(QtGui.QScrollArea):
         :return:
         :return:
         """
         """
         if event.type() == QtCore.QEvent.Resize and source == self.widget():
         if event.type() == QtCore.QEvent.Resize and source == self.widget():
-            # FlatCAMApp.App.log.debug("VerticalScrollArea: Widget resized:")
-            # FlatCAMApp.App.log.debug(" minimumSizeHint().width() = %d" % self.widget().minimumSizeHint().width())
-            # FlatCAMApp.App.log.debug(" verticalScrollBar().width() = %d" % self.verticalScrollBar().width())
+            # log.debug("VerticalScrollArea: Widget resized:")
+            # log.debug(" minimumSizeHint().width() = %d" % self.widget().minimumSizeHint().width())
+            # log.debug(" verticalScrollBar().width() = %d" % self.verticalScrollBar().width())
 
 
             self.setMinimumWidth(self.widget().sizeHint().width() +
             self.setMinimumWidth(self.widget().sizeHint().width() +
                                  self.verticalScrollBar().sizeHint().width())
                                  self.verticalScrollBar().sizeHint().width())
 
 
             # if self.verticalScrollBar().isVisible():
             # if self.verticalScrollBar().isVisible():
-            #     FlatCAMApp.App.log.debug(" Scroll bar visible")
+            #     log.debug(" Scroll bar visible")
             #     self.setMinimumWidth(self.widget().minimumSizeHint().width() +
             #     self.setMinimumWidth(self.widget().minimumSizeHint().width() +
             #                          self.verticalScrollBar().width())
             #                          self.verticalScrollBar().width())
             # else:
             # else:
-            #     FlatCAMApp.App.log.debug(" Scroll bar hidden")
+            #     log.debug(" Scroll bar hidden")
             #     self.setMinimumWidth(self.widget().minimumSizeHint().width())
             #     self.setMinimumWidth(self.widget().minimumSizeHint().width())
         return QtGui.QWidget.eventFilter(self, source, event)
         return QtGui.QWidget.eventFilter(self, source, event)
 
 

+ 3 - 1
ObjectUI.py

@@ -1,6 +1,8 @@
 import sys
 import sys
 from PyQt4 import QtGui, QtCore
 from PyQt4 import QtGui, QtCore
-from GUIElements import *
+#from GUIElements import *
+from GUIElements import FCEntry, FloatEntry, EvalEntry, FCCheckBox, \
+    LengthEntry, FCTextArea, IntEntry, RadioSet, OptionalInputSection
 
 
 
 
 class ObjectUI(QtGui.QWidget):
 class ObjectUI(QtGui.QWidget):

+ 6 - 5
camlib.py

@@ -2415,7 +2415,7 @@ class Excellon(Geometry):
         self.solid_geometry = []
         self.solid_geometry = []
 
 
         for drill in self.drills:
         for drill in self.drills:
-            #poly = drill['point'].buffer(self.tools[drill['tool']]["C"]/2.0)
+            # poly = drill['point'].buffer(self.tools[drill['tool']]["C"]/2.0)
             tooldia = self.tools[drill['tool']]['C']
             tooldia = self.tools[drill['tool']]['C']
             poly = drill['point'].buffer(tooldia / 2.0)
             poly = drill['point'].buffer(tooldia / 2.0)
             self.solid_geometry.append(poly)
             self.solid_geometry.append(poly)
@@ -2506,8 +2506,7 @@ class CNCjob(Geometry):
 
 
     defaults = {
     defaults = {
         "zdownrate": None,
         "zdownrate": None,
-        "coordinate_format": "X%.4fY%.4f",
-        "spindlespeed": None
+        "coordinate_format": "X%.4fY%.4f"
     }
     }
 
 
     def __init__(self,
     def __init__(self,
@@ -2535,6 +2534,7 @@ class CNCjob(Geometry):
         self.input_geometry_bounds = None
         self.input_geometry_bounds = None
         self.gcode_parsed = None
         self.gcode_parsed = None
         self.steps_per_circ = 20  # Used when parsing G-code arcs
         self.steps_per_circ = 20  # Used when parsing G-code arcs
+
         if zdownrate is not None:
         if zdownrate is not None:
             self.zdownrate = float(zdownrate)
             self.zdownrate = float(zdownrate)
         elif CNCjob.defaults["zdownrate"] is not None:
         elif CNCjob.defaults["zdownrate"] is not None:
@@ -2544,7 +2544,6 @@ class CNCjob(Geometry):
 
 
         self.spindlespeed = spindlespeed
         self.spindlespeed = spindlespeed
 
 
-
         # Attributes to be included in serialization
         # Attributes to be included in serialization
         # Always append to it because it carries contents
         # Always append to it because it carries contents
         # from Geometry.
         # from Geometry.
@@ -2610,10 +2609,12 @@ class CNCjob(Geometry):
         gcode += self.feedminutecode + "\n"
         gcode += self.feedminutecode + "\n"
         gcode += "F%.2f\n" % self.feedrate
         gcode += "F%.2f\n" % self.feedrate
         gcode += "G00 Z%.4f\n" % self.z_move  # Move to travel height
         gcode += "G00 Z%.4f\n" % self.z_move  # Move to travel height
-        if(self.spindlespeed != None):
+
+        if self.spindlespeed is not None:
             gcode += "M03 S%d\n" % int(self.spindlespeed)  # Spindle start with configured speed
             gcode += "M03 S%d\n" % int(self.spindlespeed)  # Spindle start with configured speed
         else:
         else:
             gcode += "M03\n"  # Spindle start
             gcode += "M03\n"  # Spindle start
+
         gcode += self.pausecode + "\n"
         gcode += self.pausecode + "\n"
 
 
         for tool in points:
         for tool in points: