Procházet zdrojové kódy

- fixed cncjob TclCommand - it used the default values for parameters
- fixed the layout in ToolTransform
- fixed the initial text in the ToolShell

Marius Stanciu před 7 roky
rodič
revize
3ea1f4e62c
6 změnil soubory, kde provedl 84 přidání a 68 odebrání
  1. 5 5
      FlatCAMApp.py
  2. 9 19
      FlatCAMObj.py
  3. 6 0
      README.md
  4. 12 11
      camlib.py
  5. 7 6
      flatcamTools/ToolShell.py
  6. 45 27
      flatcamTools/ToolTransform.py

+ 5 - 5
FlatCAMApp.py

@@ -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()
 

+ 9 - 19
FlatCAMObj.py

@@ -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

+ 6 - 0
README.md

@@ -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

+ 12 - 11
camlib.py

@@ -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

+ 7 - 6
flatcamTools/ToolShell.py

@@ -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):

+ 45 - 27
flatcamTools/ToolTransform.py

@@ -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,