- fixed cncjob TclCommand - it used the default values for parameters

- fixed the layout in ToolTransform
- fixed the initial text in the ToolShell
This commit is contained in:
Marius Stanciu
2019-01-06 20:40:05 +02:00
committed by Marius S
parent 6da418c4c8
commit 3ea1f4e62c
6 changed files with 84 additions and 68 deletions

View File

@@ -87,8 +87,8 @@ class App(QtCore.QObject):
log.addHandler(handler) log.addHandler(handler)
# Version # Version
version = 'Beta1' version = '8.6 Beta1'
version_date = "2019/01/03" version_date = "2019/01/06"
# URL for update checks and statistics # URL for update checks and statistics
version_url = "http://flatcam.org/version" version_url = "http://flatcam.org/version"
@@ -1091,13 +1091,13 @@ class App(QtCore.QObject):
self.myKeywords = self.tcl_commands_list + self.ordinary_keywords self.myKeywords = self.tcl_commands_list + self.ordinary_keywords
self.shell = FCShell(self) self.shell = FCShell(self, version=self.version)
self.shell._edit.set_model_data(self.myKeywords) self.shell._edit.set_model_data(self.myKeywords)
self.shell.setWindowIcon(self.ui.app_icon) self.shell.setWindowIcon(self.ui.app_icon)
self.shell.setWindowTitle("FlatCAM Shell") self.shell.setWindowTitle("FlatCAM Shell")
self.shell.resize(*self.defaults["global_shell_shape"]) self.shell.resize(*self.defaults["global_shell_shape"])
self.shell.append_output("FlatCAM %s\n(c) 2014-2019 Juan Pablo Caram\n\n" % self.version) self.shell.append_output("FlatCAM %s (c)2014-2019 Juan Pablo Caram " % self.version)
self.shell.append_output("Type help to get started.\n\n") self.shell.append_output("(Type help to get started)\n\n")
self.init_tcl() self.init_tcl()

View File

@@ -3221,8 +3221,6 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
ppname_g = ppname_g if ppname_g else self.options["ppname_g"] ppname_g = ppname_g if ppname_g else self.options["ppname_g"]
print(self.tools)
# Object initialization function for app.new_object() # Object initialization function for app.new_object()
# RUNNING ON SEPARATE THREAD! # RUNNING ON SEPARATE THREAD!
def job_init(job_obj, app_obj): def job_init(job_obj, app_obj):
@@ -3232,15 +3230,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
job_obj.options["tooldia"] = tooldia job_obj.options["tooldia"] = tooldia
app_obj.progress.emit(20) app_obj.progress.emit(20)
job_obj.z_cut = z_cut
job_obj.z_move = z_move
job_obj.feedrate = feedrate
job_obj.feedrate_z = feedrate_z
job_obj.feedrate_rapid = feedrate_rapid
job_obj.pp_geometry_name = ppname_g
job_obj.spindlespeed = spindlespeed
job_obj.dwell = dwell
job_obj.dwelltime = dwelltime
job_obj.coords_decimals = self.app.defaults["cncjob_coords_decimals"] job_obj.coords_decimals = self.app.defaults["cncjob_coords_decimals"]
job_obj.fr_decimals = self.app.defaults["cncjob_fr_decimals"] job_obj.fr_decimals = self.app.defaults["cncjob_fr_decimals"]
app_obj.progress.emit(40) app_obj.progress.emit(40)
@@ -3248,16 +3238,16 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
job_obj.options['type'] = 'Geometry' job_obj.options['type'] = 'Geometry'
job_obj.options['tool_dia'] = tooldia job_obj.options['tool_dia'] = tooldia
job_obj.toolchange = self.options["toolchange"]
job_obj.toolchangez = self.options["toolchangez"]
job_obj.toolchangexy = self.options["toolchangexy"]
# TODO: The tolerance should not be hard coded. Just for testing. # TODO: The tolerance should not be hard coded. Just for testing.
job_obj.generate_from_geometry_2(self, tooldia=tooldia, offset=offset, job_obj.generate_from_geometry_2(self, tooldia=tooldia, offset=offset, tolerance=0.0005,
z_cut=z_cut, z_move=z_move,
feedrate=feedrate, feedrate_z=feedrate_z, feedrate_rapid=feedrate_rapid,
spindlespeed=spindlespeed, dwell=dwell, dwelltime=dwelltime,
multidepth=multidepth, depthpercut=depthperpass, multidepth=multidepth, depthpercut=depthperpass,
tolerance=0.0005, toolchange=toolchange, toolchangez=toolchangez, toolchangexy=toolchangexy,
extracut=extracut, endz=endz, startz=startz, extracut=extracut, startz=startz, endz=endz,
toolchange=toolchange, toolchangez=toolchangez, toolchangexy=toolchangexy) pp_geometry_name=ppname_g
)
app_obj.progress.emit(50) app_obj.progress.emit(50)
# tell gcode_parse from which point to start drawing the lines depending on what kind of object is the # tell gcode_parse from which point to start drawing the lines depending on what kind of object is the

