- 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)
# Version
version = 'Beta1'
version_date = "2019/01/03"
version = '8.6 Beta1'
version_date = "2019/01/06"
# URL for update checks and statistics
version_url = "http://flatcam.org/version"
@ -1091,13 +1091,13 @@ class App(QtCore.QObject):
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.setWindowIcon(self.ui.app_icon)
self.shell.setWindowTitle("FlatCAM Shell")
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("Type help to get started.\n\n")
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.init_tcl()

View File

@ -3221,8 +3221,6 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
ppname_g = ppname_g if ppname_g else self.options["ppname_g"]
print(self.tools)
# Object initialization function for app.new_object()
# RUNNING ON SEPARATE THREAD!
def job_init(job_obj, app_obj):
@ -3232,15 +3230,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
job_obj.options["tooldia"] = tooldia
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.fr_decimals = self.app.defaults["cncjob_fr_decimals"]
app_obj.progress.emit(40)
@ -3248,16 +3238,16 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
job_obj.options['type'] = 'Geometry'
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.
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,
tolerance=0.0005,
extracut=extracut, endz=endz, startz=startz,
toolchange=toolchange, toolchangez=toolchangez, toolchangexy=toolchangexy)
toolchange=toolchange, toolchangez=toolchangez, toolchangexy=toolchangexy,
extracut=extracut, startz=startz, endz=endz,
pp_geometry_name=ppname_g
)
app_obj.progress.emit(50)
# 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
- initial merge into FlatCAM regular

View File

@ -4754,16 +4754,14 @@ class CNCjob(Geometry):
self.gcode = gcode
def generate_from_multitool_geometry(self, geometry, append=True,
tooldia=None, offset=0.0, tolerance=0,
z_cut=1.0, z_move=2.0,
feedrate=2.0, feedrate_z=2.0, feedrate_rapid=30,
spindlespeed=None, dwell=False, dwelltime=1.0,
multidepth=False, depthpercut=None,
toolchange=False, toolchangez=1.0, toolchangexy="0.0, 0.0",
extracut=False, startz=None, endz=2.0,
pp_geometry_name=None, tool_no=1):
tooldia=None, offset=0.0, tolerance=0, z_cut=1.0, z_move=2.0,
feedrate=2.0, feedrate_z=2.0, feedrate_rapid=30,
spindlespeed=None, dwell=False, dwelltime=1.0,
multidepth=False, depthpercut=None,
toolchange=False, toolchangez=1.0, toolchangexy="0.0, 0.0", 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:
----------------------
@ -4781,7 +4779,7 @@ class CNCjob(Geometry):
:return: None
"""
log.debug("Generate_from_geometry_2()")
log.debug("Generate_from_multitool_geometry()")
temp_solid_geometry = []
if offset != 0.0:
@ -4948,7 +4946,10 @@ class CNCjob(Geometry):
overlapping the first point in path to ensure complete copper removal
: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()")
# 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):
def __init__(self):
def __init__(self, version):
QTextEdit.__init__(self)
self.menu = None
self.version = version
def contextMenuEvent(self, event):
self.menu = self.createStandardContextMenu(event.pos())
@ -29,7 +30,7 @@ class _BrowserTextEdit(QTextEdit):
def 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 = text.replace('\n', '<br/>')
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
"""
def __init__(self, *args):
def __init__(self, version, *args):
QWidget.__init__(self, *args)
self._browser = _BrowserTextEdit()
self._browser = _BrowserTextEdit(version=version)
self._browser.setStyleSheet("font: 9pt \"Courier\";")
self._browser.setReadOnly(True)
self._browser.document().setDefaultStyleSheet(
@ -338,8 +339,8 @@ class TermWidget(QWidget):
self._edit.moveCursor(QTextCursor.End)
class FCShell(TermWidget):
def __init__(self, sysShell, *args):
TermWidget.__init__(self, *args)
def __init__(self, sysShell, version, *args):
TermWidget.__init__(self, version, *args)
self._sysShell = sysShell
def is_command_complete(self, text):

View File

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