From 67d9db41626d1449eb45b897e1d09edc790de543 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Fri, 12 Apr 2019 19:14:14 +0100 Subject: [PATCH 01/23] Added bridge_sparse_infill_max_density to specify max density of sparse infill. A skin that is over sparse infill is considered to be unsupported for bridging purposes. --- 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 8ce0246a93..bc6035bd25 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6750,6 +6750,16 @@ "enabled": "bridge_settings_enabled", "settable_per_mesh": true }, + "bridge_sparse_infill_max_density": + { + "label": "Bridge Sparse Infill Max Density", + "description": "Maximum density of infill considered to be sparse. Skin over sparse infill is considered to be unsupported and so may be treated as a bridge skin.", + "unit": "%", + "type": "float", + "default_value": 0, + "minimum_value": "0", + "settable_per_mesh": true + }, "bridge_wall_coast": { "label": "Bridge Wall Coasting", From abea176f7bb88b3c70f3a7d22789a35bb8ea92bd Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Sat, 4 May 2019 15:31:31 +0100 Subject: [PATCH 02/23] Should only be visible when bridge settings are enabled. --- resources/definitions/fdmprinter.def.json | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index bc6035bd25..4c19ec2cd1 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6758,6 +6758,7 @@ "type": "float", "default_value": 0, "minimum_value": "0", + "enabled": "bridge_settings_enabled", "settable_per_mesh": true }, "bridge_wall_coast": From a6203f462d584475d459f775ebf60bcaadfaa72a Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 15 Nov 2019 15:00:44 +0100 Subject: [PATCH 03/23] Add build_type into crash reports and stats CURA-6981 --- cura/CrashHandler.py | 4 ++++ plugins/SliceInfoPlugin/SliceInfo.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/cura/CrashHandler.py b/cura/CrashHandler.py index 1d85a1da54..1ec00787d7 100644 --- a/cura/CrashHandler.py +++ b/cura/CrashHandler.py @@ -25,6 +25,8 @@ from UM.View.GL.OpenGL import OpenGL from UM.i18n import i18nCatalog from UM.Resources import Resources +from cura import ApplicationMetadata + catalog = i18nCatalog("cura") MYPY = False @@ -181,6 +183,7 @@ class CrashHandler: self.cura_version = catalog.i18nc("@label unknown version of Cura", "Unknown") crash_info = "" + catalog.i18nc("@label Cura version number", "Cura version") + ": " + str(self.cura_version) + "
" + crash_info += "" + catalog.i18nc("@label Cura build type", "Cura build type") + ": " + str(ApplicationMetadata.CuraBuildType) + "
" crash_info += "" + catalog.i18nc("@label Type of platform", "Platform") + ": " + str(platform.platform()) + "
" crash_info += "" + catalog.i18nc("@label", "Qt version") + ": " + str(QT_VERSION_STR) + "
" crash_info += "" + catalog.i18nc("@label", "PyQt version") + ": " + str(PYQT_VERSION_STR) + "
" @@ -191,6 +194,7 @@ class CrashHandler: group.setLayout(layout) self.data["cura_version"] = self.cura_version + self.data["cura_build_type"] = ApplicationMetadata.CuraBuildType self.data["os"] = {"type": platform.system(), "version": platform.version()} self.data["qt_version"] = QT_VERSION_STR self.data["pyqt_version"] = PYQT_VERSION_STR diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index acab445fd6..af8a8b9853 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -18,6 +18,8 @@ from UM.Logger import Logger from UM.PluginRegistry import PluginRegistry from UM.Qt.Duration import DurationFormat +from cura import ApplicationMetadata + from .SliceInfoJob import SliceInfoJob @@ -119,6 +121,7 @@ class SliceInfo(QObject, Extension): data["time_stamp"] = time.time() data["schema_version"] = 0 data["cura_version"] = application.getVersion() + data["cura_build_type"] = ApplicationMetadata.CuraBuildType active_mode = Application.getInstance().getPreferences().getValue("cura/active_mode") if active_mode == 0: From fb4ce43f0cde76af3abed48376b0a9fb216b9be4 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 21 Nov 2019 12:54:33 +0100 Subject: [PATCH 04/23] Prevent crashes when a variant could not be found This should not happen, but we've seen some cases where it would cause a crash, usually when a previous upgrade did something a bit weird (in this specific case; a printer with an empty variant, whereas it should have a variant). Since any change that the user will make will ensure that the variant is no longer empty (eg; any selection of a variant will mean it's no longer empty) and that there is no way back, it should be pretty safe to ignore the situation as it will resolve itself eventually CURA-6992 --- cura/Machines/Models/IntentModel.py | 4 ++++ cura/Settings/IntentManager.py | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cura/Machines/Models/IntentModel.py b/cura/Machines/Models/IntentModel.py index f5560bc94e..986f28a826 100644 --- a/cura/Machines/Models/IntentModel.py +++ b/cura/Machines/Models/IntentModel.py @@ -7,6 +7,7 @@ from PyQt5.QtCore import Qt, QObject, pyqtProperty, pyqtSignal import cura.CuraApplication from UM.Qt.ListModel import ListModel from UM.Settings.ContainerRegistry import ContainerRegistry +from UM.Logger import Logger from cura.Machines.ContainerTree import ContainerTree from cura.Machines.MaterialNode import MaterialNode from cura.Machines.Models.MachineModelUtils import fetchLayerHeight @@ -101,6 +102,9 @@ class IntentModel(ListModel): for extruder in global_stack.extruderList: active_variant_name = extruder.variant.getMetaDataEntry("name") + if active_variant_name not in machine_node.variants: + Logger.log("w", "Could not find the variant %s", active_variant_name) + continue active_variant_node = machine_node.variants[active_variant_name] active_material_node = active_variant_node.materials[extruder.material.getMetaDataEntry("base_file")] nodes.add(active_material_node) diff --git a/cura/Settings/IntentManager.py b/cura/Settings/IntentManager.py index 732e22d1bd..5133b401b4 100644 --- a/cura/Settings/IntentManager.py +++ b/cura/Settings/IntentManager.py @@ -39,7 +39,11 @@ class IntentManager(QObject): # an empty list if nothing was found. def intentMetadatas(self, definition_id: str, nozzle_name: str, material_base_file: str) -> List[Dict[str, Any]]: intent_metadatas = [] # type: List[Dict[str, Any]] - materials = ContainerTree.getInstance().machines[definition_id].variants[nozzle_name].materials + try: + materials = ContainerTree.getInstance().machines[definition_id].variants[nozzle_name].materials + except KeyError: + Logger.log("w", "Unable to find the machine %s or the variant %s", definition_id, nozzle_name) + materials = {} if material_base_file not in materials: return intent_metadatas From e937cdc9373682016d4f5a80b98621ea1928b4b4 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 21 Nov 2019 13:10:01 +0100 Subject: [PATCH 05/23] Fix case where a global profile would be recognised as a extruder profile CURA-6991 --- cura/Machines/MachineNode.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Machines/MachineNode.py b/cura/Machines/MachineNode.py index 8d69ffdc8d..92f71b409b 100644 --- a/cura/Machines/MachineNode.py +++ b/cura/Machines/MachineNode.py @@ -140,7 +140,7 @@ class MachineNode(ContainerNode): elif groups_by_name[name].intent_category == "default": # Intent category should be stored as "default" if everything is default or as the intent if any of the extruder have an actual intent. groups_by_name[name].intent_category = quality_changes.get("intent_category", "default") - if quality_changes.get("position") is not None: # An extruder profile. + if quality_changes.get("position") is not None and quality_changes.get("position") != "None": # An extruder profile. groups_by_name[name].metadata_per_extruder[int(quality_changes["position"])] = quality_changes else: # Global profile. groups_by_name[name].metadata_for_global = quality_changes From 432ed02aa6eac01626b446777d6ae597ae2f23c3 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Thu, 21 Nov 2019 14:08:51 +0100 Subject: [PATCH 06/23] Fix skip (or late) pause at height. Previously, the line after the layer change would also contain the z height. If not found, the could would break the per-line reading, and skip to the next layer. However, if the code doesn't contain the Z on the first gcode line of the layer, this would cause it to skip past all layers, until there was a layer with the Z in the first line (so this also explains the 'late' pauses). I just ignored the optimization and made it a continue. I checked, and I don't think there's any way this causes the postproc.-gcode to be inserted twice, since it returns the complete data after insering it once. CURA-6965 --- plugins/PostProcessingPlugin/scripts/PauseAtHeight.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py b/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py index 499214a0e9..17b4de88dd 100644 --- a/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py +++ b/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py @@ -219,7 +219,7 @@ class PauseAtHeight(Script): current_height = current_z - layer_0_z if current_height < pause_height: - break # Try the next layer. + continue # Scan the enitre layer, z-changes are not always on the same/first line. # Pause at layer else: From 997f19ba265f2d57a9f535ffddd333a047b77568 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 22 Nov 2019 11:02:19 +0100 Subject: [PATCH 07/23] Prevent flicking behavior for machine selection Contributes to #6684 --- resources/qml/WelcomePages/AddLocalPrinterScrollView.qml | 3 ++- resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/resources/qml/WelcomePages/AddLocalPrinterScrollView.qml b/resources/qml/WelcomePages/AddLocalPrinterScrollView.qml index e4a7a98308..fce616472f 100644 --- a/resources/qml/WelcomePages/AddLocalPrinterScrollView.qml +++ b/resources/qml/WelcomePages/AddLocalPrinterScrollView.qml @@ -91,7 +91,8 @@ Item // individual item has a dynamic change on its visibility, the ListView doesn't redraw itself. // The default value of cacheBuffer is platform-dependent, so we explicitly disable it here. cacheBuffer: 0 - + boundsBehavior: Flickable.StopAtBounds + flickDeceleration: 20000 // To prevent the flicking behavior. model: UM.DefinitionContainersModel { id: machineDefinitionsModel diff --git a/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml b/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml index 95eff0465a..5a4f5ec7b7 100644 --- a/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml +++ b/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml @@ -71,7 +71,8 @@ Item section.property: "modelData.sectionName" section.criteria: ViewSection.FullString section.delegate: sectionHeading - + boundsBehavior: Flickable.StopAtBounds + flickDeceleration: 20000 // To prevent the flicking behavior. cacheBuffer: 1000000 // Set a large cache to effectively just cache every list item. Component.onCompleted: From 25f0460231fd970b73744fb3fe1c004dc68a5dc9 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 22 Nov 2019 12:01:46 +0100 Subject: [PATCH 08/23] Add missing 'material break preparation temperature'. part of CURA-6971 --- plugins/XmlMaterialProfile/XmlMaterialProfile.py | 1 + resources/definitions/fdmprinter.def.json | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index 948751ab8b..52b204affc 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -1104,6 +1104,7 @@ class XmlMaterialProfile(InstanceContainer): "anti ooze retract speed": "material_anti_ooze_retraction_speed", "break preparation position": "material_break_preparation_retracted_position", "break preparation speed": "material_break_preparation_speed", + "break preparation temperature": "material_break_preparation_temperature", "break position": "material_break_retracted_position", "break speed": "material_break_speed", "break temperature": "material_break_temperature" diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 6a5163384e..82b3380ca3 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2365,6 +2365,20 @@ "settable_per_mesh": false, "settable_per_extruder": true }, + "material_break_preparation_temperature": + { + "label": "Break Preparation Temperature", + "description": "The temperature used to purge material, should be roughly equal to the highest possible printing temperature.", + "type": "float", + "unit": "°C", + "default_value": 50, + "value": "material_print_temperature", + "enabled": false, + "minimum_value": "-273.15", + "maximum_value_warning": "300", + "settable_per_mesh": false, + "settable_per_extruder": true + }, "material_break_retracted_position": { "label": "Break Retracted Position", From 80719d4724e445c8e1d75f80a712aea793b4ebfd Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 25 Nov 2019 11:13:07 +0100 Subject: [PATCH 09/23] Mark disabled extruders when saving project --- resources/qml/Dialogs/WorkspaceSummaryDialog.qml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/resources/qml/Dialogs/WorkspaceSummaryDialog.qml b/resources/qml/Dialogs/WorkspaceSummaryDialog.qml index dfc6e3a9ca..6fe9607274 100644 --- a/resources/qml/Dialogs/WorkspaceSummaryDialog.qml +++ b/resources/qml/Dialogs/WorkspaceSummaryDialog.qml @@ -177,6 +177,7 @@ UM.Dialog return catalog.i18nc("@action:label", "Extruder %1").arg(extruder_id) } font.bold: true + enabled: modelData.isEnabled } Row { @@ -194,6 +195,7 @@ UM.Dialog return catalog.i18nc("@action:label", "Material") } width: Math.floor(scroll.width / 3) | 0 + enabled: modelData.isEnabled } Label { @@ -205,7 +207,7 @@ UM.Dialog } return materialName } - + enabled: modelData.isEnabled width: Math.floor(scroll.width / 3) | 0 } } From 8835a0cb999e45c1a757f955c4bb80dbd342dda9 Mon Sep 17 00:00:00 2001 From: Mathias Lyngklip Kjeldgaard Date: Tue, 26 Nov 2019 20:20:45 +0100 Subject: [PATCH 10/23] Fixed a typo in the title I noticed a typo in the title of the plugin, so that is fixed. I also added more info to the description. --- .../scripts/DisplayRemainingTimeOnLCD.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py b/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py index 9152ab65f9..7d9af10925 100644 --- a/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py +++ b/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py @@ -1,7 +1,7 @@ # Cura PostProcessingPlugin # Author: Mathias Lyngklip Kjeldgaard # Date: July 31, 2019 -# Modified: --- +# Modified: November 26, 2019 # Description: This plugin displayes the remaining time on the LCD of the printer # using the estimated print-time generated by Cura. @@ -23,7 +23,7 @@ class DisplayRemainingTimeOnLCD(Script): def getSettingDataString(self): return """{ - "name":"Disaplay Remaining Time on LCD", + "name":"Display Remaining Time on LCD", "key":"DisplayRemainingTimeOnLCD", "metadata": {}, "version": 2, @@ -32,7 +32,7 @@ class DisplayRemainingTimeOnLCD(Script): "TurnOn": { "label": "Enable", - "description": "When enabled, It will write Time Left: HHMMSS on the display", + "description": "When enabled, It will write Time Left: HHMMSS on the display. This is updated every layer.", "type": "bool", "default_value": false } From 9522ce2b7840f66417e17354e76728c1b25a5702 Mon Sep 17 00:00:00 2001 From: Dimitriovski Date: Wed, 27 Nov 2019 11:59:19 +0100 Subject: [PATCH 11/23] Added the project name in Window Title CURA-6978 --- resources/qml/Cura.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index f13f9e0ce9..d08b351ca0 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -21,7 +21,8 @@ UM.MainWindow id: base // Cura application window title - title: catalog.i18nc("@title:window", "Ultimaker Cura") + title: PrintInformation.jobName + " - " + catalog.i18nc("@title:window", "Ultimaker Cura") + backgroundColor: UM.Theme.getColor("viewport_background") UM.I18nCatalog From 084f55b6119f5e78d43bbe259fbf5cb06506a174 Mon Sep 17 00:00:00 2001 From: Dimitriovski Date: Wed, 27 Nov 2019 15:35:09 +0100 Subject: [PATCH 12/23] Removed hard-coded name for Ultimaker Cura to use applicationDisplayName CURA-6978 --- resources/qml/Cura.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index d08b351ca0..8dcf60018f 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -21,7 +21,7 @@ UM.MainWindow id: base // Cura application window title - title: PrintInformation.jobName + " - " + catalog.i18nc("@title:window", "Ultimaker Cura") + title: PrintInformation.jobName + " - " + catalog.i18nc("@title:window", CuraApplication.applicationDisplayName) backgroundColor: UM.Theme.getColor("viewport_background") From 4fc32b036e36c150958d8438b252ca901b273e5d Mon Sep 17 00:00:00 2001 From: translucentfocus <26986716+translucentfocus@users.noreply.github.com> Date: Wed, 27 Nov 2019 11:46:07 -0600 Subject: [PATCH 13/23] Fixed typo Only correcting in master; may want to consider correcting in other branches --- .../PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py b/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py index 9152ab65f9..2ad9a22513 100644 --- a/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py +++ b/plugins/PostProcessingPlugin/scripts/DisplayRemainingTimeOnLCD.py @@ -23,7 +23,7 @@ class DisplayRemainingTimeOnLCD(Script): def getSettingDataString(self): return """{ - "name":"Disaplay Remaining Time on LCD", + "name":"Display Remaining Time on LCD", "key":"DisplayRemainingTimeOnLCD", "metadata": {}, "version": 2, From 01f59568718be46e11ec33bad198671c12035f4e Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Mon, 2 Dec 2019 12:11:10 +0100 Subject: [PATCH 14/23] Fix typo in content disposition header --- cura/PrinterOutput/NetworkedPrinterOutputDevice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py index 392df7bded..60be5bc8f3 100644 --- a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py +++ b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py @@ -154,7 +154,7 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice): part = QHttpPart() if not content_header.startswith("form-data;"): - content_header = "form_data; " + content_header + content_header = "form-data; " + content_header part.setHeader(QNetworkRequest.ContentDispositionHeader, content_header) if content_type is not None: From 45bbb189ce8bbae173740e22ddf392fe296ad02b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 2 Dec 2019 13:59:50 +0100 Subject: [PATCH 15/23] Fix machine duplication when switching configuration --- cura/Settings/MachineManager.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index d7a7586115..de6e270a86 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1247,6 +1247,8 @@ class MachineManager(QObject): if metadata_key in new_machine.getMetaData(): continue # Don't copy the already preset stuff. new_machine.setMetaDataEntry(metadata_key, self._global_container_stack.getMetaDataEntry(metadata_key)) + # Special case, group_id should be overwritten! + new_machine.setMetaDataEntry("group_id", self._global_container_stack.getMetaDataEntry("group_id")) else: Logger.log("i", "Found a %s with the key %s. Let's use it!", machine_name, self.activeMachineNetworkKey()) From eea4df12a70d5dcd01b03379c54bf19185dc0821 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan-Luis=20de=20Sousa-Valadas=20Casta=C3=B1o?= Date: Mon, 2 Dec 2019 23:30:54 +0100 Subject: [PATCH 16/23] Spanish i18n fix fillament weight --- resources/i18n/es_ES/cura.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index 8956c138ef..f971746925 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -2890,7 +2890,7 @@ msgstr "Coste del filamento" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsView.qml:276 msgctxt "@label" msgid "Filament weight" -msgstr "Anchura del filamento" +msgstr "Peso del filamento" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsView.qml:294 msgctxt "@label" From 726561bf309616107ad874d4e508b3a3ec9e5701 Mon Sep 17 00:00:00 2001 From: Jeff Kazules Date: Tue, 3 Dec 2019 13:39:50 +0100 Subject: [PATCH 17/23] Increase printer size and add disallowed areas With the stock firmware of the Ender 3, the size of the original printer was wrong, causing the model to land in a different place on the build plate. This led people to believe that the printer could take bigger prints. However it couldn't; it was just not allowing to print all the way down to the coordinate origin at 0,0. This makes the printer bigger but also adds disallowed areas so that you can't print anything near 0,0. Fixes #6267. --- resources/definitions/creality_ender3.def.json | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/resources/definitions/creality_ender3.def.json b/resources/definitions/creality_ender3.def.json index 645be52bc8..e0b651deea 100644 --- a/resources/definitions/creality_ender3.def.json +++ b/resources/definitions/creality_ender3.def.json @@ -9,9 +9,14 @@ }, "overrides": { "machine_name": { "default_value": "Creality Ender-3" }, - "machine_width": { "default_value": 220 }, - "machine_depth": { "default_value": 220 }, + "machine_width": { "default_value": 235 }, + "machine_depth": { "default_value": 235 }, "machine_height": { "default_value": 250 }, + "machine_disallowed_areas": { + "default_value": [ + [[-117.5, 117.5], [-117.5, 108], [117.5, 108], [117.5, 117.5]], + [[-117.5, -108], [-117.5, -117.5], [117.5, -117.5], [117.5, -108]] + ]}, "machine_head_polygon": { "default_value": [ [-1, 1], [-1, -1], From 74d919a5d201342dd75d38611b7787d80c7492b5 Mon Sep 17 00:00:00 2001 From: Dimitriovski Date: Tue, 3 Dec 2019 14:40:54 +0100 Subject: [PATCH 18/23] Prevent deleting comments from Start/End G-codes by changing the comment_prefixes in ConfigParser CURA/6994 --- .../VersionUpgrade/VersionUpgrade41to42/VersionUpgrade41to42.py | 2 +- .../VersionUpgrade/VersionUpgrade42to43/VersionUpgrade42to43.py | 2 +- .../VersionUpgrade/VersionUpgrade43to44/VersionUpgrade43to44.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade41to42/VersionUpgrade41to42.py b/plugins/VersionUpgrade/VersionUpgrade41to42/VersionUpgrade41to42.py index 1151d7101a..305cce16c6 100644 --- a/plugins/VersionUpgrade/VersionUpgrade41to42/VersionUpgrade41to42.py +++ b/plugins/VersionUpgrade/VersionUpgrade41to42/VersionUpgrade41to42.py @@ -239,7 +239,7 @@ class VersionUpgrade41to42(VersionUpgrade): # # This renames the renamed settings in the containers. def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: - parser = configparser.ConfigParser(interpolation = None) + parser = configparser.ConfigParser(interpolation = None, comment_prefixes=()) parser.read_string(serialized) # Update version number. diff --git a/plugins/VersionUpgrade/VersionUpgrade42to43/VersionUpgrade42to43.py b/plugins/VersionUpgrade/VersionUpgrade42to43/VersionUpgrade42to43.py index c15f1e0468..d6489f6d8b 100644 --- a/plugins/VersionUpgrade/VersionUpgrade42to43/VersionUpgrade42to43.py +++ b/plugins/VersionUpgrade/VersionUpgrade42to43/VersionUpgrade42to43.py @@ -104,7 +104,7 @@ class VersionUpgrade42to43(VersionUpgrade): # # This renames the renamed settings in the containers. def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: - parser = configparser.ConfigParser(interpolation = None) + parser = configparser.ConfigParser(interpolation = None, comment_prefixes=()) parser.read_string(serialized) # Update version number. diff --git a/plugins/VersionUpgrade/VersionUpgrade43to44/VersionUpgrade43to44.py b/plugins/VersionUpgrade/VersionUpgrade43to44/VersionUpgrade43to44.py index 40927fe3a0..8b69852cb2 100644 --- a/plugins/VersionUpgrade/VersionUpgrade43to44/VersionUpgrade43to44.py +++ b/plugins/VersionUpgrade/VersionUpgrade43to44/VersionUpgrade43to44.py @@ -52,7 +52,7 @@ class VersionUpgrade43to44(VersionUpgrade): # # This renames the renamed settings in the containers. def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: - parser = configparser.ConfigParser(interpolation = None) + parser = configparser.ConfigParser(interpolation = None, comment_prefixes=()) parser.read_string(serialized) # Update version number. From 961cd937b4ac98d0dcaa9a8620f69bd0134e6499 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 4 Dec 2019 09:58:19 +0100 Subject: [PATCH 19/23] Correct start and end g-code According to the thread at #6673 this works. Fixes #6673. --- resources/definitions/vertex_k8400.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/vertex_k8400.def.json b/resources/definitions/vertex_k8400.def.json index dad50cffe8..c528ef82fc 100644 --- a/resources/definitions/vertex_k8400.def.json +++ b/resources/definitions/vertex_k8400.def.json @@ -58,10 +58,10 @@ "default_value": "RepRap (Marlin/Sprinter)" }, "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 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." + "default_value": "M104 T0 S{material_print_temperature_layer_0}\nG28 ;Home extruder\nG90 ;Absolute positioning\nM82 ;Extruder in absolute mode\nG1 Z1 F100\nG92 E0 ;Reset extruder position\nM109 T0 S{material_print_temperature_layer_0}\nG1 E20 F100\nG92 E0 ;Reset extruder position" }, "machine_end_gcode": { - "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\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 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning" + "default_value": "G1 X0 Y0 Z130 ;Get extruder out of way\nM107 ;Turn off fan\n;Disable all extruders\nG91 ;Relative positioning\nT0\nG1 E-1 ;Reduce filament pressure\nM104 T0 S0\nG90 ;Absolute positioning\nG92 E0 ;Reset extruder position\nM140 S0 ;Disable heated bed\nM84 ;Turn steppers off" } } } \ No newline at end of file From c47aca2f1b2d25d626132a691cc4a1eb93547974 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Fri, 6 Dec 2019 14:23:42 +0100 Subject: [PATCH 20/23] Break down the issue template header into sections. I fear people might simply ignore the header, which is surrounded by comment tags. Having headings for all important pieces of information might make them stand out more. --- .github/ISSUE_TEMPLATE.md | 42 ++++++++++++++++++++++------ .github/ISSUE_TEMPLATE/bug-report.md | 30 +++++++++++++++----- 2 files changed, 57 insertions(+), 15 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 8e56787aeb..10ebdd761c 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,12 +1,18 @@ +--- +name: Bug report +about: Create a report to help us fix issues. +title: '' +labels: 'Type: Bug' +assignees: '' + +--- + @@ -15,20 +21,40 @@ Thank you for using Cura! (The version of the application this issue occurs with.) **Platform** -(Information about the operating system the issue occurs on. Include at least the operating system. In the case of visual glitches/issues, also include information about your graphics drivers and GPU.) +(Information about the operating system the issue occurs on. Include at least the operating system. +In the case of visual glitches/issues, also include information about your graphics drivers and GPU.) **Printer** -(Which printer was selected in Cura? If possible, please attach project file as .curaproject.3mf.zip.) +(Which printer was selected in Cura? **Reproduction steps** 1. Something you did. 2. Something you did next. +**Screenshot(s)** +Adding screenshot(s) is a very good idea to identify what exactly the problem is. We get lots of bug reports and a +screenshot is also a great help to tell them apart without downloading and opening a project file. Feel +free to add text either inside or below the screenshots. Before (earlier, working version of Cura) / After +(Problematic version of Cura) screenshots might work well, too. + **Actual results** (What happens after the above steps have been followed.) **Expected results** (What should happen after the above steps have been followed.) +**Project file** +Provide a project which clearly shows the bug. +Rather than providing a model file, provide a project (.3mf or .curaproject) file. This will include all the settings +you used, which is crucial to reproducing your problem. +To upload a project, try changing the extension to e.g. bug_example.3mf.zip so that GitHub accepts uploading the file. +If the file is too big, we recommend http://wetransfer.com, but other file hosts like Google Drive or Dropbox work +well too. Please make sure the file is publicly available ie. "shared with everyone" + +**Log file** +It is important to provide a log file. It might provide us info about why a certain material was selected, or is not +compatible, for example. +Information about how to find the log file can be found at https://github.com/Ultimaker/Cura#logging-issues + **Additional information** -(Extra information relevant to the issue, like screenshots. Don't forget to attach the log files with this issue report.) +(Extra information relevant to the issue) diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index 749b8037c1..10ebdd761c 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -14,10 +14,6 @@ Before filing, PLEASE check if the issue already exists (either open or closed) Also, please note the application version in the title of the issue. For example: "[3.2.1] Cannot connect to 3rd-party printer". Please do NOT write things like "Request:" or "[BUG]" in the title; this is what labels are for. -It is also helpful to attach a project (.3mf or .curaproject) file and Cura log file so we can debug issues quicker. Information about how to find the log file can be found at https://github.com/Ultimaker/Cura#logging-issues - -To upload a project, try changing the extension to e.g. .curaproject.3mf.zip so that GitHub accepts uploading the file. Otherwise, we recommend http://wetransfer.com, but other file hosts like Google Drive or Dropbox work well too. - Thank you for using Cura! --> @@ -25,20 +21,40 @@ Thank you for using Cura! (The version of the application this issue occurs with.) **Platform** -(Information about the operating system the issue occurs on. Include at least the operating system. In the case of visual glitches/issues, also include information about your graphics drivers and GPU.) +(Information about the operating system the issue occurs on. Include at least the operating system. +In the case of visual glitches/issues, also include information about your graphics drivers and GPU.) **Printer** -(Which printer was selected in Cura? If possible, please attach project file as .curaproject.3mf.zip.) +(Which printer was selected in Cura? **Reproduction steps** 1. Something you did. 2. Something you did next. +**Screenshot(s)** +Adding screenshot(s) is a very good idea to identify what exactly the problem is. We get lots of bug reports and a +screenshot is also a great help to tell them apart without downloading and opening a project file. Feel +free to add text either inside or below the screenshots. Before (earlier, working version of Cura) / After +(Problematic version of Cura) screenshots might work well, too. + **Actual results** (What happens after the above steps have been followed.) **Expected results** (What should happen after the above steps have been followed.) +**Project file** +Provide a project which clearly shows the bug. +Rather than providing a model file, provide a project (.3mf or .curaproject) file. This will include all the settings +you used, which is crucial to reproducing your problem. +To upload a project, try changing the extension to e.g. bug_example.3mf.zip so that GitHub accepts uploading the file. +If the file is too big, we recommend http://wetransfer.com, but other file hosts like Google Drive or Dropbox work +well too. Please make sure the file is publicly available ie. "shared with everyone" + +**Log file** +It is important to provide a log file. It might provide us info about why a certain material was selected, or is not +compatible, for example. +Information about how to find the log file can be found at https://github.com/Ultimaker/Cura#logging-issues + **Additional information** -(Extra information relevant to the issue, like screenshots. Don't forget to attach the log files with this issue report.) +(Extra information relevant to the issue) From 2dc4681d913f816c4232673c6dcd7891ba17525f Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Fri, 6 Dec 2019 14:29:05 +0100 Subject: [PATCH 21/23] Remove some mid-sentence newlines from issue templates Newlines are tragically not ignored by Github when rendering issue\ templates, it seems --- .github/ISSUE_TEMPLATE.md | 15 +++++---------- .github/ISSUE_TEMPLATE/bug-report.md | 15 +++++---------- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 10ebdd761c..02fc0f1a65 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -32,10 +32,8 @@ In the case of visual glitches/issues, also include information about your graph 2. Something you did next. **Screenshot(s)** -Adding screenshot(s) is a very good idea to identify what exactly the problem is. We get lots of bug reports and a -screenshot is also a great help to tell them apart without downloading and opening a project file. Feel -free to add text either inside or below the screenshots. Before (earlier, working version of Cura) / After -(Problematic version of Cura) screenshots might work well, too. +Adding screenshot(s) is a very good idea to identify what exactly the problem is. We get lots of bug reports and a screenshot is also a great help to tell them apart without downloading and opening a project file. +Feel free to add text either inside or below the screenshots. Before (earlier, working version of Cura) / After (Problematic version of Cura) screenshots might work well, too. **Actual results** (What happens after the above steps have been followed.) @@ -45,15 +43,12 @@ free to add text either inside or below the screenshots. Before (earlier, workin **Project file** Provide a project which clearly shows the bug. -Rather than providing a model file, provide a project (.3mf or .curaproject) file. This will include all the settings -you used, which is crucial to reproducing your problem. +Rather than providing a model file, provide a project (.3mf or .curaproject) file. This will include all the settings you used, which is crucial to reproducing your problem. To upload a project, try changing the extension to e.g. bug_example.3mf.zip so that GitHub accepts uploading the file. -If the file is too big, we recommend http://wetransfer.com, but other file hosts like Google Drive or Dropbox work -well too. Please make sure the file is publicly available ie. "shared with everyone" +If the file is too big, we recommend http://wetransfer.com, but other file hosts like Google Drive or Dropbox work well too. Please make sure the file is publicly available ie. "shared with everyone" **Log file** -It is important to provide a log file. It might provide us info about why a certain material was selected, or is not -compatible, for example. +It is important to provide a log file. It might provide us info about why a certain material was selected, or is not compatible, for example. Information about how to find the log file can be found at https://github.com/Ultimaker/Cura#logging-issues **Additional information** diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index 10ebdd761c..02fc0f1a65 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -32,10 +32,8 @@ In the case of visual glitches/issues, also include information about your graph 2. Something you did next. **Screenshot(s)** -Adding screenshot(s) is a very good idea to identify what exactly the problem is. We get lots of bug reports and a -screenshot is also a great help to tell them apart without downloading and opening a project file. Feel -free to add text either inside or below the screenshots. Before (earlier, working version of Cura) / After -(Problematic version of Cura) screenshots might work well, too. +Adding screenshot(s) is a very good idea to identify what exactly the problem is. We get lots of bug reports and a screenshot is also a great help to tell them apart without downloading and opening a project file. +Feel free to add text either inside or below the screenshots. Before (earlier, working version of Cura) / After (Problematic version of Cura) screenshots might work well, too. **Actual results** (What happens after the above steps have been followed.) @@ -45,15 +43,12 @@ free to add text either inside or below the screenshots. Before (earlier, workin **Project file** Provide a project which clearly shows the bug. -Rather than providing a model file, provide a project (.3mf or .curaproject) file. This will include all the settings -you used, which is crucial to reproducing your problem. +Rather than providing a model file, provide a project (.3mf or .curaproject) file. This will include all the settings you used, which is crucial to reproducing your problem. To upload a project, try changing the extension to e.g. bug_example.3mf.zip so that GitHub accepts uploading the file. -If the file is too big, we recommend http://wetransfer.com, but other file hosts like Google Drive or Dropbox work -well too. Please make sure the file is publicly available ie. "shared with everyone" +If the file is too big, we recommend http://wetransfer.com, but other file hosts like Google Drive or Dropbox work well too. Please make sure the file is publicly available ie. "shared with everyone" **Log file** -It is important to provide a log file. It might provide us info about why a certain material was selected, or is not -compatible, for example. +It is important to provide a log file. It might provide us info about why a certain material was selected, or is not compatible, for example. Information about how to find the log file can be found at https://github.com/Ultimaker/Cura#logging-issues **Additional information** From 6aa8d060d5ecfb764d5b7ffe15f9415090647ad0 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 9 Dec 2019 12:56:30 +0100 Subject: [PATCH 22/23] Make template a bit less intimidating and restore brackets again I think the 'why' of things is not always relevant and makes people prevent reading all of it. Keep it brief! And with all of this information that people tend to just leave there it's hard to find the actual changes that people made to the template. That's also why the brackets are important, so that it's easy to see that people didn't erase the original template text. We used to have HTML comment codes there but then people put the actual bug report inside the comments as well and nothing showed up, so this is somewhat of a middle ground that everyone understands, programmers and non-programmers. --- .github/ISSUE_TEMPLATE.md | 22 ++++++++-------------- .github/ISSUE_TEMPLATE/bug-report.md | 22 ++++++++-------------- 2 files changed, 16 insertions(+), 28 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 02fc0f1a65..6934354a70 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -21,19 +21,17 @@ Thank you for using Cura! (The version of the application this issue occurs with.) **Platform** -(Information about the operating system the issue occurs on. Include at least the operating system. -In the case of visual glitches/issues, also include information about your graphics drivers and GPU.) +(Information about the operating system the issue occurs on. Include at least the operating system and maybe GPU.) **Printer** -(Which printer was selected in Cura? +(Which printer was selected in Cura?) **Reproduction steps** -1. Something you did. -2. Something you did next. +1. (Something you did.) +2. (Something you did next.) **Screenshot(s)** -Adding screenshot(s) is a very good idea to identify what exactly the problem is. We get lots of bug reports and a screenshot is also a great help to tell them apart without downloading and opening a project file. -Feel free to add text either inside or below the screenshots. Before (earlier, working version of Cura) / After (Problematic version of Cura) screenshots might work well, too. +(Image showing the problem, perhaps before/after images.) **Actual results** (What happens after the above steps have been followed.) @@ -42,14 +40,10 @@ Feel free to add text either inside or below the screenshots. Before (earlier, w (What should happen after the above steps have been followed.) **Project file** -Provide a project which clearly shows the bug. -Rather than providing a model file, provide a project (.3mf or .curaproject) file. This will include all the settings you used, which is crucial to reproducing your problem. -To upload a project, try changing the extension to e.g. bug_example.3mf.zip so that GitHub accepts uploading the file. -If the file is too big, we recommend http://wetransfer.com, but other file hosts like Google Drive or Dropbox work well too. Please make sure the file is publicly available ie. "shared with everyone" +(For slicing bugs, provide a project which clearly shows the bug, by going to File->Save. For big files you may need to use WeTransfer or similar file sharing sites.) **Log file** -It is important to provide a log file. It might provide us info about why a certain material was selected, or is not compatible, for example. -Information about how to find the log file can be found at https://github.com/Ultimaker/Cura#logging-issues +(See https://github.com/Ultimaker/Cura#logging-issues to find the log file to upload, or copy a relevant snippet from it.) **Additional information** -(Extra information relevant to the issue) +(Extra information relevant to the issue.) diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index 02fc0f1a65..6934354a70 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -21,19 +21,17 @@ Thank you for using Cura! (The version of the application this issue occurs with.) **Platform** -(Information about the operating system the issue occurs on. Include at least the operating system. -In the case of visual glitches/issues, also include information about your graphics drivers and GPU.) +(Information about the operating system the issue occurs on. Include at least the operating system and maybe GPU.) **Printer** -(Which printer was selected in Cura? +(Which printer was selected in Cura?) **Reproduction steps** -1. Something you did. -2. Something you did next. +1. (Something you did.) +2. (Something you did next.) **Screenshot(s)** -Adding screenshot(s) is a very good idea to identify what exactly the problem is. We get lots of bug reports and a screenshot is also a great help to tell them apart without downloading and opening a project file. -Feel free to add text either inside or below the screenshots. Before (earlier, working version of Cura) / After (Problematic version of Cura) screenshots might work well, too. +(Image showing the problem, perhaps before/after images.) **Actual results** (What happens after the above steps have been followed.) @@ -42,14 +40,10 @@ Feel free to add text either inside or below the screenshots. Before (earlier, w (What should happen after the above steps have been followed.) **Project file** -Provide a project which clearly shows the bug. -Rather than providing a model file, provide a project (.3mf or .curaproject) file. This will include all the settings you used, which is crucial to reproducing your problem. -To upload a project, try changing the extension to e.g. bug_example.3mf.zip so that GitHub accepts uploading the file. -If the file is too big, we recommend http://wetransfer.com, but other file hosts like Google Drive or Dropbox work well too. Please make sure the file is publicly available ie. "shared with everyone" +(For slicing bugs, provide a project which clearly shows the bug, by going to File->Save. For big files you may need to use WeTransfer or similar file sharing sites.) **Log file** -It is important to provide a log file. It might provide us info about why a certain material was selected, or is not compatible, for example. -Information about how to find the log file can be found at https://github.com/Ultimaker/Cura#logging-issues +(See https://github.com/Ultimaker/Cura#logging-issues to find the log file to upload, or copy a relevant snippet from it.) **Additional information** -(Extra information relevant to the issue) +(Extra information relevant to the issue.) From 7ba1db830a7c4cb4bc3f11d0084b25280109e7f7 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 10 Dec 2019 13:00:29 +0100 Subject: [PATCH 23/23] Re-enable the retraction min travel setting CURA-6675 --- resources/definitions/fdmprinter.def.json | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index d89992ecf6..5af0f93521 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2737,7 +2737,6 @@ "minimum_value": "0", "minimum_value_warning": "line_width * 1.5", "maximum_value_warning": "10", - "enabled": false, "settable_per_mesh": false, "settable_per_extruder": true },