From 5bbb2fca6556836bbeb310f92939e94a0e1619e2 Mon Sep 17 00:00:00 2001 From: Paul Kuiper <46715907+pkuiper-ultimaker@users.noreply.github.com> Date: Thu, 19 Sep 2024 08:56:35 +0200 Subject: [PATCH 1/3] Hard limit iso warning on bed temperatures above 120C PP-324 --- resources/definitions/ultimaker.def.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index 21e905fdf85..14c7f6d0e04 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -70,14 +70,12 @@ "machine_max_feedrate_e": { "default_value": 45 }, "material_bed_temperature": { - "maximum_value": "140", - "maximum_value_warning": "120", + "maximum_value": "120", "minimum_value": "0" }, "material_bed_temperature_layer_0": { - "maximum_value": "140", - "maximum_value_warning": "120", + "maximum_value": "120", "minimum_value": "0" }, "material_print_temp_wait": { "value": false }, From 74cafe1c4b84a7be6321e6fd4197de18aa97afae Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Tue, 24 Sep 2024 08:55:29 +0200 Subject: [PATCH 2/3] Handle message too big error when sending model data to engine CURA-11103 --- plugins/CuraEngineBackend/CuraEngineBackend.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index dd7987bc42f..a7126af14e8 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -197,7 +197,8 @@ def __init__(self) -> None: self._slicing_error_message.actionTriggered.connect(self._reportBackendError) self._resetLastSliceTimeStats() - self._snapshot: Optional[QImage] = None + self._snapshot: Optional[QImage] = None + self._last_socket_error: Optional[Arcus.Error] = None application.initializationFinished.connect(self.initialize) @@ -569,7 +570,19 @@ def _onStartSliceCompleted(self, job: StartSliceJob) -> None: return # Preparation completed, send it to the backend. - self._socket.sendMessage(job.getSliceMessage()) + if not self._socket.sendMessage(job.getSliceMessage()): + if self._last_socket_error is not None and self._last_socket_error.getErrorCode() == Arcus.ErrorCode.MessageTooBigError: + error_txt = catalog.i18nc("@info:status", "Unable to send the model data to the engine. Please try to use a less detailed model, or reduce the number of instances.") + else: + error_txt = catalog.i18nc("@info:status", "Unable to send the model data to the engine. Please try again, or contact support.") + + self._error_message = Message(error_txt, + title=catalog.i18nc("@info:title", "Unable to slice"), + message_type=Message.MessageType.WARNING) + self._error_message.show() + self.setState(BackendState.Error) + self.backendError.emit(job) + return # Notify the user that it's now up to the backend to do its job self.setState(BackendState.Processing) @@ -691,6 +704,7 @@ def _onSocketError(self, error: Arcus.Error) -> None: if error.getErrorCode() == Arcus.ErrorCode.Debug: return + self._last_socket_error = error self._terminate() self._createSocket() From eb963d7cbff3c46728a657d6fbbc36f2e8ec7fb9 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 25 Sep 2024 14:18:49 +0200 Subject: [PATCH 3/3] Add supress signals when renaming profiles This fixes the situation where sometimes a signal was emitted while we were still in the process of changing things CURA-6842 --- cura/Machines/Models/QualityManagementModel.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cura/Machines/Models/QualityManagementModel.py b/cura/Machines/Models/QualityManagementModel.py index 86e35f6b28d..92551dbddf0 100644 --- a/cura/Machines/Models/QualityManagementModel.py +++ b/cura/Machines/Models/QualityManagementModel.py @@ -127,13 +127,12 @@ def renameQualityChangesGroup(self, quality_changes_group: "QualityChangesGroup" # have no container for the global stack, because "my_profile" just got renamed to "my_new_profile". This results # in crashes because the rest of the system assumes that all data in a QualityChangesGroup will be correct. # - # Renaming the container for the global stack in the end seems to be ok, because the assumption is mostly based - # on the quality changes container for the global stack. + # This is why we use the "supress_signals" flag for the set name. This basically makes the change silent. for metadata in quality_changes_group.metadata_per_extruder.values(): extruder_container = cast(InstanceContainer, container_registry.findContainers(id = metadata["id"])[0]) - extruder_container.setName(new_name) + extruder_container.setName(new_name, supress_signals=True) global_container = cast(InstanceContainer, container_registry.findContainers(id = quality_changes_group.metadata_for_global["id"])[0]) - global_container.setName(new_name) + global_container.setName(new_name, supress_signals=True) quality_changes_group.name = new_name