From dd030b960235f1921f72f036627599c926c9d0ea Mon Sep 17 00:00:00 2001 From: Ruben D Date: Thu, 7 Sep 2017 16:35:38 +0200 Subject: [PATCH 1/5] Add setting to only iron the highest layer of a mesh --- resources/definitions/fdmprinter.def.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 817da65247..7a870d2c55 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -5712,6 +5712,16 @@ "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, + "ironing_only_highest_layer": + { + "label": "Iron Only Highest Layer", + "description": "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish.", + "type": "bool", + "default_value": false, + "enabled": "ironing_enabled", + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true + }, "ironing_pattern": { "label": "Ironing Pattern", From ff17b7c4171f9b307fb38add188f5dced258f349 Mon Sep 17 00:00:00 2001 From: Pieter Bos Date: Sun, 17 Sep 2017 00:04:50 +0200 Subject: [PATCH 2/5] Improve Prusa MK2 start GCode --- resources/definitions/prusa_i3_mk2.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/prusa_i3_mk2.def.json b/resources/definitions/prusa_i3_mk2.def.json index d4425728d4..ef3ef8159e 100644 --- a/resources/definitions/prusa_i3_mk2.def.json +++ b/resources/definitions/prusa_i3_mk2.def.json @@ -41,7 +41,7 @@ "machine_max_jerk_e": { "default_value": 2.5 }, "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, "machine_start_gcode": { - "default_value": "G21 ; set units to millimeters\nG90 ; use absolute positioning\nM82 ; absolute extrusion mode\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nM104 S{material_print_temperature} ; set extruder temp\nM140 S{material_bed_temperature} ; set bed temp\nM190 S{material_bed_temperature} ; wait for bed temp\nM109 S{material_print_temperature} ; wait for extruder temp\nG92 E0.0 ; reset extruder distance position\nG1 Y-3.0 F1000.0 ; go outside print area\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E21.5 F1000.0 ; intro line\nG92 E0.0 ; reset extruder distance position" + "default_value": "G21 ; set units to millimeters\nG90 ; use absolute positioning\nM82 ; absolute extrusion mode\nM104 S{material_print_temperature} ; set extruder temp\nM140 S{material_bed_temperature} ; set bed temp\nM190 S{material_bed_temperature} ; wait for bed temp\nM109 S{material_print_temperature} ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG92 E0.0 ; reset extruder distance position\nG1 Y-3.0 F1000.0 ; go outside print area\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E21.5 F1000.0 ; intro line\nG92 E0.0 ; reset extruder distance position" }, "machine_end_gcode": { "default_value": "M104 S0 ; turn off extruder\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y210; home X axis and push Y forward\nM84 ; disable motors" From 2901b832a5f7115ead68a1b663c148926b7c7493 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 18 Sep 2017 09:00:39 +0200 Subject: [PATCH 3/5] Sync setting visibility with XmlMaterialProfile This is why we shouldn't do double-data. --- cura/Settings/MaterialSettingsVisibilityHandler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cura/Settings/MaterialSettingsVisibilityHandler.py b/cura/Settings/MaterialSettingsVisibilityHandler.py index a533a0cabd..b97987a18e 100644 --- a/cura/Settings/MaterialSettingsVisibilityHandler.py +++ b/cura/Settings/MaterialSettingsVisibilityHandler.py @@ -11,6 +11,7 @@ class MaterialSettingsVisibilityHandler(UM.Settings.Models.SettingVisibilityHand "default_material_print_temperature", "material_bed_temperature", "material_standby_temperature", + "material_flow_temp_graph", "cool_fan_speed", "retraction_amount", "retraction_speed", From 6c2bd10a20f8d79743b942bda27d6b22a1dad1aa Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 18 Sep 2017 11:18:50 +0200 Subject: [PATCH 4/5] Remove redundant feedrate override The default in ultimaker.def.json is also 45, so this is not necessary. --- resources/definitions/ultimaker2.def.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/resources/definitions/ultimaker2.def.json b/resources/definitions/ultimaker2.def.json index 1931e5f8e3..0a9a7bf7ce 100644 --- a/resources/definitions/ultimaker2.def.json +++ b/resources/definitions/ultimaker2.def.json @@ -89,9 +89,6 @@ "machine_max_feedrate_z": { "default_value": 40 }, - "machine_max_feedrate_e": { - "default_value": 45 - }, "machine_acceleration": { "default_value": 3000 }, From e8553e8e6962fae2583470a4caa2299dcc8d4384 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 18 Sep 2017 11:47:23 +0200 Subject: [PATCH 5/5] Fixed double messages and rearrange some code - CURA-4224 --- .../FirmwareUpdateCheckerJob.py | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index 108cfa4c0d..31ce137ed7 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -54,30 +54,32 @@ class FirmwareUpdateCheckerJob(Job): # Nothing to parse, just get the string # TODO: In the future may be done by parsing a JSON file with diferent version for each printer model current_version = reader(current_version_file).readline().rstrip() - Logger.log("i", "Reading firmware version of %s: %s", machine_name, current_version) - # If it is the first time the version is checked, the checked_version is None + # If it is the first time the version is checked, the checked_version is '' checked_version = Preferences.getInstance().getValue("info/latest_checked_firmware") # If the checked_version is '', it's because is the first time we check firmware and in this case # we will not show the notification, but we will store it for the next time + Preferences.getInstance().setValue("info/latest_checked_firmware", current_version) + Logger.log("i", "Reading firmware version of %s: checked = %s - latest = %s", machine_name, checked_version, current_version) + + # The first time we want to store the current version, the notification will not be shown, + # because the new version of Cura will be release before the firmware and we don't want to + # notify the user when no new firmware version is available. if (checked_version != "") and (checked_version != current_version): - message = Message(i18n_catalog.i18nc("@info", "New %s firmware available

To ensure that your " - "%s is equiped with the latest features it is recommended " - "to update the firmware regularly. This can be done on the " - "%s (when connected to the network) or via USB." - % (machine_name, machine_name, machine_name))) + Logger.log("i", "SHOWING FIRMWARE UPDATE MESSAGE") + message = Message(i18n_catalog.i18nc("@info", "To ensure that your %s is equipped with the latest " + "features it is recommended to update the firmware " + "regularly. This can be done on the %s (when connected " + "to the network) or via USB." + % (machine_name, machine_name)), + title = i18n_catalog.i18nc("@info:title", "New %s firmware available" % machine_name)) message.addAction("download", i18n_catalog.i18nc("@action:button", "Download"), "[no_icon]", "[no_description]") # If we do this in a cool way, the download url should be available in the JSON file self._download_url = "https://ultimaker.com/en/resources/20500-upgrade-firmware" message.actionTriggered.connect(self.actionTriggered) - Application.getInstance().showMessage(message) - - # The first time we want to store the current version, the notification will not be shown, - # because the new version of Cura will be release before the firmware and we don't want to - # notify the user when no new firmware version is available. - Preferences.getInstance().setValue("info/latest_checked_firmware", current_version) + message.show() except Exception as e: Logger.log("w", "Failed to check for new version: %s", e)