View File

@@ -9,6 +9,12 @@ CAD program, and create G-Code for Isolation routing.
================================================= =================================================
5.01.2019
- fixed cncjob TclCommand - it used the default values for parameters
- fixed the layout in ToolTransform
- fixed the initial text in the ToolShell
3.01.2019 3.01.2019
- initial merge into FlatCAM regular - initial merge into FlatCAM regular

View File

@@ -4754,16 +4754,14 @@ class CNCjob(Geometry):
self.gcode = gcode self.gcode = gcode
def generate_from_multitool_geometry(self, geometry, append=True, def generate_from_multitool_geometry(self, geometry, append=True,
tooldia=None, offset=0.0, tolerance=0, tooldia=None, offset=0.0, tolerance=0, z_cut=1.0, z_move=2.0,
z_cut=1.0, z_move=2.0, feedrate=2.0, feedrate_z=2.0, feedrate_rapid=30,
feedrate=2.0, feedrate_z=2.0, feedrate_rapid=30, spindlespeed=None, dwell=False, dwelltime=1.0,
spindlespeed=None, dwell=False, dwelltime=1.0, multidepth=False, depthpercut=None,
multidepth=False, depthpercut=None, toolchange=False, toolchangez=1.0, toolchangexy="0.0, 0.0", extracut=False,
toolchange=False, toolchangez=1.0, toolchangexy="0.0, 0.0", startz=None, endz=2.0, pp_geometry_name=None, tool_no=1):
extracut=False, startz=None, endz=2.0,
pp_geometry_name=None, tool_no=1):
""" """
Second algorithm to generate from Geometry. Algorithm to generate from multitool Geometry.
Algorithm description: Algorithm description:
---------------------- ----------------------
@@ -4781,7 +4779,7 @@ class CNCjob(Geometry):
:return: None :return: None
""" """
log.debug("Generate_from_geometry_2()") log.debug("Generate_from_multitool_geometry()")
temp_solid_geometry = [] temp_solid_geometry = []
if offset != 0.0: if offset != 0.0:
@@ -4948,7 +4946,10 @@ class CNCjob(Geometry):
overlapping the first point in path to ensure complete copper removal overlapping the first point in path to ensure complete copper removal
:return: None :return: None
""" """
assert isinstance(geometry, Geometry), "Expected a Geometry, got %s" % type(geometry)
if not isinstance(geometry, Geometry):
self.app.inform.emit("[error]Expected a Geometry, got %s" % type(geometry))
return 'fail'
log.debug("Generate_from_geometry_2()") log.debug("Generate_from_geometry_2()")
# if solid_geometry is empty raise an exception # if solid_geometry is empty raise an exception

View File

