Cleanup. And fixes #148.
This commit is contained in:
parent
71aca80603
commit
22119072d3
|
@ -1,7 +1,8 @@
|
|||
from PyQt4 import QtGui
|
||||
from GUIElements import RadioSet, EvalEntry, LengthEntry
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
from FlatCAMObj import FlatCAMGerber, FlatCAMExcellon
|
||||
#from FlatCAMObj import FlatCAMGerber, FlatCAMExcellon
|
||||
from FlatCAMObj import *
|
||||
from shapely.geometry import Point
|
||||
from shapely import affinity
|
||||
|
||||
|
|
|
@ -1814,6 +1814,13 @@ class App(QtCore.QObject):
|
|||
App.log.debug("Project loaded")
|
||||
|
||||
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()")
|
||||
|
||||
|
@ -1822,17 +1829,17 @@ class App(QtCore.QObject):
|
|||
"zdownrate": CNCjob,
|
||||
"excellon_zeros": Excellon,
|
||||
"gerber_use_buffer_for_union": Gerber,
|
||||
"cncjob_coordinate_format": CNCjob,
|
||||
"spindlespeed": CNCjob
|
||||
"cncjob_coordinate_format": CNCjob
|
||||
# "spindlespeed": CNCjob
|
||||
}
|
||||
|
||||
for param in routes:
|
||||
if param in routes[param].defaults:
|
||||
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:
|
||||
# Try extracting the name:
|
||||
# classname_param here is param in the object
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
from PyQt4 import QtCore
|
||||
import FlatCAMApp
|
||||
#import FlatCAMApp
|
||||
|
||||
|
||||
class Worker(QtCore.QObject):
|
||||
|
@ -14,13 +14,15 @@ class Worker(QtCore.QObject):
|
|||
self.name = name
|
||||
|
||||
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.
|
||||
self.app.worker_task.connect(self.do_worker_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
|
||||
# specific worker.
|
||||
|
@ -32,4 +34,5 @@ class Worker(QtCore.QObject):
|
|||
task['fcn'](*task['params'])
|
||||
return
|
||||
|
||||
FlatCAMApp.App.log.debug("Task ignored.")
|
||||
# FlatCAMApp.App.log.debug("Task ignored.")
|
||||
self.app.log.debug("Task ignored.")
|
|
@ -1,7 +1,10 @@
|
|||
from PyQt4 import QtGui, QtCore
|
||||
from copy import copy
|
||||
import FlatCAMApp
|
||||
#import FlatCAMApp
|
||||
import re
|
||||
import logging
|
||||
|
||||
log = logging.getLogger('base')
|
||||
|
||||
|
||||
class RadioSet(QtGui.QWidget):
|
||||
|
@ -37,7 +40,7 @@ class RadioSet(QtGui.QWidget):
|
|||
self.group_toggle_fn = lambda: None
|
||||
|
||||
def on_toggle(self):
|
||||
FlatCAMApp.App.log.debug("Radio toggled")
|
||||
log.debug("Radio toggled")
|
||||
radio = self.sender()
|
||||
if radio.isChecked():
|
||||
self.group_toggle_fn()
|
||||
|
@ -47,7 +50,7 @@ class RadioSet(QtGui.QWidget):
|
|||
for choice in self.choices:
|
||||
if choice['radio'].isChecked():
|
||||
return choice['value']
|
||||
FlatCAMApp.App.log.error("No button was toggled in RadioSet.")
|
||||
log.error("No button was toggled in RadioSet.")
|
||||
return None
|
||||
|
||||
def set_value(self, val):
|
||||
|
@ -55,7 +58,7 @@ class RadioSet(QtGui.QWidget):
|
|||
if choice['value'] == val:
|
||||
choice['radio'].setChecked(True)
|
||||
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):
|
||||
|
@ -78,7 +81,7 @@ class LengthEntry(QtGui.QLineEdit):
|
|||
if val is not None:
|
||||
self.set_text(QtCore.QString(str(val)))
|
||||
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):
|
||||
raw = str(self.text()).strip(' ')
|
||||
|
@ -92,7 +95,7 @@ class LengthEntry(QtGui.QLineEdit):
|
|||
else:
|
||||
return float(eval(match.group(1)))
|
||||
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
|
||||
|
||||
def set_value(self, val):
|
||||
|
@ -108,14 +111,14 @@ class FloatEntry(QtGui.QLineEdit):
|
|||
if val is not None:
|
||||
self.set_text(QtCore.QString(str(val)))
|
||||
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):
|
||||
raw = str(self.text()).strip(' ')
|
||||
try:
|
||||
evaled = eval(raw)
|
||||
except:
|
||||
FlatCAMApp.App.log.error("Could not evaluate: %s" % str(raw))
|
||||
log.error("Could not evaluate: %s" % str(raw))
|
||||
return None
|
||||
|
||||
return float(evaled)
|
||||
|
@ -168,14 +171,14 @@ class EvalEntry(QtGui.QLineEdit):
|
|||
if val is not None:
|
||||
self.setText(QtCore.QString(str(val)))
|
||||
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):
|
||||
raw = str(self.text()).strip(' ')
|
||||
try:
|
||||
return eval(raw)
|
||||
except:
|
||||
FlatCAMApp.App.log.error("Could not evaluate: %s" % str(raw))
|
||||
log.error("Could not evaluate: %s" % str(raw))
|
||||
return None
|
||||
|
||||
def set_value(self, val):
|
||||
|
@ -226,19 +229,19 @@ class VerticalScrollArea(QtGui.QScrollArea):
|
|||
:return:
|
||||
"""
|
||||
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.verticalScrollBar().sizeHint().width())
|
||||
|
||||
# if self.verticalScrollBar().isVisible():
|
||||
# FlatCAMApp.App.log.debug(" Scroll bar visible")
|
||||
# log.debug(" Scroll bar visible")
|
||||
# self.setMinimumWidth(self.widget().minimumSizeHint().width() +
|
||||
# self.verticalScrollBar().width())
|
||||
# else:
|
||||
# FlatCAMApp.App.log.debug(" Scroll bar hidden")
|
||||
# log.debug(" Scroll bar hidden")
|
||||
# self.setMinimumWidth(self.widget().minimumSizeHint().width())
|
||||
return QtGui.QWidget.eventFilter(self, source, event)
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
import sys
|
||||
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):
|
||||
|
|
11
camlib.py
11
camlib.py
|
@ -2415,7 +2415,7 @@ class Excellon(Geometry):
|
|||
self.solid_geometry = []
|
||||
|
||||
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']
|
||||
poly = drill['point'].buffer(tooldia / 2.0)
|
||||
self.solid_geometry.append(poly)
|
||||
|
@ -2506,8 +2506,7 @@ class CNCjob(Geometry):
|
|||
|
||||
defaults = {
|
||||
"zdownrate": None,
|
||||
"coordinate_format": "X%.4fY%.4f",
|
||||
"spindlespeed": None
|
||||
"coordinate_format": "X%.4fY%.4f"
|
||||
}
|
||||
|
||||
def __init__(self,
|
||||
|
@ -2535,6 +2534,7 @@ class CNCjob(Geometry):
|
|||
self.input_geometry_bounds = None
|
||||
self.gcode_parsed = None
|
||||
self.steps_per_circ = 20 # Used when parsing G-code arcs
|
||||
|
||||
if zdownrate is not None:
|
||||
self.zdownrate = float(zdownrate)
|
||||
elif CNCjob.defaults["zdownrate"] is not None:
|
||||
|
@ -2544,7 +2544,6 @@ class CNCjob(Geometry):
|
|||
|
||||
self.spindlespeed = spindlespeed
|
||||
|
||||
|
||||
# Attributes to be included in serialization
|
||||
# Always append to it because it carries contents
|
||||
# from Geometry.
|
||||
|
@ -2610,10 +2609,12 @@ class CNCjob(Geometry):
|
|||
gcode += self.feedminutecode + "\n"
|
||||
gcode += "F%.2f\n" % self.feedrate
|
||||
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
|
||||
else:
|
||||
gcode += "M03\n" # Spindle start
|
||||
|
||||
gcode += self.pausecode + "\n"
|
||||
|
||||
for tool in points:
|
||||
|
|
Loading…
Reference in New Issue