From 11dad711e61733d3b62861bfb0f882749f44aa7c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 23 May 2017 14:02:04 +0200 Subject: [PATCH 01/14] Added two new required settings for prime tower purge CURA-3094 --- resources/definitions/fdmprinter.def.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 46505b8152..f6f71e218b 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4414,6 +4414,27 @@ "settable_per_mesh": false, "settable_per_extruder": true }, + "prime_tower_purge_enabled": + { + "label": "Purge Extruder on Prime Tower Wipe.", + "description": "Should an extra amount be extruded before wiping the nozzle on the prime tower.", + "enabled": "prime_tower_wipe_enabled", + "unit": "mm³", + "type": "float", + "default_value": 1, + "settable_per_mesh": false, + "settable_per_extruder": true + }, + "prime_tower_purge_volume": + { + "label": "Wipe Tower Purge Volume", + "description": "Amount of filament to be purged when wiping on prime tower.", + "type": "bool", + "enabled": "prime_tower_purge_enabled", + "default_value": true, + "settable_per_mesh": false, + "settable_per_extruder": true + }, "dual_pre_wipe": { "label": "Wipe Nozzle After Switch", From 151d7d285bfb86fcf1d0a5909aeef66a3c0e5eac Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 24 May 2017 11:03:24 +0200 Subject: [PATCH 02/14] Added default values & some warnings CURA-3094 --- resources/definitions/fdmprinter.def.json | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index f6f71e218b..0105fdd26c 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4419,9 +4419,8 @@ "label": "Purge Extruder on Prime Tower Wipe.", "description": "Should an extra amount be extruded before wiping the nozzle on the prime tower.", "enabled": "prime_tower_wipe_enabled", - "unit": "mm³", - "type": "float", - "default_value": 1, + "type": "bool", + "default_value": false, "settable_per_mesh": false, "settable_per_extruder": true }, @@ -4429,9 +4428,12 @@ { "label": "Wipe Tower Purge Volume", "description": "Amount of filament to be purged when wiping on prime tower.", - "type": "bool", + "type": "float", "enabled": "prime_tower_purge_enabled", - "default_value": true, + "unit": "mm³", + "default_value": 1, + "minimum_value": "0", + "maximum_value_warning": "20", "settable_per_mesh": false, "settable_per_extruder": true }, From 1ec9987cc217b5fb65af51d6bdb8dfc02971a57b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 31 May 2017 09:43:53 +0200 Subject: [PATCH 03/14] Removed prime tower wipe enabled setting CURA-3094 --- resources/definitions/fdmprinter.def.json | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 0105fdd26c..1b3b8b956a 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4414,26 +4414,16 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "prime_tower_purge_enabled": - { - "label": "Purge Extruder on Prime Tower Wipe.", - "description": "Should an extra amount be extruded before wiping the nozzle on the prime tower.", - "enabled": "prime_tower_wipe_enabled", - "type": "bool", - "default_value": false, - "settable_per_mesh": false, - "settable_per_extruder": true - }, "prime_tower_purge_volume": { "label": "Wipe Tower Purge Volume", - "description": "Amount of filament to be purged when wiping on prime tower.", + "description": "Amount of filament to be purged when wiping on prime tower. This is usefull for compensating the filament lost by oozing during the inactivity of the nozzle.", "type": "float", - "enabled": "prime_tower_purge_enabled", + "enabled": "prime_tower_enable", "unit": "mm³", - "default_value": 1, + "default_value": 0, "minimum_value": "0", - "maximum_value_warning": "20", + "maximum_value_warning": "5", "settable_per_mesh": false, "settable_per_extruder": true }, From b05f1654f8aded1a462bd16ff7b011d7085e28ad Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 31 May 2017 14:19:25 +0200 Subject: [PATCH 04/14] Fix spelling of Prime Tower Purge Volume description 'Useful' is spelled with only one L. Contributes to issue 3094. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 1b3b8b956a..05345a0f3e 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4417,7 +4417,7 @@ "prime_tower_purge_volume": { "label": "Wipe Tower Purge Volume", - "description": "Amount of filament to be purged when wiping on prime tower. This is usefull for compensating the filament lost by oozing during the inactivity of the nozzle.", + "description": "Amount of filament to be purged when wiping on prime tower. This is useful for compensating the filament lost by oozing during the inactivity of the nozzle.", "type": "float", "enabled": "prime_tower_enable", "unit": "mm³", From 8393a0efb48b18ffb7ac8068ede787e59d57d9ab Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 19 Jun 2017 10:52:54 +0200 Subject: [PATCH 05/14] Use resolveOrValue(prime_tower_enable) for prime tower purge "enabled" field CURA-3094 --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 05345a0f3e..b150550bb0 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4419,7 +4419,7 @@ "label": "Wipe Tower Purge Volume", "description": "Amount of filament to be purged when wiping on prime tower. This is useful for compensating the filament lost by oozing during the inactivity of the nozzle.", "type": "float", - "enabled": "prime_tower_enable", + "enabled": "resolveOrValue('prime_tower_enable')", "unit": "mm³", "default_value": 0, "minimum_value": "0", From 81323e555aa8da6f2eca630708f9f364edea1e97 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 20 Jun 2017 16:54:40 +0200 Subject: [PATCH 06/14] Make LayerView work with "Purge" line type CURA-3094 In CuraEngine, we created a new line type called "Purge" to make Prime Tower Purge work. This commit makes the LayerView plugin to handle "Purge" lines correctly. --- cura/LayerPolygon.py | 13 +++++++++---- plugins/LayerView/LayerPass.py | 2 ++ plugins/LayerView/LayerView.py | 11 +++++++++++ plugins/LayerView/LayerView.qml | 8 ++++++++ plugins/LayerView/layers.shader | 13 +++++++++++++ plugins/LayerView/layers3d.shader | 5 +++++ resources/themes/cura/theme.json | 5 +++-- 7 files changed, 51 insertions(+), 6 deletions(-) diff --git a/cura/LayerPolygon.py b/cura/LayerPolygon.py index d6ab854169..59c900a263 100644 --- a/cura/LayerPolygon.py +++ b/cura/LayerPolygon.py @@ -18,10 +18,14 @@ class LayerPolygon: MoveCombingType = 8 MoveRetractionType = 9 SupportInterfaceType = 10 - __number_of_types = 11 + PurgeType = 11 + + __number_of_types = 12 + + __jump_map = numpy.logical_or(numpy.logical_or(numpy.arange(__number_of_types) == NoneType, + numpy.arange(__number_of_types) == MoveCombingType), + numpy.arange(__number_of_types) == MoveRetractionType) - __jump_map = numpy.logical_or(numpy.logical_or(numpy.arange(__number_of_types) == NoneType, numpy.arange(__number_of_types) == MoveCombingType), numpy.arange(__number_of_types) == MoveRetractionType) - ## LayerPolygon, used in ProcessSlicedLayersJob # \param extruder # \param line_types array with line_types @@ -222,7 +226,8 @@ class LayerPolygon: theme.getColor("layerview_support_infill").getRgbF(), # SupportInfillType theme.getColor("layerview_move_combing").getRgbF(), # MoveCombingType theme.getColor("layerview_move_retraction").getRgbF(), # MoveRetractionType - theme.getColor("layerview_support_interface").getRgbF() # SupportInterfaceType + theme.getColor("layerview_support_interface").getRgbF(), # SupportInterfaceType + theme.getColor("layerview_purge").getRgbF() # PurgeType ]) return cls.__color_map diff --git a/plugins/LayerView/LayerPass.py b/plugins/LayerView/LayerPass.py index 51a35fb48a..269e28d473 100755 --- a/plugins/LayerView/LayerPass.py +++ b/plugins/LayerView/LayerPass.py @@ -51,6 +51,7 @@ class LayerPass(RenderPass): self._layer_shader.setUniformValue("u_show_helpers", self._layer_view.getShowHelpers()) self._layer_shader.setUniformValue("u_show_skin", self._layer_view.getShowSkin()) self._layer_shader.setUniformValue("u_show_infill", self._layer_view.getShowInfill()) + self._layer_shader.setUniformValue("u_show_purge", self._layer_view.getShowPurge()) else: #defaults self._layer_shader.setUniformValue("u_layer_view_type", 1) @@ -59,6 +60,7 @@ class LayerPass(RenderPass): self._layer_shader.setUniformValue("u_show_helpers", 1) self._layer_shader.setUniformValue("u_show_skin", 1) self._layer_shader.setUniformValue("u_show_infill", 1) + self._layer_shader.setUniformValue("u_show_purge", 1) if not self._tool_handle_shader: self._tool_handle_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "toolhandle.shader")) diff --git a/plugins/LayerView/LayerView.py b/plugins/LayerView/LayerView.py index 97a343bd33..4230c0f9e0 100755 --- a/plugins/LayerView/LayerView.py +++ b/plugins/LayerView/LayerView.py @@ -82,6 +82,7 @@ class LayerView(View): Preferences.getInstance().addPreference("layerview/show_helpers", True) Preferences.getInstance().addPreference("layerview/show_skin", True) Preferences.getInstance().addPreference("layerview/show_infill", True) + Preferences.getInstance().addPreference("layerview/show_purge", True) Preferences.getInstance().preferenceChanged.connect(self._onPreferencesChanged) self._updateWithPreferences() @@ -100,6 +101,7 @@ class LayerView(View): self._show_helpers = 1 self._show_skin = 1 self._show_infill = 1 + self._show_purge = 1 def getActivity(self): return self._activity @@ -237,6 +239,13 @@ class LayerView(View): def getShowInfill(self): return self._show_infill + def setShowPurge(self, show): + self._show_purge = show + self.currentLayerNumChanged.emit() + + def getShowPurge(self): + return self._show_purge + def getCompatibilityMode(self): return self._compatibility_mode @@ -408,6 +417,7 @@ class LayerView(View): self.setShowHelpers(bool(Preferences.getInstance().getValue("layerview/show_helpers"))) self.setShowSkin(bool(Preferences.getInstance().getValue("layerview/show_skin"))) self.setShowInfill(bool(Preferences.getInstance().getValue("layerview/show_infill"))) + self.setShowPurge(bool(Preferences.getInstance().getValue("layerview/show_purge"))) self._startUpdateTopLayers() self.preferencesChanged.emit() @@ -423,6 +433,7 @@ class LayerView(View): "layerview/show_helpers", "layerview/show_skin", "layerview/show_infill", + "layerview/show_purge", }: return diff --git a/plugins/LayerView/LayerView.qml b/plugins/LayerView/LayerView.qml index 9dc038fe70..1757d72ac7 100755 --- a/plugins/LayerView/LayerView.qml +++ b/plugins/LayerView/LayerView.qml @@ -43,6 +43,7 @@ Item property bool show_helpers: UM.Preferences.getValue("layerview/show_helpers") property bool show_skin: UM.Preferences.getValue("layerview/show_skin") property bool show_infill: UM.Preferences.getValue("layerview/show_infill") + property bool show_purge: UM.Preferences.getValue("layerview/show_purge") // if we are in compatibility mode, we only show the "line type" property bool show_legend: UM.LayerView.compatibilityMode ? 1 : UM.Preferences.getValue("layerview/layer_view_type") == 1 property bool only_show_top_layers: UM.Preferences.getValue("view/only_show_top_layers") @@ -157,6 +158,7 @@ Item view_settings.show_helpers = UM.Preferences.getValue("layerview/show_helpers"); view_settings.show_skin = UM.Preferences.getValue("layerview/show_skin"); view_settings.show_infill = UM.Preferences.getValue("layerview/show_infill"); + view_settings.show_purge = UM.Preferences.getValue("layerview/show_purge"); view_settings.only_show_top_layers = UM.Preferences.getValue("view/only_show_top_layers"); view_settings.top_layer_count = UM.Preferences.getValue("view/top_layer_count"); } @@ -219,6 +221,12 @@ Item preference: "layerview/show_infill", colorId: "layerview_infill" }); + typesLegenModel.append({ + label: catalog.i18nc("@label", "Show Purge"), + initialValue: view_settings.show_purge, + preference: "layerview/show_purge", + colorId: "layerview_purge" + }); } } diff --git a/plugins/LayerView/layers.shader b/plugins/LayerView/layers.shader index d340773403..2f7a01cf11 100755 --- a/plugins/LayerView/layers.shader +++ b/plugins/LayerView/layers.shader @@ -35,6 +35,7 @@ fragment = uniform int u_show_helpers; uniform int u_show_skin; uniform int u_show_infill; + uniform int u_show_purge; void main() { @@ -62,6 +63,11 @@ fragment = // discard movements discard; } + // purge: + if ((u_show_purge == 0) && (v_line_type >= 10.5) && (v_line_type <= 11.5)) { + // discard movements + discard; + } gl_FragColor = v_color; } @@ -103,6 +109,7 @@ fragment41core = uniform int u_show_helpers; uniform int u_show_skin; uniform int u_show_infill; + uniform int u_show_purge; void main() { @@ -130,6 +137,11 @@ fragment41core = // discard movements discard; } + // purge: + if ((u_show_purge == 0) && (v_line_type >= 10.5) && (v_line_type <= 11.5)) { + // discard movements + discard; + } frag_color = v_color; } @@ -144,6 +156,7 @@ u_show_travel_moves = 0 u_show_helpers = 1 u_show_skin = 1 u_show_infill = 1 +u_show_purge = 1 [bindings] u_modelViewProjectionMatrix = model_view_projection_matrix diff --git a/plugins/LayerView/layers3d.shader b/plugins/LayerView/layers3d.shader index 6f5e986eec..ef6286c831 100755 --- a/plugins/LayerView/layers3d.shader +++ b/plugins/LayerView/layers3d.shader @@ -71,6 +71,7 @@ geometry41core = uniform int u_show_helpers; uniform int u_show_skin; uniform int u_show_infill; + uniform int u_show_purge; layout(lines) in; layout(triangle_strip, max_vertices = 26) out; @@ -125,6 +126,9 @@ geometry41core = if ((u_show_infill == 0) && (v_line_type[0] == 6)) { return; } + if ((u_show_purge == 0) && (v_line_type[0] == 11)) { + return; + } if ((v_line_type[0] == 8) || (v_line_type[0] == 9)) { // fixed size for movements @@ -246,6 +250,7 @@ u_show_travel_moves = 0 u_show_helpers = 1 u_show_skin = 1 u_show_infill = 1 +u_show_purge = 1 [bindings] u_modelViewProjectionMatrix = model_view_projection_matrix diff --git a/resources/themes/cura/theme.json b/resources/themes/cura/theme.json index a36f271fe8..e2de9e230d 100644 --- a/resources/themes/cura/theme.json +++ b/resources/themes/cura/theme.json @@ -246,7 +246,8 @@ "layerview_support_infill": [0, 255, 255, 255], "layerview_move_combing": [0, 0, 255, 255], "layerview_move_retraction": [128, 128, 255, 255], - "layerview_support_interface": [64, 192, 255, 255] + "layerview_support_interface": [64, 192, 255, 255], + "layerview_purge": [101, 51, 175, 255] }, "sizes": { @@ -306,7 +307,7 @@ "slider_layerview_background": [4.0, 0.0], "slider_layerview_margin": [1.0, 1.0], - "layerview_menu_size": [16.5, 21.0], + "layerview_menu_size": [16.5, 23.0], "layerview_menu_size_compatibility": [22, 23.0], "layerview_legend_size": [1.0, 1.0], "layerview_row": [11.0, 1.5], From f3a9267fa680752efa4b49ef26f2e778645ef087 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 23 Jun 2017 13:32:18 +0200 Subject: [PATCH 07/14] Revert "Make LayerView work with "Purge" line type" CURA-3094 --- cura/LayerPolygon.py | 13 ++++--------- plugins/LayerView/LayerPass.py | 2 -- plugins/LayerView/LayerView.py | 11 ----------- plugins/LayerView/LayerView.qml | 8 -------- plugins/LayerView/layers.shader | 13 ------------- plugins/LayerView/layers3d.shader | 5 ----- resources/themes/cura/theme.json | 5 ++--- 7 files changed, 6 insertions(+), 51 deletions(-) diff --git a/cura/LayerPolygon.py b/cura/LayerPolygon.py index 59c900a263..d6ab854169 100644 --- a/cura/LayerPolygon.py +++ b/cura/LayerPolygon.py @@ -18,14 +18,10 @@ class LayerPolygon: MoveCombingType = 8 MoveRetractionType = 9 SupportInterfaceType = 10 - PurgeType = 11 - - __number_of_types = 12 - - __jump_map = numpy.logical_or(numpy.logical_or(numpy.arange(__number_of_types) == NoneType, - numpy.arange(__number_of_types) == MoveCombingType), - numpy.arange(__number_of_types) == MoveRetractionType) + __number_of_types = 11 + __jump_map = numpy.logical_or(numpy.logical_or(numpy.arange(__number_of_types) == NoneType, numpy.arange(__number_of_types) == MoveCombingType), numpy.arange(__number_of_types) == MoveRetractionType) + ## LayerPolygon, used in ProcessSlicedLayersJob # \param extruder # \param line_types array with line_types @@ -226,8 +222,7 @@ class LayerPolygon: theme.getColor("layerview_support_infill").getRgbF(), # SupportInfillType theme.getColor("layerview_move_combing").getRgbF(), # MoveCombingType theme.getColor("layerview_move_retraction").getRgbF(), # MoveRetractionType - theme.getColor("layerview_support_interface").getRgbF(), # SupportInterfaceType - theme.getColor("layerview_purge").getRgbF() # PurgeType + theme.getColor("layerview_support_interface").getRgbF() # SupportInterfaceType ]) return cls.__color_map diff --git a/plugins/LayerView/LayerPass.py b/plugins/LayerView/LayerPass.py index 269e28d473..51a35fb48a 100755 --- a/plugins/LayerView/LayerPass.py +++ b/plugins/LayerView/LayerPass.py @@ -51,7 +51,6 @@ class LayerPass(RenderPass): self._layer_shader.setUniformValue("u_show_helpers", self._layer_view.getShowHelpers()) self._layer_shader.setUniformValue("u_show_skin", self._layer_view.getShowSkin()) self._layer_shader.setUniformValue("u_show_infill", self._layer_view.getShowInfill()) - self._layer_shader.setUniformValue("u_show_purge", self._layer_view.getShowPurge()) else: #defaults self._layer_shader.setUniformValue("u_layer_view_type", 1) @@ -60,7 +59,6 @@ class LayerPass(RenderPass): self._layer_shader.setUniformValue("u_show_helpers", 1) self._layer_shader.setUniformValue("u_show_skin", 1) self._layer_shader.setUniformValue("u_show_infill", 1) - self._layer_shader.setUniformValue("u_show_purge", 1) if not self._tool_handle_shader: self._tool_handle_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "toolhandle.shader")) diff --git a/plugins/LayerView/LayerView.py b/plugins/LayerView/LayerView.py index 4230c0f9e0..97a343bd33 100755 --- a/plugins/LayerView/LayerView.py +++ b/plugins/LayerView/LayerView.py @@ -82,7 +82,6 @@ class LayerView(View): Preferences.getInstance().addPreference("layerview/show_helpers", True) Preferences.getInstance().addPreference("layerview/show_skin", True) Preferences.getInstance().addPreference("layerview/show_infill", True) - Preferences.getInstance().addPreference("layerview/show_purge", True) Preferences.getInstance().preferenceChanged.connect(self._onPreferencesChanged) self._updateWithPreferences() @@ -101,7 +100,6 @@ class LayerView(View): self._show_helpers = 1 self._show_skin = 1 self._show_infill = 1 - self._show_purge = 1 def getActivity(self): return self._activity @@ -239,13 +237,6 @@ class LayerView(View): def getShowInfill(self): return self._show_infill - def setShowPurge(self, show): - self._show_purge = show - self.currentLayerNumChanged.emit() - - def getShowPurge(self): - return self._show_purge - def getCompatibilityMode(self): return self._compatibility_mode @@ -417,7 +408,6 @@ class LayerView(View): self.setShowHelpers(bool(Preferences.getInstance().getValue("layerview/show_helpers"))) self.setShowSkin(bool(Preferences.getInstance().getValue("layerview/show_skin"))) self.setShowInfill(bool(Preferences.getInstance().getValue("layerview/show_infill"))) - self.setShowPurge(bool(Preferences.getInstance().getValue("layerview/show_purge"))) self._startUpdateTopLayers() self.preferencesChanged.emit() @@ -433,7 +423,6 @@ class LayerView(View): "layerview/show_helpers", "layerview/show_skin", "layerview/show_infill", - "layerview/show_purge", }: return diff --git a/plugins/LayerView/LayerView.qml b/plugins/LayerView/LayerView.qml index 1757d72ac7..9dc038fe70 100755 --- a/plugins/LayerView/LayerView.qml +++ b/plugins/LayerView/LayerView.qml @@ -43,7 +43,6 @@ Item property bool show_helpers: UM.Preferences.getValue("layerview/show_helpers") property bool show_skin: UM.Preferences.getValue("layerview/show_skin") property bool show_infill: UM.Preferences.getValue("layerview/show_infill") - property bool show_purge: UM.Preferences.getValue("layerview/show_purge") // if we are in compatibility mode, we only show the "line type" property bool show_legend: UM.LayerView.compatibilityMode ? 1 : UM.Preferences.getValue("layerview/layer_view_type") == 1 property bool only_show_top_layers: UM.Preferences.getValue("view/only_show_top_layers") @@ -158,7 +157,6 @@ Item view_settings.show_helpers = UM.Preferences.getValue("layerview/show_helpers"); view_settings.show_skin = UM.Preferences.getValue("layerview/show_skin"); view_settings.show_infill = UM.Preferences.getValue("layerview/show_infill"); - view_settings.show_purge = UM.Preferences.getValue("layerview/show_purge"); view_settings.only_show_top_layers = UM.Preferences.getValue("view/only_show_top_layers"); view_settings.top_layer_count = UM.Preferences.getValue("view/top_layer_count"); } @@ -221,12 +219,6 @@ Item preference: "layerview/show_infill", colorId: "layerview_infill" }); - typesLegenModel.append({ - label: catalog.i18nc("@label", "Show Purge"), - initialValue: view_settings.show_purge, - preference: "layerview/show_purge", - colorId: "layerview_purge" - }); } } diff --git a/plugins/LayerView/layers.shader b/plugins/LayerView/layers.shader index 2f7a01cf11..d340773403 100755 --- a/plugins/LayerView/layers.shader +++ b/plugins/LayerView/layers.shader @@ -35,7 +35,6 @@ fragment = uniform int u_show_helpers; uniform int u_show_skin; uniform int u_show_infill; - uniform int u_show_purge; void main() { @@ -63,11 +62,6 @@ fragment = // discard movements discard; } - // purge: - if ((u_show_purge == 0) && (v_line_type >= 10.5) && (v_line_type <= 11.5)) { - // discard movements - discard; - } gl_FragColor = v_color; } @@ -109,7 +103,6 @@ fragment41core = uniform int u_show_helpers; uniform int u_show_skin; uniform int u_show_infill; - uniform int u_show_purge; void main() { @@ -137,11 +130,6 @@ fragment41core = // discard movements discard; } - // purge: - if ((u_show_purge == 0) && (v_line_type >= 10.5) && (v_line_type <= 11.5)) { - // discard movements - discard; - } frag_color = v_color; } @@ -156,7 +144,6 @@ u_show_travel_moves = 0 u_show_helpers = 1 u_show_skin = 1 u_show_infill = 1 -u_show_purge = 1 [bindings] u_modelViewProjectionMatrix = model_view_projection_matrix diff --git a/plugins/LayerView/layers3d.shader b/plugins/LayerView/layers3d.shader index ef6286c831..6f5e986eec 100755 --- a/plugins/LayerView/layers3d.shader +++ b/plugins/LayerView/layers3d.shader @@ -71,7 +71,6 @@ geometry41core = uniform int u_show_helpers; uniform int u_show_skin; uniform int u_show_infill; - uniform int u_show_purge; layout(lines) in; layout(triangle_strip, max_vertices = 26) out; @@ -126,9 +125,6 @@ geometry41core = if ((u_show_infill == 0) && (v_line_type[0] == 6)) { return; } - if ((u_show_purge == 0) && (v_line_type[0] == 11)) { - return; - } if ((v_line_type[0] == 8) || (v_line_type[0] == 9)) { // fixed size for movements @@ -250,7 +246,6 @@ u_show_travel_moves = 0 u_show_helpers = 1 u_show_skin = 1 u_show_infill = 1 -u_show_purge = 1 [bindings] u_modelViewProjectionMatrix = model_view_projection_matrix diff --git a/resources/themes/cura/theme.json b/resources/themes/cura/theme.json index e2de9e230d..a36f271fe8 100644 --- a/resources/themes/cura/theme.json +++ b/resources/themes/cura/theme.json @@ -246,8 +246,7 @@ "layerview_support_infill": [0, 255, 255, 255], "layerview_move_combing": [0, 0, 255, 255], "layerview_move_retraction": [128, 128, 255, 255], - "layerview_support_interface": [64, 192, 255, 255], - "layerview_purge": [101, 51, 175, 255] + "layerview_support_interface": [64, 192, 255, 255] }, "sizes": { @@ -307,7 +306,7 @@ "slider_layerview_background": [4.0, 0.0], "slider_layerview_margin": [1.0, 1.0], - "layerview_menu_size": [16.5, 23.0], + "layerview_menu_size": [16.5, 21.0], "layerview_menu_size_compatibility": [22, 23.0], "layerview_legend_size": [1.0, 1.0], "layerview_row": [11.0, 1.5], From eb254b085ac2434e932d0e320734c9b659b9a9e8 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 23 Jun 2017 13:34:09 +0200 Subject: [PATCH 08/14] Use "Prime Tower Purge Volume" for setting label CURA-3094 --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b150550bb0..24bfcdde8f 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4416,7 +4416,7 @@ }, "prime_tower_purge_volume": { - "label": "Wipe Tower Purge Volume", + "label": "Prime Tower Purge Volume", "description": "Amount of filament to be purged when wiping on prime tower. This is useful for compensating the filament lost by oozing during the inactivity of the nozzle.", "type": "float", "enabled": "resolveOrValue('prime_tower_enable')", From 2438effe0a550b287dd59d4cb747adfdcd5a3c0e Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 23 Jun 2017 13:34:19 +0200 Subject: [PATCH 09/14] Use 0.5 as max warning value for prime tower purge volume CURA-3094 Purging more than 0.5mm^3 of material can be way too much, so we use 0.5mm^3 as the maximum warning value for the prime tower purge volume. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 24bfcdde8f..94d0087422 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4423,7 +4423,7 @@ "unit": "mm³", "default_value": 0, "minimum_value": "0", - "maximum_value_warning": "5", + "maximum_value_warning": "0.5", "settable_per_mesh": false, "settable_per_extruder": true }, From 15293964f8de9c046c33ce76f73143562b092e07 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 26 Jun 2017 08:29:13 +0200 Subject: [PATCH 10/14] Better description for Prime Tower Purge Volume CURA-3094 --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 94d0087422..c5aefb021f 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4417,7 +4417,7 @@ "prime_tower_purge_volume": { "label": "Prime Tower Purge Volume", - "description": "Amount of filament to be purged when wiping on prime tower. This is useful for compensating the filament lost by oozing during the inactivity of the nozzle.", + "description": "Amount of filament to be purged when wiping on prime tower. Purging is useful for compensating the filament lost by oozing during the inactivity of the nozzle.", "type": "float", "enabled": "resolveOrValue('prime_tower_enable')", "unit": "mm³", From af1e18df24dab3911c3891b45adf048afad0100c Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 26 Jun 2017 08:30:01 +0200 Subject: [PATCH 11/14] Enabled Prime Power Purge when Prime Tower Wipe is enabled CURA-3094 --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index c5aefb021f..21e2a7bb79 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4419,7 +4419,7 @@ "label": "Prime Tower Purge Volume", "description": "Amount of filament to be purged when wiping on prime tower. Purging is useful for compensating the filament lost by oozing during the inactivity of the nozzle.", "type": "float", - "enabled": "resolveOrValue('prime_tower_enable')", + "enabled": "resolveOrValue('prime_tower_wipe_enabled')", "unit": "mm³", "default_value": 0, "minimum_value": "0", From c2f9786303ba4b7998915675f85f28e987d024cc Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 26 Jun 2017 10:59:58 +0200 Subject: [PATCH 12/14] Fix enable Prime Power Purge when Prime Tower Wipe is enabled CURA-3094 --- resources/definitions/fdmprinter.def.json | 26 +++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 21e2a7bb79..861caa7c80 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4414,19 +4414,6 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "prime_tower_purge_volume": - { - "label": "Prime Tower Purge Volume", - "description": "Amount of filament to be purged when wiping on prime tower. Purging is useful for compensating the filament lost by oozing during the inactivity of the nozzle.", - "type": "float", - "enabled": "resolveOrValue('prime_tower_wipe_enabled')", - "unit": "mm³", - "default_value": 0, - "minimum_value": "0", - "maximum_value_warning": "0.5", - "settable_per_mesh": false, - "settable_per_extruder": true - }, "dual_pre_wipe": { "label": "Wipe Nozzle After Switch", @@ -4437,6 +4424,19 @@ "settable_per_mesh": false, "settable_per_extruder": true }, + "prime_tower_purge_volume": + { + "label": "Prime Tower Purge Volume", + "description": "Amount of filament to be purged when wiping on prime tower. Purging is useful for compensating the filament lost by oozing during the inactivity of the nozzle.", + "type": "float", + "enabled": "dual_pre_wipe", + "unit": "mm³", + "default_value": 0, + "minimum_value": "0", + "maximum_value_warning": "0.5", + "settable_per_mesh": false, + "settable_per_extruder": true + }, "ooze_shield_enabled": { "label": "Enable Ooze Shield", From d3bc6258526ef9f214abace4b76787a62395c10d Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 26 Jun 2017 13:49:12 +0200 Subject: [PATCH 13/14] Fix prime tower purge description text CURA-3094 --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 861caa7c80..873a0ae274 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4427,7 +4427,7 @@ "prime_tower_purge_volume": { "label": "Prime Tower Purge Volume", - "description": "Amount of filament to be purged when wiping on prime tower. Purging is useful for compensating the filament lost by oozing during the inactivity of the nozzle.", + "description": "Amount of filament to be purged when wiping on the prime tower. Purging is useful for compensating the filament lost by oozing during inactivity of the nozzle.", "type": "float", "enabled": "dual_pre_wipe", "unit": "mm³", From 8a0afa9c32e692470ab5fcdfe6d8a574978c66c6 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 26 Jun 2017 15:54:56 +0200 Subject: [PATCH 14/14] Enable prime tower purge volume when prime tower and wipe are both enabled --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 873a0ae274..105a9b5424 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4429,7 +4429,7 @@ "label": "Prime Tower Purge Volume", "description": "Amount of filament to be purged when wiping on the prime tower. Purging is useful for compensating the filament lost by oozing during inactivity of the nozzle.", "type": "float", - "enabled": "dual_pre_wipe", + "enabled": "resolveOrValue('prime_tower_enable') and dual_pre_wipe", "unit": "mm³", "default_value": 0, "minimum_value": "0",