From d802c0bd26c10481a72811db6ccf8892d47785f4 Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Mon, 11 Sep 2017 09:14:50 +0200 Subject: [PATCH 1/7] CURA-4284 some code cleanup while debugging --- plugins/CuraEngineBackend/StartSliceJob.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 13aee06289..0f21c0d781 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -319,11 +319,13 @@ class StartSliceJob(Job): # \param message object_lists message to put the per object settings in def _handlePerObjectSettings(self, node, message): stack = node.callDecoration("getStack") - if not stack: # Check if the node has a stack attached to it and the stack has any settings in the top container. + + # Check if the node has a stack attached to it and the stack has any settings in the top container. + if not stack: return # Check all settings for relations, so we can also calculate the correct values for dependent settings. - top_of_stack = stack.getTop() #Cache for efficiency. + top_of_stack = stack.getTop() # Cache for efficiency. changed_setting_keys = set(top_of_stack.getAllKeys()) for key in top_of_stack.getAllKeys(): instance = top_of_stack.getInstance(key) @@ -339,10 +341,13 @@ class StartSliceJob(Job): setting = message.addRepeatedMessage("settings") setting.name = key extruder = int(round(float(stack.getProperty(key, "limit_to_extruder")))) - if extruder >= 0 and key not in top_of_stack.getAllKeys(): #Limited to a specific extruder, but not overridden by per-object settings. + + # Check if limited to a specific extruder, but not overridden by per-object settings. + if extruder >= 0 and key not in top_of_stack.getAllKeys(): limited_stack = ExtruderManager.getInstance().getActiveExtruderStacks()[extruder] else: - limited_stack = stack #Just take from the per-object settings itself. + limited_stack = stack + setting.value = str(limited_stack.getProperty(key, "value")).encode("utf-8") Job.yieldThread() From 5bb09d73fc99a49b8f2a4f62764ebcf07636f804 Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Mon, 11 Sep 2017 09:46:37 +0200 Subject: [PATCH 2/7] clean --- plugins/CuraEngineBackend/StartSliceJob.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 0f21c0d781..e733a8b413 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -327,6 +327,7 @@ class StartSliceJob(Job): # Check all settings for relations, so we can also calculate the correct values for dependent settings. top_of_stack = stack.getTop() # Cache for efficiency. changed_setting_keys = set(top_of_stack.getAllKeys()) + for key in top_of_stack.getAllKeys(): instance = top_of_stack.getInstance(key) self._addRelations(changed_setting_keys, instance.definition.relations) @@ -349,6 +350,7 @@ class StartSliceJob(Job): limited_stack = stack setting.value = str(limited_stack.getProperty(key, "value")).encode("utf-8") + Job.yieldThread() ## Recursive function to put all settings that require eachother for value changes in a list From f50255f1c95eda418310421a99bab6b96509ffd8 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 11 Sep 2017 10:21:34 +0200 Subject: [PATCH 3/7] Disable relative_extrusion for UMs CURA-4219 --- resources/definitions/ultimaker.def.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index b11a84164a..797a05e324 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -31,6 +31,11 @@ { "minimum_value": "0", "maximum_value": "machine_width" + }, + "relative_extrusion": + { + "value": false, + "enabled": false } } } From 327c84d9ef07eac7b7bbb965a4314e3f45c74001 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 11 Sep 2017 10:48:31 +0200 Subject: [PATCH 4/7] Change tool panel and checkbox text colours CURA-4148 - Change tool panel background colour to white - Change checkbox text colour to almost black --- resources/themes/cura-light/theme.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 9cf736aa34..328a65e633 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -197,7 +197,7 @@ "checkbox_border": [64, 69, 72, 255], "checkbox_border_hover": [12, 169, 227, 255], "checkbox_mark": [119, 122, 124, 255], - "checkbox_text": [166, 168, 169, 255], + "checkbox_text": [27, 27, 27, 255], "mode_switch": [255, 255, 255, 255], "mode_switch_hover": [255, 255, 255, 255], @@ -225,7 +225,7 @@ "message_progressbar_background": [255, 255, 255, 255], "message_progressbar_control": [12, 169, 227, 255], - "tool_panel_background": [31, 36, 39, 255], + "tool_panel_background": [255, 255, 255, 255], "status_offline": [0, 0, 0, 255], "status_ready": [0, 205, 0, 255], From 09bb090cd99c5374c8f1bb69638a9981a0a3c38f Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 11 Sep 2017 10:53:17 +0200 Subject: [PATCH 5/7] Change setting_control_text to almost black colour CURA-4148 --- resources/themes/cura-light/theme.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 328a65e633..46bf343bed 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -166,7 +166,7 @@ "setting_control_highlight": [255, 255, 255, 0], "setting_control_border": [127, 127, 127, 255], "setting_control_border_highlight": [12, 169, 227, 255], - "setting_control_text": [127, 127, 127, 255], + "setting_control_text": [27, 27, 27, 255], "setting_control_depth_line": [127, 127, 127, 255], "setting_control_button": [127, 127, 127, 255], "setting_control_button_hover": [70, 84, 113, 255], From 5c306580120d1f0881c0459d2c38f54018fb8183 Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Mon, 11 Sep 2017 10:56:34 +0200 Subject: [PATCH 6/7] CURA-4284 fix relationship dependencies in per object settings --- plugins/CuraEngineBackend/StartSliceJob.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index e733a8b413..6d06d42007 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -328,12 +328,15 @@ class StartSliceJob(Job): top_of_stack = stack.getTop() # Cache for efficiency. changed_setting_keys = set(top_of_stack.getAllKeys()) + # Add all relations to changed settings as well. for key in top_of_stack.getAllKeys(): instance = top_of_stack.getInstance(key) self._addRelations(changed_setting_keys, instance.definition.relations) Job.yieldThread() - # Ensure that the engine is aware what the build extruder is + Logger.log("d", "changed_setting_keys=%s", changed_setting_keys) + + # Ensure that the engine is aware what the build extruder is. if stack.getProperty("machine_extruder_count", "value") > 1: changed_setting_keys.add("extruder_nr") @@ -344,16 +347,18 @@ class StartSliceJob(Job): extruder = int(round(float(stack.getProperty(key, "limit_to_extruder")))) # Check if limited to a specific extruder, but not overridden by per-object settings. - if extruder >= 0 and key not in top_of_stack.getAllKeys(): + if extruder >= 0 and key not in changed_setting_keys: limited_stack = ExtruderManager.getInstance().getActiveExtruderStacks()[extruder] else: limited_stack = stack setting.value = str(limited_stack.getProperty(key, "value")).encode("utf-8") + Logger.log("d", "key=%s value=%s", key, setting.value) + Job.yieldThread() - ## Recursive function to put all settings that require eachother for value changes in a list + ## Recursive function to put all settings that require each other for value changes in a list # \param relations_set \type{set} Set of keys (strings) of settings that are influenced # \param relations list of relation objects that need to be checked. def _addRelations(self, relations_set, relations): From 98babfade7416abc68b389a9e9b48da2a9bed429 Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Mon, 11 Sep 2017 11:11:45 +0200 Subject: [PATCH 7/7] CURA-4284 remove debug logging --- plugins/CuraEngineBackend/StartSliceJob.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 6d06d42007..5a76923f7f 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -354,8 +354,6 @@ class StartSliceJob(Job): setting.value = str(limited_stack.getProperty(key, "value")).encode("utf-8") - Logger.log("d", "key=%s value=%s", key, setting.value) - Job.yieldThread() ## Recursive function to put all settings that require each other for value changes in a list