@@ -14,9 +14,10 @@ from PyQt5.QtWidgets import QLineEdit, QSizePolicy, QTextEdit, QVBoxLayout, QWid
class _BrowserTextEdit(QTextEdit): class _BrowserTextEdit(QTextEdit):
def __init__(self): def __init__(self, version):
QTextEdit.__init__(self) QTextEdit.__init__(self)
self.menu = None self.menu = None
self.version = version
def contextMenuEvent(self, event): def contextMenuEvent(self, event):
self.menu = self.createStandardContextMenu(event.pos()) self.menu = self.createStandardContextMenu(event.pos())
@@ -29,7 +30,7 @@ class _BrowserTextEdit(QTextEdit):
def clear(self): def clear(self):
QTextEdit.clear(self) QTextEdit.clear(self)
text = "FlatCAM 3000\n(c) 2014-2019 Juan Pablo Caram\n\nType help to get started.\n\n" text = "FlatCAM %s (c)2014-2019 Juan Pablo Caram (Type help to get started)\n\n" % self.version
text = html.escape(text) text = html.escape(text)
text = text.replace('\n', '<br/>') text = text.replace('\n', '<br/>')
self.moveCursor(QTextCursor.End) self.moveCursor(QTextCursor.End)
@@ -174,10 +175,10 @@ class TermWidget(QWidget):
User pressed Enter. Client class should decide, if command must be executed or user may continue edit it User pressed Enter. Client class should decide, if command must be executed or user may continue edit it
""" """
def __init__(self, *args): def __init__(self, version, *args):
QWidget.__init__(self, *args) QWidget.__init__(self, *args)
self._browser = _BrowserTextEdit() self._browser = _BrowserTextEdit(version=version)
self._browser.setStyleSheet("font: 9pt \"Courier\";") self._browser.setStyleSheet("font: 9pt \"Courier\";")
self._browser.setReadOnly(True) self._browser.setReadOnly(True)
self._browser.document().setDefaultStyleSheet( self._browser.document().setDefaultStyleSheet(
@@ -338,8 +339,8 @@ class TermWidget(QWidget):
self._edit.moveCursor(QTextCursor.End) self._edit.moveCursor(QTextCursor.End)
class FCShell(TermWidget): class FCShell(TermWidget):
def __init__(self, sysShell, *args): def __init__(self, sysShell, version, *args):
TermWidget.__init__(self, *args) TermWidget.__init__(self, version, *args)
self._sysShell = sysShell self._sysShell = sysShell
def is_command_complete(self, text): def is_command_complete(self, text):

View File

@@ -43,7 +43,7 @@ class ToolTransform(FlatCAMTool):
## Layout ## Layout
form_layout = QtWidgets.QFormLayout() form_layout = QtWidgets.QFormLayout()
self.transform_lay.addLayout(form_layout) self.transform_lay.addLayout(form_layout)
form_child = QtWidgets.QFormLayout() form_child = QtWidgets.QHBoxLayout()
self.rotate_label = QtWidgets.QLabel("Angle:") self.rotate_label = QtWidgets.QLabel("Angle:")
self.rotate_label.setToolTip( self.rotate_label.setToolTip(
@@ -55,7 +55,7 @@ class ToolTransform(FlatCAMTool):
self.rotate_label.setFixedWidth(50) self.rotate_label.setFixedWidth(50)
self.rotate_entry = FCEntry() self.rotate_entry = FCEntry()
self.rotate_entry.setFixedWidth(60) # self.rotate_entry.setFixedWidth(60)
self.rotate_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.rotate_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.rotate_button = FCButton() self.rotate_button = FCButton()
@@ -67,7 +67,9 @@ class ToolTransform(FlatCAMTool):
) )
self.rotate_button.setFixedWidth(60) self.rotate_button.setFixedWidth(60)
form_child.addRow(self.rotate_entry, self.rotate_button) form_child.addWidget(self.rotate_entry)
form_child.addWidget(self.rotate_button)
form_layout.addRow(self.rotate_label, form_child) form_layout.addRow(self.rotate_label, form_child)
self.transform_lay.addWidget(self.empty_label1) self.transform_lay.addWidget(self.empty_label1)
@@ -79,8 +81,8 @@ class ToolTransform(FlatCAMTool):
## Form Layout ## Form Layout
form1_layout = QtWidgets.QFormLayout() form1_layout = QtWidgets.QFormLayout()
self.transform_lay.addLayout(form1_layout) self.transform_lay.addLayout(form1_layout)
form1_child_1 = QtWidgets.QFormLayout() form1_child_1 = QtWidgets.QHBoxLayout()
form1_child_2 = QtWidgets.QFormLayout() form1_child_2 = QtWidgets.QHBoxLayout()
self.skewx_label = QtWidgets.QLabel("Angle X:") self.skewx_label = QtWidgets.QLabel("Angle X:")
self.skewx_label.setToolTip( self.skewx_label.setToolTip(
@@ -90,7 +92,7 @@ class ToolTransform(FlatCAMTool):
self.skewx_label.setFixedWidth(50) self.skewx_label.setFixedWidth(50)
self.skewx_entry = FCEntry() self.skewx_entry = FCEntry()
self.skewx_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.skewx_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.skewx_entry.setFixedWidth(60) # self.skewx_entry.setFixedWidth(60)
self.skewx_button = FCButton() self.skewx_button = FCButton()
self.skewx_button.set_value("Skew X") self.skewx_button.set_value("Skew X")
@@ -108,7 +110,7 @@ class ToolTransform(FlatCAMTool):
self.skewy_label.setFixedWidth(50) self.skewy_label.setFixedWidth(50)
self.skewy_entry = FCEntry() self.skewy_entry = FCEntry()
self.skewy_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.skewy_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.skewy_entry.setFixedWidth(60) # self.skewy_entry.setFixedWidth(60)
self.skewy_button = FCButton() self.skewy_button = FCButton()
self.skewy_button.set_value("Skew Y") self.skewy_button.set_value("Skew Y")
@@ -118,8 +120,12 @@ class ToolTransform(FlatCAMTool):
"the bounding box for all selected objects.") "the bounding box for all selected objects.")
self.skewy_button.setFixedWidth(60) self.skewy_button.setFixedWidth(60)
form1_child_1.addRow(self.skewx_entry, self.skewx_button) form1_child_1.addWidget(self.skewx_entry)
form1_child_2.addRow(self.skewy_entry, self.skewy_button) form1_child_1.addWidget(self.skewx_button)
form1_child_2.addWidget(self.skewy_entry)
form1_child_2.addWidget(self.skewy_button)
form1_layout.addRow(self.skewx_label, form1_child_1) form1_layout.addRow(self.skewx_label, form1_child_1)
form1_layout.addRow(self.skewy_label, form1_child_2) form1_layout.addRow(self.skewy_label, form1_child_2)
@@ -132,8 +138,8 @@ class ToolTransform(FlatCAMTool):
## Form Layout ## Form Layout
form2_layout = QtWidgets.QFormLayout() form2_layout = QtWidgets.QFormLayout()
self.transform_lay.addLayout(form2_layout) self.transform_lay.addLayout(form2_layout)
form2_child_1 = QtWidgets.QFormLayout() form2_child_1 = QtWidgets.QHBoxLayout()
form2_child_2 = QtWidgets.QFormLayout() form2_child_2 = QtWidgets.QHBoxLayout()
self.scalex_label = QtWidgets.QLabel("Factor X:") self.scalex_label = QtWidgets.QLabel("Factor X:")
self.scalex_label.setToolTip( self.scalex_label.setToolTip(
@@ -142,7 +148,7 @@ class ToolTransform(FlatCAMTool):
self.scalex_label.setFixedWidth(50) self.scalex_label.setFixedWidth(50)
self.scalex_entry = FCEntry() self.scalex_entry = FCEntry()
self.scalex_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.scalex_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.scalex_entry.setFixedWidth(60) # self.scalex_entry.setFixedWidth(60)
self.scalex_button = FCButton() self.scalex_button = FCButton()
self.scalex_button.set_value("Scale X") self.scalex_button.set_value("Scale X")
@@ -159,7 +165,7 @@ class ToolTransform(FlatCAMTool):
self.scaley_label.setFixedWidth(50) self.scaley_label.setFixedWidth(50)
self.scaley_entry = FCEntry() self.scaley_entry = FCEntry()
self.scaley_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.scaley_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.scaley_entry.setFixedWidth(60) # self.scaley_entry.setFixedWidth(60)
self.scaley_button = FCButton() self.scaley_button = FCButton()
self.scaley_button.set_value("Scale Y") self.scaley_button.set_value("Scale Y")
@@ -186,8 +192,12 @@ class ToolTransform(FlatCAMTool):
"and the center of the biggest bounding box\n" "and the center of the biggest bounding box\n"
"of the selected objects when unchecked.") "of the selected objects when unchecked.")
form2_child_1.addRow(self.scalex_entry, self.scalex_button) form2_child_1.addWidget(self.scalex_entry)
form2_child_2.addRow(self.scaley_entry, self.scaley_button) form2_child_1.addWidget(self.scalex_button)
form2_child_2.addWidget(self.scaley_entry)
form2_child_2.addWidget(self.scaley_button)
form2_layout.addRow(self.scalex_label, form2_child_1) form2_layout.addRow(self.scalex_label, form2_child_1)
form2_layout.addRow(self.scaley_label, form2_child_2) form2_layout.addRow(self.scaley_label, form2_child_2)
form2_layout.addRow(self.scale_link_cb, self.scale_zero_ref_cb) form2_layout.addRow(self.scale_link_cb, self.scale_zero_ref_cb)
@@ -202,8 +212,8 @@ class ToolTransform(FlatCAMTool):
## Form Layout ## Form Layout
form3_layout = QtWidgets.QFormLayout() form3_layout = QtWidgets.QFormLayout()
self.transform_lay.addLayout(form3_layout) self.transform_lay.addLayout(form3_layout)
form3_child_1 = QtWidgets.QFormLayout() form3_child_1 = QtWidgets.QHBoxLayout()
form3_child_2 = QtWidgets.QFormLayout() form3_child_2 = QtWidgets.QHBoxLayout()
self.offx_label = QtWidgets.QLabel("Value X:") self.offx_label = QtWidgets.QLabel("Value X:")
self.offx_label.setToolTip( self.offx_label.setToolTip(
@@ -212,7 +222,7 @@ class ToolTransform(FlatCAMTool):
self.offx_label.setFixedWidth(50) self.offx_label.setFixedWidth(50)
self.offx_entry = FCEntry() self.offx_entry = FCEntry()
self.offx_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.offx_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.offx_entry.setFixedWidth(60) # self.offx_entry.setFixedWidth(60)
self.offx_button = FCButton() self.offx_button = FCButton()
self.offx_button.set_value("Offset X") self.offx_button.set_value("Offset X")
@@ -229,7 +239,7 @@ class ToolTransform(FlatCAMTool):
self.offy_label.setFixedWidth(50) self.offy_label.setFixedWidth(50)
self.offy_entry = FCEntry() self.offy_entry = FCEntry()
self.offy_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.offy_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.offy_entry.setFixedWidth(60) # self.offy_entry.setFixedWidth(60)
self.offy_button = FCButton() self.offy_button = FCButton()
self.offy_button.set_value("Offset Y") self.offy_button.set_value("Offset Y")
@@ -239,8 +249,12 @@ class ToolTransform(FlatCAMTool):
"the bounding box for all selected objects.\n") "the bounding box for all selected objects.\n")
self.offy_button.setFixedWidth(60) self.offy_button.setFixedWidth(60)
form3_child_1.addRow(self.offx_entry, self.offx_button) form3_child_1.addWidget(self.offx_entry)
form3_child_2.addRow(self.offy_entry, self.offy_button) form3_child_1.addWidget(self.offx_button)
form3_child_2.addWidget(self.offy_entry)
form3_child_2.addWidget(self.offy_button)
form3_layout.addRow(self.offx_label, form3_child_1) form3_layout.addRow(self.offx_label, form3_child_1)
form3_layout.addRow(self.offy_label, form3_child_2) form3_layout.addRow(self.offy_label, form3_child_2)
@@ -252,9 +266,10 @@ class ToolTransform(FlatCAMTool):
## Form Layout ## Form Layout
form4_layout = QtWidgets.QFormLayout() form4_layout = QtWidgets.QFormLayout()
form4_child_hlay = QtWidgets.QHBoxLayout()
self.transform_lay.addLayout(form4_child_hlay)
self.transform_lay.addLayout(form4_layout) self.transform_lay.addLayout(form4_layout)
form4_child = QtWidgets.QFormLayout() form4_child_1 = QtWidgets.QHBoxLayout()
form4_child_1 = QtWidgets.QFormLayout()
self.flipx_button = FCButton() self.flipx_button = FCButton()
self.flipx_button.set_value("Flip on X") self.flipx_button.set_value("Flip on X")
@@ -296,7 +311,7 @@ class ToolTransform(FlatCAMTool):
self.flip_ref_label.setFixedWidth(50) self.flip_ref_label.setFixedWidth(50)
self.flip_ref_entry = EvalEntry2("(0, 0)") self.flip_ref_entry = EvalEntry2("(0, 0)")
self.flip_ref_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.flip_ref_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.flip_ref_entry.setFixedWidth(60) # self.flip_ref_entry.setFixedWidth(60)
self.flip_ref_button = FCButton() self.flip_ref_button = FCButton()
self.flip_ref_button.set_value("Add") self.flip_ref_button.set_value("Add")
@@ -306,10 +321,13 @@ class ToolTransform(FlatCAMTool):
"SHIFT key. Then click Add button to insert.") "SHIFT key. Then click Add button to insert.")
self.flip_ref_button.setFixedWidth(60) self.flip_ref_button.setFixedWidth(60)
form4_child.addRow(self.flipx_button, self.flipy_button) form4_child_hlay.addStretch()
form4_child_1.addRow(self.flip_ref_entry, self.flip_ref_button) form4_child_hlay.addWidget(self.flipx_button)
form4_child_hlay.addWidget(self.flipy_button)
form4_child_1.addWidget(self.flip_ref_entry)
form4_child_1.addWidget(self.flip_ref_button)
form4_layout.addRow(self.empty_label, form4_child)
form4_layout.addRow(self.flip_ref_cb) form4_layout.addRow(self.flip_ref_cb)
form4_layout.addRow(self.flip_ref_label, form4_child_1) form4_layout.addRow(self.flip_ref_label, form4_child_1)
self.ois_flip = OptionalInputSection(self.flip_ref_cb, self.ois_flip = OptionalInputSection(self.flip_ref_cb,