Browse Source

Merge branch 'master' of github.com:Ultimaker/Cura into CURA-8510_version_upgrade

Jaime van Kessel 3 years ago
parent
commit
20b76c12a7

+ 2 - 0
plugins/CuraEngineBackend/CuraEngineBackend.py

@@ -428,6 +428,7 @@ class CuraEngineBackend(QObject, Backend):
                                                             "Unable to slice with the current settings. The following settings have errors: {0}").format(", ".join(error_labels)),
                                               title = catalog.i18nc("@info:title", "Unable to slice"),
                                               message_type = Message.MessageType.WARNING)
+                Logger.warning(f"Unable to slice with the current settings. The following settings have errors: {', '.join(error_labels)}")
                 self._error_message.show()
                 self.setState(BackendState.Error)
                 self.backendError.emit(job)
@@ -454,6 +455,7 @@ class CuraEngineBackend(QObject, Backend):
                                                         "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}").format(error_labels = ", ".join(errors.values())),
                                           title = catalog.i18nc("@info:title", "Unable to slice"),
                                           message_type = Message.MessageType.WARNING)
+            Logger.warning(f"Unable to slice due to per-object settings. The following settings have errors on one or more models: {', '.join(errors.values())}")
             self._error_message.show()
             self.setState(BackendState.Error)
             self.backendError.emit(job)

+ 14 - 5
plugins/CuraEngineBackend/StartSliceJob.py

@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Ultimaker B.V.
+# Copyright (c) 2021 Ultimaker B.V.
 # Cura is released under the terms of the LGPLv3 or higher.
 
 import numpy
@@ -353,10 +353,19 @@ class StartSliceJob(Job):
             result[key] = stack.getProperty(key, "value")
             Job.yieldThread()
 
-        result["print_bed_temperature"] = result["material_bed_temperature"] # Renamed settings.
+        # Material identification in addition to non-human-readable GUID
+        result["material_id"] = stack.material.getMetaDataEntry("base_file", "")
+        result["material_type"] = stack.material.getMetaDataEntry("material", "")
+        result["material_name"] = stack.material.getMetaDataEntry("name", "")
+        result["material_brand"] = stack.material.getMetaDataEntry("brand", "")
+
+        # Renamed settings.
+        result["print_bed_temperature"] = result["material_bed_temperature"]
         result["print_temperature"] = result["material_print_temperature"]
         result["travel_speed"] = result["speed_travel"]
-        result["time"] = time.strftime("%H:%M:%S") #Some extra settings.
+
+        #Some extra settings.
+        result["time"] = time.strftime("%H:%M:%S")
         result["date"] = time.strftime("%d-%m-%Y")
         result["day"] = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][int(time.strftime("%w"))]
         result["initial_extruder_nr"] = CuraApplication.getInstance().getExtruderManager().getInitialExtruderNr()
@@ -455,9 +464,9 @@ class StartSliceJob(Job):
         bed_temperature_settings = ["material_bed_temperature", "material_bed_temperature_layer_0"]
         pattern = r"\{(%s)(,\s?\w+)?\}" % "|".join(bed_temperature_settings) # match {setting} as well as {setting, extruder_nr}
         settings["material_bed_temp_prepend"] = re.search(pattern, start_gcode) == None
-        print_temperature_settings = ["material_print_temperature", "material_print_temperature_layer_0", "default_material_print_temperature", "material_initial_print_temperature", "material_final_print_temperature", "material_standby_temperature"]
+        print_temperature_settings = ["material_print_temperature", "material_print_temperature_layer_0", "default_material_print_temperature", "material_initial_print_temperature", "material_final_print_temperature", "material_standby_temperature", "print_temperature"]
         pattern = r"\{(%s)(,\s?\w+)?\}" % "|".join(print_temperature_settings) # match {setting} as well as {setting, extruder_nr}
-        settings["material_print_temp_prepend"] = re.search(pattern, start_gcode) == None
+        settings["material_print_temp_prepend"] = re.search(pattern, start_gcode) is None
 
         # Replace the setting tokens in start and end g-code.
         # Use values from the first used extruder by default so we get the expected temperatures

+ 5 - 5
plugins/Toolbox/src/Toolbox.py

@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Ultimaker B.V.
+# Copyright (c) 2021 Ultimaker B.V.
 # Toolbox is released under the terms of the LGPLv3 or higher.
 
 import json
@@ -542,7 +542,7 @@ class Toolbox(QObject, Extension):
     # Make API Calls
     # --------------------------------------------------------------------------
     def _makeRequestByType(self, request_type: str) -> None:
-        Logger.log("d", "Requesting [%s] metadata from server.", request_type)
+        Logger.debug(f"Requesting {request_type} metadata from server.")
         url = self._request_urls[request_type]
 
         callback = lambda r, rt = request_type: self._onDataRequestFinished(rt, r)
@@ -554,7 +554,7 @@ class Toolbox(QObject, Extension):
 
     @pyqtSlot(str)
     def startDownload(self, url: str) -> None:
