From ebdcd460627a7e9653c988f4eadc8c2c4e2e7f24 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 27 Jun 2017 16:41:58 +0200 Subject: [PATCH 1/3] Rename other quality profiles to old not-supported names The Superdraft quality was sometimes still active in users' old configuration as well. Contributes to issue CURA-3973. --- ...g => um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} | 0 ...fg => um3_aa0.8_CPEP_Not_Supported_Verydraft_Quality.inst.cfg} | 0 ...cfg => um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg} | 0 ....cfg => um3_aa0.8_PC_Not_Supported_Verydraft_Quality.inst.cfg} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename resources/quality/ultimaker3/{um3_aa0.8_CPEP_Superdraft_Print.inst.cfg => um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_aa0.8_CPEP_Verydraft_Print.inst.cfg => um3_aa0.8_CPEP_Not_Supported_Verydraft_Quality.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_aa0.8_PC_Superdraft_Print.inst.cfg => um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg} (100%) rename resources/quality/ultimaker3/{um3_aa0.8_PC_Verydraft_Print.inst.cfg => um3_aa0.8_PC_Not_Supported_Verydraft_Quality.inst.cfg} (100%) diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Verydraft_Quality.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Verydraft_Quality.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Verydraft_Quality.inst.cfg similarity index 100% rename from resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Verydraft_Quality.inst.cfg From fb1d7bc22363d3a3550748c1180d43ceba444ff0 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 28 Jun 2017 09:23:14 +0200 Subject: [PATCH 2/3] Fix direction of Y-offset in disallowed areas The front end has inverted Y with respect to the g-code. The prime position was correctly inverted but the nozzle offset wasn't. --- cura/BuildVolume.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 4963df65cd..33927c4a98 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -677,7 +677,7 @@ class BuildVolume(SceneNode): for extruder in used_extruders: prime_blob_enabled = extruder.getProperty("prime_blob_enable", "value") prime_x = extruder.getProperty("extruder_prime_pos_x", "value") - prime_y = - extruder.getProperty("extruder_prime_pos_y", "value") + prime_y = -extruder.getProperty("extruder_prime_pos_y", "value") #Ignore extruder prime position if it is not set or if blob is disabled if (prime_x == 0 and prime_y == 0) or not prime_blob_enabled: @@ -727,7 +727,7 @@ class BuildVolume(SceneNode): offset_x = extruder.getProperty("machine_nozzle_offset_x", "value") if offset_x is None: offset_x = 0 - offset_y = extruder.getProperty("machine_nozzle_offset_y", "value") + offset_y = -extruder.getProperty("machine_nozzle_offset_y", "value") if offset_y is None: offset_y = 0 result[extruder_id] = [] @@ -746,7 +746,7 @@ class BuildVolume(SceneNode): #The build volume is defined as the union of the area that all extruders can reach, so we need to know the relative offset to all extruders. for other_extruder in ExtruderManager.getInstance().getActiveExtruderStacks(): other_offset_x = other_extruder.getProperty("machine_nozzle_offset_x", "value") - other_offset_y = other_extruder.getProperty("machine_nozzle_offset_y", "value") + other_offset_y = -other_extruder.getProperty("machine_nozzle_offset_y", "value") left_unreachable_border = min(left_unreachable_border, other_offset_x - offset_x) right_unreachable_border = max(right_unreachable_border, other_offset_x - offset_x) top_unreachable_border = min(top_unreachable_border, other_offset_y - offset_y) From 2a593e316b93e9aabc581bb6c3e96fc0a3d36e28 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 28 Jun 2017 11:49:07 +0200 Subject: [PATCH 3/3] Close camera upon disconnecting instead of relying on Uranium to do that Uranium shouldn't know about no camera. --- plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py index 18bf22d18d..2a9dedc20c 100755 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py @@ -188,9 +188,18 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): else: self._updatePrinterType("unknown") + Application.getInstance().getOutputDeviceManager().outputDevicesChanged.connect(self._onOutputDevicesChanged) + def _onNetworkAccesibleChanged(self, accessible): Logger.log("d", "Network accessible state changed to: %s", accessible) + ## Triggered when the output device manager changes devices. + # + # This is how we can detect that our device is no longer active now. + def _onOutputDevicesChanged(self): + if self.getId() not in Application.getInstance().getOutputDeviceManager().getOutputDeviceIds(): + self.stopCamera() + def _onAuthenticationTimer(self): self._authentication_counter += 1 self._authentication_requested_message.setProgress(self._authentication_counter / self._max_authentication_counter * 100)