Browse Source

Merge pull request #3866 from Ultimaker/fix_retraction_amount

Fix retraction amount
jack 6 years ago
parent
commit
f9df0a542a

+ 9 - 0
cura/Settings/MachineManager.py

@@ -655,6 +655,15 @@ class MachineManager(QObject):
 
         return ""
 
+    @pyqtProperty(str, notify = activeVariantChanged)
+    def activeVariantId(self) -> str:
+        if self._active_container_stack:
+            variant = self._active_container_stack.variant
+            if variant:
+                return variant.getId()
+
+        return ""
+
     @pyqtProperty(str, notify = activeVariantChanged)
     def activeVariantBuildplateName(self) -> str:
         if self._global_container_stack:

+ 1 - 1
resources/definitions/ultimaker3.def.json

@@ -122,7 +122,7 @@
         "raft_jerk": { "value": "jerk_layer_0" },
         "raft_margin": { "value": "10" },
         "raft_surface_layers": { "value": "1" },
-        "retraction_amount": { "value": "2" },
+        "retraction_amount": { "value": "6.5" },
         "retraction_count_max": { "value": "10" },
         "retraction_extrusion_window": { "value": "1" },
         "retraction_hop": { "value": "2" },

+ 1 - 1
resources/definitions/ultimaker_s5.def.json

@@ -119,7 +119,7 @@
         "raft_margin": { "value": "10" },
         "raft_speed": { "value": "25" },
         "raft_surface_layers": { "value": "1" },
-        "retraction_amount": { "value": "2" },
+        "retraction_amount": { "value": "6.5" },
         "retraction_count_max": { "value": "10" },
         "retraction_extrusion_window": { "value": "1" },
         "retraction_hop": { "value": "2" },

+ 14 - 0
resources/qml/Preferences/MaterialView.qml

@@ -404,10 +404,17 @@ TabView
                         id: spinBox
                         anchors.left: label.right
                         value: {
+                            // In case the setting is not in the material...
                             if (!isNaN(parseFloat(materialPropertyProvider.properties.value)))
                             {
                                 return parseFloat(materialPropertyProvider.properties.value);
                             }
+                            // ... we search in the variant, and if it is not there...
+                            if (!isNaN(parseFloat(variantPropertyProvider.properties.value)))
+                            {
+                                return parseFloat(variantPropertyProvider.properties.value);
+                            }
+                            // ... then look in the definition container.
                             if (!isNaN(parseFloat(machinePropertyProvider.properties.value)))
                             {
                                 return parseFloat(machinePropertyProvider.properties.value);
@@ -431,6 +438,13 @@ TabView
                         key: model.key
                     }
                     UM.ContainerPropertyProvider
+                    {
+                        id: variantPropertyProvider
+                        containerId: Cura.MachineManager.activeVariantId
+                        watchedProperties: [ "value" ]
+                        key: model.key
+                    }
+                    UM.ContainerPropertyProvider
                     {
                         id: machinePropertyProvider
                         containerId: Cura.MachineManager.activeDefinitionId