-        Logger.log("i", "Attempting to download & install package from %s.", url)
+        Logger.info(f"Attempting to download & install package from {url}.")
 
         callback = lambda r: self._onDownloadFinished(r)
         error_callback = lambda r, e: self._onDownloadFailed(r, e)
@@ -572,7 +572,7 @@ class Toolbox(QObject, Extension):
 
     @pyqtSlot()
     def cancelDownload(self) -> None:
-        Logger.log("i", "User cancelled the download of a package. request %s", self._download_request_data)
+        Logger.info(f"User cancelled the download of a package. request {self._download_request_data}")
         if self._download_request_data is not None:
             self._application.getHttpRequestManager().abortRequest(self._download_request_data)
             self._download_request_data = None
@@ -585,7 +585,7 @@ class Toolbox(QObject, Extension):
     # Handlers for Network Events
     # --------------------------------------------------------------------------
     def _onDataRequestError(self, request_type: str, reply: "QNetworkReply", error: "QNetworkReply.NetworkError") -> None:
-        Logger.log("e", "Request [%s] failed due to error [%s]: %s", request_type, error, reply.errorString())
+        Logger.error(f"Request {request_type} failed due to error {error}: {reply.errorString()}")
         self.setViewPage("errored")
 
     def _onDataRequestFinished(self, request_type: str, reply: "QNetworkReply") -> None:

+ 6 - 6
resources/definitions/eryone_thinker.def.json

@@ -12,7 +12,7 @@
         "platform_texture": "eryone_thinker_plate.png",
         "platform_offset": [0, -120, 0],
         "has_materials": true,
-        "preferred_material": "generic_pla",
+        "preferred_material": "eryone_pla",
         "has_machine_quality": true,
         "preferred_quality_type": "normal",
         "machine_extruder_trains": 
@@ -57,10 +57,10 @@
             "default_value": "Marlin" 
         },
         "machine_start_gcode": { 
-            "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z10.0 F600 ;move the platform down 10mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 Y-3 F1200 ;move to prime\nG1 X10 F1200 ;\nG1 Z0.1 F600 ;get ready to prime\nG1 X120 E15 F1200 ;prime nozzle \nG1 X120 F3600 ;quick wipe\nG92 E0 ;zero the extruded length\nG5 ;enable resume from power failure\nM117 Printing..." 
+            "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z10.0 F600 ;move the platform down 10mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 Y-3 F1200 ;move to prime\nG1 X10 F1200 ;\nG1 Z0.1 F600 ;get ready to prime\nG1 X120 E15 F1200 ;prime nozzle \nG1 X120 F3600 ;quick wipe\nG92 E0 ;zero the extruded length\nM413 S1 ;enable resume from power failure\nM117 Printing..." 
         },
         "machine_end_gcode": { 
-            "default_value": "M104 S0 ;turn off extruder\nM140 S0 ;turn off bed\nM107 ;turn off all fans\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 E-5 F300\nG1 Z+0.5 E-5 ;move Z up a bit and retract filament even more\nG90 ;absolute positioning\nG1 X0 Y250 F4800 ; position for easy part removal\nM84 ;steppers off" 
+            "default_value": "M104 S0 ;turn off extruder\nM140 S0 ;turn off bed\nM107 ;turn off all fans\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 ;move Z up a bit and retract filament even more\nG90 ;absolute positioning\nG1 X0 Y250 F4800 ; position for easy part removal\nM84 ;steppers off" 
         },
         "acceleration_enabled": {
             "value": true
@@ -160,7 +160,7 @@
             "value": 10
         },
         "skirt_brim_speed": {
-            "value": 40
+            "value": "math.ceil(speed_print * 40 / 60)"
         },
         "skirt_gap": {
             "value": 5
@@ -229,7 +229,7 @@
             "value": 3
           },
         "wall_thickness": {
-            "value": "1.2"
+            "value": "line_width * wall_line_count"
         },
         "bottom_layers": {
             "value": "4"
@@ -250,4 +250,4 @@
             "value": "'z_seam_corner_inner'"
         }
     }
-}
+}

+ 2 - 3
resources/definitions/hellbot_magna_2_230_dual.def.json

@@ -39,11 +39,10 @@
             "default_value": 2
         },
 	"machine_start_gcode": {
-             "default_value": "G21\nG90\nM107\nG28 X0 Y0\nG28 Z0\nG1 Z15.0 F300\nT0\nG92 E0\nG1 F700 E-80\nT1\nG92 E0\nG1 F1000 X1 Y1 Z0.3\nG1 F600 X200 E60\nG1 F1000 Y3\nG1 F600 X1 E120\nT1\nG92 E0\nG28 X0 Y0\nG1 F700 E-80\nT0\nG92 E0"
-	  },
+             "default_value": "M104 T0 S{material_print_temperature}\nM104 T1 S{material_print_temperature}\nM109 T0 S{material_print_temperature}\nM109 T1 S{material_print_temperature}\nG21\nG90 \nG28 X0 Y0 \nG28 Z0 \nG1 Z15.0 F300 \nT0 \nG92 E0 \nG1 F700 E-80 \nT1 \nG92 E0 \nG1 F1000 X1 Y1 Z0.3 \nG1 F600 X200 E60 \nG1 F1000 Y3 \nG1 F600 X1 E120 \nT1 \nG92 E0 \nG28 X0 Y0 \nG1 F700 E-80 \nT0 \nG92 E0"
+	},
         "machine_end_gcode": {
             "default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84"
         }
