Skip to content

Commit

Permalink
Merge branch 'main' into CURA-12138-Export_for_support_option
Browse files Browse the repository at this point in the history
  • Loading branch information
wawanbreton committed Sep 30, 2024
2 parents fe5b4ba + b471526 commit f757032
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 10 deletions.
7 changes: 3 additions & 4 deletions cura/Machines/Models/QualityManagementModel.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
18 changes: 16 additions & 2 deletions plugins/CuraEngineBackend/CuraEngineBackend.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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()

Expand Down
6 changes: 2 additions & 4 deletions resources/definitions/ultimaker.def.json
Original file line number Diff line number Diff line change
Expand Up @@ -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 },
Expand Down

0 comments on commit f757032

Please sign in to comment.