-
     }
 }

+ 2 - 3
resources/definitions/hellbot_magna_2_300_dual.def.json

@@ -39,11 +39,10 @@
             "default_value": 2
         },
 	"machine_start_gcode": {
-             "default_value": "G21\nG90\nM107\nG28 X0 Y0\nG28 Z0\nG1 Z15.0 F300\nT0\nG92 E0\nG1 F700 E-80\nT1\nG92 E0\nG1 F1000 X1 Y1 Z0.3\nG1 F600 X200 E60\nG1 F1000 Y3\nG1 F600 X1 E120\nT1\nG92 E0\nG28 X0 Y0\nG1 F700 E-80\nT0\nG92 E0"
-	  },
+             "default_value": "M104 T0 S{material_print_temperature}\nM104 T1 S{material_print_temperature}\nM109 T0 S{material_print_temperature}\nM109 T1 S{material_print_temperature}\nG21\nG90 \nG28 X0 Y0 \nG28 Z0 \nG1 Z15.0 F300 \nT0 \nG92 E0 \nG1 F700 E-80 \nT1 \nG92 E0 \nG1 F1000 X1 Y1 Z0.3 \nG1 F600 X200 E60 \nG1 F1000 Y3 \nG1 F600 X1 E120 \nT1 \nG92 E0 \nG28 X0 Y0 \nG1 F700 E-80 \nT0 \nG92 E0"
+	},
         "machine_end_gcode": {
             "default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84"
         }
-
     }
 }

+ 7 - 1
resources/extruders/hellbot_magna_2_230_dual_extruder_0.def.json

@@ -13,6 +13,12 @@
             "maximum_value": "1"
         },
         "machine_nozzle_size": { "default_value": 0.4 },
-        "material_diameter": { "default_value": 1.75 }
+        "material_diameter": { "default_value": 1.75 },
+		"machine_extruder_start_code": {
+            "default_value": "T0 \nG92 E0 \nG1 F1000 E100 \nG92 E0 \nM104 S{material_print_temperature}"
+        },
+        "machine_extruder_end_code": {
+            "default_value": "G92 E0 \nG1 F2500 E-5 \nG1 F2400 X230 Y200 \nG1 F3000 E-100 \nG92 E0 \nG90"
+        }
     }
 }

+ 7 - 1
resources/extruders/hellbot_magna_2_230_dual_extruder_1.def.json

@@ -13,6 +13,12 @@
             "maximum_value": "1"
         },
         "machine_nozzle_size": { "default_value": 0.4 },
-        "material_diameter": { "default_value": 1.75 }
+        "material_diameter": { "default_value": 1.75 },
+		"machine_extruder_start_code": {
+            "default_value": "T1 \nG92 E0 \nG1 F1000 E100 \nG92 E0 \nM104 S{material_print_temperature}"
+        },
+        "machine_extruder_end_code": {
+            "default_value": "G92 E0 \nG1 F2500 E-5 \nG1 F2400 X230 Y200 \nG1 F3000 E-100 \nG92 E0 \nG90"
+        }
     }
 }

+ 7 - 1
resources/extruders/hellbot_magna_2_300_dual_extruder_0.def.json

@@ -13,6 +13,12 @@
             "maximum_value": "1"
         },
         "machine_nozzle_size": { "default_value": 0.4 },
-        "material_diameter": { "default_value": 1.75 }
+        "material_diameter": { "default_value": 1.75 },
+		"machine_extruder_start_code": {
+            "default_value": "T0 \nG92 E0 \nG1 F1000 E100 \nG92 E0 \nM104 S{material_print_temperature}"
+        },
+        "machine_extruder_end_code": {
+            "default_value": "G92 E0 \nG1 F2500 E-5 \nG1 F2400 X300 Y250 \nG1 F3000 E-100 \nG92 E0 \nG90"
+        }
     }
 }

+ 7 - 1
resources/extruders/hellbot_magna_2_300_dual_extruder_1.def.json

@@ -13,6 +13,12 @@
             "maximum_value": "1"
         },
         "machine_nozzle_size": { "default_value": 0.4 },
-        "material_diameter": { "default_value": 1.75 }
+        "material_diameter": { "default_value": 1.75 },
+		"machine_extruder_start_code": {
+            "default_value": "T1 \nG92 E0 \nG1 F1000 E100 \nG92 E0 \nM104 S{material_print_temperature}"
+        },
+        "machine_extruder_end_code": {
+            "default_value": "G92 E0 \nG1 F2500 E-5 \nG1 F2400 X300 Y250 \nG1 F3000 E-100 \nG92 E0 \nG90"
+        }
     }
 }

Some files were not shown because too many files changed in this diff