From b722a6260c352e2f72aa2bf2b6f11d9ed4e1c3ee Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 3 Oct 2016 14:34:49 +0200 Subject: [PATCH 01/18] JSON fix: new resolve functions (CURA-2410) --- resources/definitions/fdmprinter.def.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 3aa45f7af7..eab501ffc6 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -550,6 +550,7 @@ "unit": "mm", "type": "float", "default_value": 0.3, + "resolve": "sum(extruderValues('layer_height_0')) / len(extruderValues('layer_height_0'))", "minimum_value": "0.001", "minimum_value_warning": "0.04", "maximum_value_warning": "0.8 * min(extruderValues('machine_nozzle_size'))", @@ -1640,6 +1641,7 @@ "description": "The first few layers are printed slower than the rest of the model, to get better adhesion to the build plate and improve the overall success rate of prints. The speed is gradually increased over these layers.", "type": "int", "default_value": 2, + "resolve": "sum(extruderValues('speed_slowdown_layers')) / len(extruderValues('speed_slowdown_layers'))", "minimum_value": "0", "maximum_value_warning": "1.0 / layer_height", "settable_per_mesh": false, @@ -1675,6 +1677,7 @@ "description": "Enables adjusting the print head acceleration. Increasing the accelerations can reduce printing time at the cost of print quality.", "type": "bool", "default_value": false, + "resolve": "any(extruderValues('acceleration_enabled'))", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -1896,6 +1899,7 @@ "description": "Enables adjusting the jerk of print head when the velocity in the X or Y axis changes. Increasing the jerk can reduce printing time at the cost of print quality.", "type": "bool", "default_value": false, + "resolve": "any(extruderValues('jerk_enabled'))", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -2133,6 +2137,7 @@ "noskin": "No Skin" }, "default_value": "all", + "resolve": "'noskin' if 'noskin' in extruderValues('retraction_combing') else ('all' if 'all' in extruderValues('retraction_combing') else 'off')", "settable_per_mesh": true }, "travel_avoid_other_parts": @@ -2326,6 +2331,7 @@ "everywhere": "Everywhere" }, "default_value": "everywhere", + "resolve": "'everywhere' if 'everywhere' in extruderValues('support_type') else buildplate", "enabled": "support_enable", "settable_per_mesh": false, "settable_per_extruder": false @@ -3348,6 +3354,7 @@ "enabled": "resolveOrValue('prime_tower_enable')", "default_value": 15, "value": "15 if resolveOrValue('prime_tower_enable') else 0", + "resolve": "max(extruderValues('prime_tower_size'))", "minimum_value": "0", "maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)", "maximum_value_warning": "20", @@ -3405,6 +3412,7 @@ "type": "bool", "enabled": "resolveOrValue('prime_tower_enable')", "default_value": true, + "resolve": "any(extruderValues('prime_tower_wipe_enabled'))", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -3424,6 +3432,7 @@ "label": "Enable Ooze Shield", "description": "Enable exterior ooze shield. This will create a shell around the model which is likely to wipe a second nozzle if it's at the same height as the first nozzle.", "type": "bool", + "resolve": "any(extruderValues('ooze_shield_enabled'))", "default_value": false, "settable_per_mesh": false, "settable_per_extruder": false @@ -3436,6 +3445,7 @@ "unit": "°", "enabled": "ooze_shield_enabled", "default_value": 60, + "resolve": "min(extruderValues('ooze_shield_angle'))", "minimum_value": "0", "maximum_value": "90", "settable_per_mesh": false, @@ -3449,6 +3459,7 @@ "unit": "mm", "enabled": "ooze_shield_enabled", "default_value": 2, + "resolve": "max(extruderValues('ooze_shield_dist'))", "minimum_value": "0", "maximum_value_warning": "30", "settable_per_mesh": false, @@ -3596,6 +3607,7 @@ "minimum_value": "0", "maximum_value_warning": "100", "default_value": 10, + "resolve": "max(extruderValues('draft_shield_dist'))", "enabled": "draft_shield_enabled", "settable_per_mesh": false, "settable_per_extruder": false @@ -3611,6 +3623,7 @@ "limited": "Limited" }, "default_value": "full", + "resolve": "'full' if 'full' in extruderValues('draft_shield_height_limitation') else 'limited'", "enabled": "draft_shield_enabled", "settable_per_mesh": false, "settable_per_extruder": false From 8363f40a2f422c9f183e3e8f7e0fedf07fd35dd6 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 3 Oct 2016 14:35:31 +0200 Subject: [PATCH 02/18] JSON fix: resolveOrValue for acceleration_enabled (CURA-2410) --- resources/definitions/fdmprinter.def.json | 38 +++++++++++------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index eab501ffc6..ab1ef3ec13 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1690,7 +1690,7 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "enabled": "acceleration_enabled", + "enabled": "resolveOrValue('acceleration_enabled')", "settable_per_mesh": true, "children": { "acceleration_infill": { @@ -1703,7 +1703,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "value": "acceleration_print", - "enabled": "acceleration_enabled and infill_sparse_density > 0", + "enabled": "resolveOrValue('acceleration_enabled') and infill_sparse_density > 0", "settable_per_mesh": true }, "acceleration_wall": { @@ -1716,7 +1716,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "value": "acceleration_print", - "enabled": "acceleration_enabled", + "enabled": "resolveOrValue('acceleration_enabled')", "settable_per_mesh": true, "children": { "acceleration_wall_0": { @@ -1729,7 +1729,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "value": "acceleration_wall", - "enabled": "acceleration_enabled", + "enabled": "resolveOrValue('acceleration_enabled')", "settable_per_mesh": true }, "acceleration_wall_x": { @@ -1742,7 +1742,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "value": "acceleration_wall", - "enabled": "acceleration_enabled", + "enabled": "resolveOrValue('acceleration_enabled')", "settable_per_mesh": true } } @@ -1757,7 +1757,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "value": "acceleration_print", - "enabled": "acceleration_enabled", + "enabled": "resolveOrValue('acceleration_enabled')", "settable_per_mesh": true }, "acceleration_support": { @@ -1770,7 +1770,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "value": "acceleration_print", - "enabled": "acceleration_enabled and support_enable", + "enabled": "resolveOrValue('acceleration_enabled') and support_enable", "settable_per_mesh": false, "limit_to_extruder": "support_extruder_nr", "settable_per_extruder": true, @@ -1785,7 +1785,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "acceleration_enabled and support_enable", + "enabled": "resolveOrValue('acceleration_enabled') and support_enable", "limit_to_extruder": "support_infill_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true @@ -1800,7 +1800,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "acceleration_enabled and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "resolveOrValue('acceleration_enabled') and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "limit_to_extruder": "support_interface_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true @@ -1817,7 +1817,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "value": "acceleration_print", - "enabled": "resolveOrValue('prime_tower_enable') and acceleration_enabled", + "enabled": "resolveOrValue('prime_tower_enable') and resolveOrValue('acceleration_enabled')", "settable_per_mesh": false } } @@ -1832,7 +1832,7 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "value": "acceleration_print if magic_spiralize else 5000", - "enabled": "acceleration_enabled", + "enabled": "resolveOrValue('acceleration_enabled')", "settable_per_mesh": false }, "acceleration_layer_0": { @@ -1845,7 +1845,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "acceleration_enabled", + "enabled": "resolveOrValue('acceleration_enabled')", "settable_per_mesh": true, "children": { "acceleration_print_layer_0": @@ -1859,7 +1859,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "acceleration_enabled", + "enabled": "resolveOrValue('acceleration_enabled')", "settable_per_mesh": true }, "acceleration_travel_layer_0": @@ -1873,7 +1873,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "acceleration_enabled", + "enabled": "resolveOrValue('acceleration_enabled')", "settable_per_extruder": true, "settable_per_mesh": false } @@ -1889,7 +1889,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "acceleration_enabled", + "enabled": "resolveOrValue('acceleration_enabled')", "settable_per_mesh": false, "limit_to_extruder": "adhesion_extruder_nr" }, @@ -3101,7 +3101,7 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "value": "acceleration_print", - "enabled": "resolveOrValue('adhesion_type') == 'raft' and acceleration_enabled", + "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')", "settable_per_mesh": false, "limit_to_extruder": "adhesion_extruder_nr", "children": { @@ -3115,7 +3115,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "resolveOrValue('adhesion_type') == 'raft' and acceleration_enabled", + "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')", "settable_per_mesh": false, "limit_to_extruder": "adhesion_extruder_nr" }, @@ -3129,7 +3129,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "resolveOrValue('adhesion_type') == 'raft' and acceleration_enabled", + "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')", "settable_per_mesh": false, "limit_to_extruder": "adhesion_extruder_nr" }, @@ -3143,7 +3143,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "resolveOrValue('adhesion_type') == 'raft' and acceleration_enabled", + "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')", "settable_per_mesh": false, "limit_to_extruder": "adhesion_extruder_nr" } From 16a07a3c3e1bfa7b73a6d059d68863093c0ca191 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 3 Oct 2016 14:41:09 +0200 Subject: [PATCH 03/18] JSON fix: RigidBot had weird outdated enabled formulas for skirt settings (CURA-2410) --- resources/definitions/rigidbot.def.json | 9 +++------ resources/definitions/rigidbot_big.def.json | 9 +++------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/resources/definitions/rigidbot.def.json b/resources/definitions/rigidbot.def.json index 7266c12a38..8b268410f9 100644 --- a/resources/definitions/rigidbot.def.json +++ b/resources/definitions/rigidbot.def.json @@ -88,16 +88,13 @@ "default_value": 0 }, "skirt_line_count": { - "default_value": 3, - "enabled": "adhesion_type == \"Skirt\"" + "default_value": 3 }, "skirt_gap": { - "default_value": 4, - "enabled": "adhesion_type == \"Skirt\"" + "default_value": 4 }, "skirt_brim_minimal_length": { - "default_value": 200, - "enabled": "adhesion_type == \"Skirt\"" + "default_value": 200 } } } diff --git a/resources/definitions/rigidbot_big.def.json b/resources/definitions/rigidbot_big.def.json index 9ada143fbc..f8cf1e1da0 100644 --- a/resources/definitions/rigidbot_big.def.json +++ b/resources/definitions/rigidbot_big.def.json @@ -91,16 +91,13 @@ "default_value": 0 }, "skirt_line_count": { - "default_value": 3, - "enabled": "adhesion_type == \"Skirt\"" + "default_value": 3 }, "skirt_gap": { - "default_value": 4, - "enabled": "adhesion_type == \"Skirt\"" + "default_value": 4 }, "skirt_brim_minimal_length": { - "default_value": 200, - "enabled": "adhesion_type == \"Skirt\"" + "default_value": 200 } } } \ No newline at end of file From 6564ada60dc6de67ee58278490071b8d9f405594 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 3 Oct 2016 14:42:14 +0200 Subject: [PATCH 04/18] JSON bugfix: prusa i3 had wrong adhesion setting (CURA-2410) --- resources/definitions/maker_starter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/maker_starter.def.json b/resources/definitions/maker_starter.def.json index e59c22fb5e..74cdc694ee 100644 --- a/resources/definitions/maker_starter.def.json +++ b/resources/definitions/maker_starter.def.json @@ -144,7 +144,7 @@ "default_value": 15 }, "adhesion_type": { - "default_value": "Raft" + "default_value": "raft" }, "skirt_brim_minimal_length": { "default_value": 100 From 8696d2ff34fa0974bbb030b75e1b798088b6cc27 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 3 Oct 2016 14:44:14 +0200 Subject: [PATCH 05/18] JSON fix: resolveOrValue for jerk_enabled (CURA-2410) --- resources/definitions/fdmprinter.def.json | 38 +++++++++++------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index ab1ef3ec13..1966b19528 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1912,7 +1912,7 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "enabled": "jerk_enabled", + "enabled": "resolveOrValue('jerk_enabled')", "settable_per_mesh": true, "children": { "jerk_infill": { @@ -1925,7 +1925,7 @@ "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", - "enabled": "jerk_enabled and infill_sparse_density > 0", + "enabled": "resolveOrValue('jerk_enabled') and infill_sparse_density > 0", "settable_per_mesh": true }, "jerk_wall": { @@ -1938,7 +1938,7 @@ "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", - "enabled": "jerk_enabled", + "enabled": "resolveOrValue('jerk_enabled')", "settable_per_mesh": true, "children": { "jerk_wall_0": { @@ -1951,7 +1951,7 @@ "maximum_value_warning": "50", "default_value": 20, "value": "jerk_wall", - "enabled": "jerk_enabled", + "enabled": "resolveOrValue('jerk_enabled')", "settable_per_mesh": true }, "jerk_wall_x": { @@ -1964,7 +1964,7 @@ "maximum_value_warning": "50", "default_value": 20, "value": "jerk_wall", - "enabled": "jerk_enabled", + "enabled": "resolveOrValue('jerk_enabled')", "settable_per_mesh": true } } @@ -1979,7 +1979,7 @@ "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", - "enabled": "jerk_enabled", + "enabled": "resolveOrValue('jerk_enabled')", "settable_per_mesh": true }, "jerk_support": { @@ -1992,7 +1992,7 @@ "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", - "enabled": "jerk_enabled and support_enable", + "enabled": "resolveOrValue('jerk_enabled') and support_enable", "settable_per_mesh": false, "settable_per_extruder": true, "limit_to_extruder": "support_extruder_nr", @@ -2007,7 +2007,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "enabled": "jerk_enabled and support_enable", + "enabled": "resolveOrValue('jerk_enabled') and support_enable", "limit_to_extruder": "support_infill_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true @@ -2022,7 +2022,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "enabled": "jerk_enabled and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "resolveOrValue('jerk_enabled') and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "limit_to_extruder": "support_interface_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true @@ -2039,7 +2039,7 @@ "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", - "enabled": "resolveOrValue('prime_tower_enable') and jerk_enabled", + "enabled": "resolveOrValue('prime_tower_enable') and resolveOrValue('jerk_enabled')", "settable_per_mesh": false } } @@ -2054,7 +2054,7 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "value": "jerk_print if magic_spiralize else 30", - "enabled": "jerk_enabled", + "enabled": "resolveOrValue('jerk_enabled')", "settable_per_mesh": false }, "jerk_layer_0": { @@ -2067,7 +2067,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "enabled": "jerk_enabled", + "enabled": "resolveOrValue('jerk_enabled')", "settable_per_mesh": true, "children": { "jerk_print_layer_0": @@ -2081,7 +2081,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "enabled": "jerk_enabled", + "enabled": "resolveOrValue('jerk_enabled')", "settable_per_mesh": true }, "jerk_travel_layer_0": @@ -2095,7 +2095,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "enabled": "jerk_enabled", + "enabled": "resolveOrValue('jerk_enabled')", "settable_per_extruder": true, "settable_per_mesh": false } @@ -2111,7 +2111,7 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "value": "jerk_layer_0", - "enabled": "jerk_enabled", + "enabled": "resolveOrValue('jerk_enabled')", "settable_per_mesh": false, "limit_to_extruder": "adhesion_extruder_nr" } @@ -3159,7 +3159,7 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "value": "jerk_print", - "enabled": "resolveOrValue('adhesion_type') == 'raft' and jerk_enabled", + "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')", "settable_per_mesh": false, "limit_to_extruder": "adhesion_extruder_nr", "children": { @@ -3173,7 +3173,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "100", - "enabled": "resolveOrValue('adhesion_type') == 'raft' and jerk_enabled", + "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')", "settable_per_mesh": false, "limit_to_extruder": "adhesion_extruder_nr" }, @@ -3187,7 +3187,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "enabled": "resolveOrValue('adhesion_type') == 'raft' and jerk_enabled", + "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')", "settable_per_mesh": false, "limit_to_extruder": "adhesion_extruder_nr" }, @@ -3201,7 +3201,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "enabled": "resolveOrValue('adhesion_type') == 'raft' and jerk_enabled", + "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')", "settable_per_mesh": false, "limit_to_extruder": "adhesion_extruder_nr" } From c7fbaa9fb8bc331a31e536fd1ad4f63be83fff65 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 3 Oct 2016 14:46:36 +0200 Subject: [PATCH 06/18] JSON fix: resolveOrValue for layer_height_0 (CURA-2410) --- resources/definitions/fdmprinter.def.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 1966b19528..faaeedd7a2 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2247,7 +2247,7 @@ "unit": "mm", "type": "float", "default_value": 0.5, - "value": "0 if resolveOrValue('adhesion_type') == 'raft' else layer_height_0", + "value": "0 if resolveOrValue('adhesion_type') == 'raft' else resolveOrValue('layer_height_0')", "minimum_value": "0", "maximum_value_warning": "10.0", "settable_per_mesh": false, @@ -2262,7 +2262,7 @@ "default_value": 2, "minimum_value": "1", "maximum_value_warning": "100", - "value": "max(1, int(math.floor((cool_fan_full_at_height - layer_height_0) / layer_height) + 2))", + "value": "max(1, int(math.floor((cool_fan_full_at_height - resolveOrValue('layer_height_0')) / layer_height) + 2))", "settable_per_mesh": false, "settable_per_extruder": true } @@ -2986,7 +2986,7 @@ "unit": "mm", "type": "float", "default_value": 0.3, - "value": "layer_height_0 * 1.2", + "value": "resolveOrValue('layer_height_0') * 1.2", "minimum_value": "0", "maximum_value_warning": "5.0", "enabled": "resolveOrValue('adhesion_type') == 'raft'", From dee434b9586ea487366c1311ed70e6b255c8c2ca Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 3 Oct 2016 14:49:01 +0200 Subject: [PATCH 07/18] JSON fix: resolveOrValue for ooze_shield_enalbed (CURA-2410) --- resources/definitions/fdmprinter.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index faaeedd7a2..8d61220446 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -3443,7 +3443,7 @@ "description": "The maximum angle a part in the ooze shield will have. With 0 degrees being vertical, and 90 degrees being horizontal. A smaller angle leads to less failed ooze shields, but more material.", "type": "float", "unit": "°", - "enabled": "ooze_shield_enabled", + "enabled": "resolveOrValue('ooze_shield_enabled')", "default_value": 60, "resolve": "min(extruderValues('ooze_shield_angle'))", "minimum_value": "0", @@ -3457,7 +3457,7 @@ "description": "Distance of the ooze shield from the print, in the X/Y directions.", "type": "float", "unit": "mm", - "enabled": "ooze_shield_enabled", + "enabled": "resolveOrValue('ooze_shield_enabled')", "default_value": 2, "resolve": "max(extruderValues('ooze_shield_dist'))", "minimum_value": "0", From 91bed05d6388140ae96720fa0570df6a4072402e Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 3 Oct 2016 14:50:20 +0200 Subject: [PATCH 08/18] JSON fix: resolveOrValue for prime_tower_size (CURA-2410) --- resources/definitions/fdmprinter.def.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 8d61220446..9ff9705c48 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -3371,8 +3371,8 @@ "default_value": 200, "minimum_value_warning": "-1000", "maximum_value_warning": "1000", - "maximum_value": "machine_width - 0.5 * prime_tower_size", - "minimum_value": "0.5 * prime_tower_size", + "maximum_value": "machine_width - 0.5 * resolveOrValue('prime_tower_size')", + "minimum_value": "0.5 * resolveOrValue('prime_tower_size')", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -3386,8 +3386,8 @@ "default_value": 200, "minimum_value_warning": "-1000", "maximum_value_warning": "1000", - "maximum_value": "machine_depth - 0.5 * prime_tower_size", - "minimum_value": "0.5 * prime_tower_size", + "maximum_value": "machine_depth - 0.5 * resolveOrValue('prime_tower_size')", + "minimum_value": "0.5 * resolveOrValue('prime_tower_size')", "settable_per_mesh": false, "settable_per_extruder": false }, From 4c46985c75768631c3bc46ed56370db1ff396f0c Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 3 Oct 2016 14:51:28 +0200 Subject: [PATCH 09/18] JSON fix: resolveOrValue for retraction_combing (CURA-2410) --- resources/definitions/fdmprinter.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 9ff9705c48..daa6b12328 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2146,7 +2146,7 @@ "description": "The nozzle avoids already printed parts when traveling. This option is only available when combing is enabled.", "type": "bool", "default_value": true, - "enabled": "retraction_combing != 'off'", + "enabled": "resolveOrValue('retraction_combing') != 'off'", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -2160,7 +2160,7 @@ "value": "machine_nozzle_tip_outer_diameter / 2 * 1.25", "minimum_value": "0", "maximum_value_warning": "machine_nozzle_tip_outer_diameter * 5", - "enabled": "retraction_combing != 'off' and travel_avoid_other_parts", + "enabled": "resolveOrValue('retraction_combing') != 'off' and travel_avoid_other_parts", "settable_per_mesh": false, "settable_per_extruder": true } From 4e4171fc53183bdcd14c699e47c9d0449ed41ac5 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 3 Oct 2016 14:52:33 +0200 Subject: [PATCH 10/18] JSON fix: resolveOrValue for support_type (CURA-2410) --- resources/definitions/fdmprinter.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index daa6b12328..456fb92307 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2445,10 +2445,10 @@ "minimum_value": "0", "maximum_value_warning": "10", "default_value": 0.1, - "value": "extruderValue(support_extruder_nr, 'support_z_distance') if support_type == 'everywhere' else 0", + "value": "extruderValue(support_extruder_nr, 'support_z_distance') if resolveOrValue('support_type') == 'everywhere' else 0", "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "type": "float", - "enabled": "support_enable and support_type == 'everywhere'", + "enabled": "support_enable and resolveOrValue('support_type') == 'everywhere'", "settable_per_mesh": true } } From 72bd268e2d6796dbf332635f96d4fb1486ce3d17 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 4 Oct 2016 10:37:48 +0200 Subject: [PATCH 11/18] Export now exports correct extruder profiles as well CURA-2496 --- resources/qml/Preferences/ProfilesPage.qml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index 335bfda82c..4dfd656cde 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -336,18 +336,16 @@ UM.ManagementPage folder: CuraApplication.getDefaultPath("dialog_profile_path") onAccepted: { - var profiles_to_export = [base.currentItem.id] - for(var extruder_nr in base.extrudersModel.items) - { - profiles_to_export.push(ExtruderManager.getQualityChangesIdByExtruderStackId(base.extrudersModel.items[extruder_nr].id)) - } - var result = base.model.exportProfile(profiles_to_export, fileUrl, selectedNameFilter) + var containers = Cura.ContainerManager.findInstanceContainers({"type": "quality_changes", "name": base.currentItem.name}) + var result = base.model.exportProfile(containers, fileUrl, selectedNameFilter) + if(result && result.status == "error") { messageDialog.icon = StandardIcon.Critical messageDialog.text = result.message messageDialog.open() } + // else pop-up Message thing from python code CuraApplication.setDefaultPath("dialog_profile_path", folder) } From faf98e40f865e29bf559350e79a48ec49c63e8e4 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 4 Oct 2016 10:46:13 +0200 Subject: [PATCH 12/18] Inherit button now correctly removes values if needed for multi extrusion machines CURA-2374 --- resources/qml/Settings/SettingItem.qml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index 0d26ecc760..0c7dec0784 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -217,10 +217,9 @@ Item { break; } } - - if(last_entry == 4 && base.stackLevel == 0 && base.stackLevels.length == 2) + if((last_entry == 4 || last_entry == 11) && base.stackLevel == 0 && base.stackLevels.length == 2) { - // Special case of the inherit reset. If only the definition (4th container) and the first + // Special case of the inherit reset. If only the definition (4th or 11th) container) and the first // entry (user container) are set, we can simply remove the container. propertyProvider.removeFromContainer(0) } From 3b6d8f40aac88a161b359f5e8a2d1a77fbfd3f5c Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Oct 2016 11:00:02 +0200 Subject: [PATCH 13/18] Also hide support interface line width if support is disabled Also, the extruderValue call is superfluous since the setting is already limited to this extruder. --- 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 3aa45f7af7..9c6b2d3d40 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -679,7 +679,7 @@ "minimum_value": "0.0001", "maximum_value_warning": "machine_nozzle_size * 2", "type": "float", - "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable')", + "enabled": "support_enable and support_interface_enable", "limit_to_extruder": "support_interface_extruder_nr", "value": "line_width", "settable_per_mesh": false, From 7c18d320c4aed9697ca6909f0095f7ed195c4046 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Tue, 4 Oct 2016 11:13:33 +0200 Subject: [PATCH 14/18] SettingView: Only removeUnusedValue when no resolve. Contributes to CURA-2232 --- resources/qml/Settings/SettingView.qml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml index d96923d36c..a0d055eec3 100644 --- a/resources/qml/Settings/SettingView.qml +++ b/resources/qml/Settings/SettingView.qml @@ -137,6 +137,8 @@ ScrollView key: model.key ? model.key : "" watchedProperties: [ "value", "enabled", "state", "validationState", "settable_per_extruder", "resolve" ] storeIndex: 0 + // Due to the way setPropertyValue works, removeUnusedValue gives the correct output in case of resolve + removeUnusedValue: model.resolve == undefined } Connections From 04545406cdfc5b1a0641e357a9984faab39692a7 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Oct 2016 11:29:44 +0200 Subject: [PATCH 15/18] Add Turkish language to drop-down The translation files are already in there (though the template all languages were based on is not entirely complete). But it wasn't yet in the drop-down so it couldn't be selected. Contributes to issue CURA-570. --- resources/qml/Preferences/GeneralPage.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 2839e1bc72..d254d5c15b 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -97,6 +97,7 @@ UM.PreferencesPage append({ text: catalog.i18nc("@item:inlistbox", "Italian"), code: "it" }) append({ text: catalog.i18nc("@item:inlistbox", "Dutch"), code: "nl" }) append({ text: catalog.i18nc("@item:inlistbox", "Spanish"), code: "es" }) + append({ text: catalog.i18nc("@item:inlistbox", "Turkish"), code: "tr" }) } } From 5339fc8e8d08423bb0d365423204a8fb69248d87 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Oct 2016 11:40:06 +0200 Subject: [PATCH 16/18] Put translation drop-down in their native language This makes it slightly easier to select your native language if you don't know the current language. Of course, you have to find the drop-down first... But this is how many applications do it. Contributes to issue CURA-570. --- resources/qml/Preferences/GeneralPage.qml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index d254d5c15b..86dc3886a9 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -90,14 +90,14 @@ UM.PreferencesPage id: languageList Component.onCompleted: { - append({ text: catalog.i18nc("@item:inlistbox", "English"), code: "en" }) - append({ text: catalog.i18nc("@item:inlistbox", "Finnish"), code: "fi" }) - append({ text: catalog.i18nc("@item:inlistbox", "French"), code: "fr" }) - append({ text: catalog.i18nc("@item:inlistbox", "German"), code: "de" }) - append({ text: catalog.i18nc("@item:inlistbox", "Italian"), code: "it" }) - append({ text: catalog.i18nc("@item:inlistbox", "Dutch"), code: "nl" }) - append({ text: catalog.i18nc("@item:inlistbox", "Spanish"), code: "es" }) - append({ text: catalog.i18nc("@item:inlistbox", "Turkish"), code: "tr" }) + append({ text: "English", code: "en" }) + append({ text: "Suomi", code: "fi" }) + append({ text: "Français", code: "fr" }) + append({ text: "Deutsch", code: "de" }) + append({ text: "Italiano", code: "it" }) + append({ text: "Nederlands", code: "nl" }) + append({ text: "Español", code: "es" }) + append({ text: "Türkçe", code: "tr" }) } } From 9f41d81e86447849683a2876922b2b45d686d6a3 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Oct 2016 11:41:24 +0200 Subject: [PATCH 17/18] Sort language list by language code This makes it slightly easier to find your language. English is an exception, it is always put in front. Contributes to issue CURA-570. --- resources/qml/Preferences/GeneralPage.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 86dc3886a9..f727af5a10 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -91,12 +91,12 @@ UM.PreferencesPage Component.onCompleted: { append({ text: "English", code: "en" }) + append({ text: "Deutsch", code: "de" }) + append({ text: "Español", code: "es" }) append({ text: "Suomi", code: "fi" }) append({ text: "Français", code: "fr" }) - append({ text: "Deutsch", code: "de" }) append({ text: "Italiano", code: "it" }) append({ text: "Nederlands", code: "nl" }) - append({ text: "Español", code: "es" }) append({ text: "Türkçe", code: "tr" }) } } From d0019cee162d0f8290e16b5e176ac6935a19e294 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Oct 2016 12:02:08 +0200 Subject: [PATCH 18/18] Fix bounding box string in Turkish This is a key and should not have been translated. Contributes to issue CURA-570. --- resources/i18n/tr/cura.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/tr/cura.po b/resources/i18n/tr/cura.po index c354782764..7c8b4d265e 100644 --- a/resources/i18n/tr/cura.po +++ b/resources/i18n/tr/cura.po @@ -654,7 +654,7 @@ msgstr "Arayüz yükleniyor..." #, python-format msgctxt "@info" msgid "%(width).1f x %(depth).1f x %(height).1f mm" -msgstr "%(genişlik).1f x %(derinlik).1f x %(yükseklik).1f mm" +msgstr "%(width).1f x %(depth).1f x %(height).1f mm" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 msgctxt "@title"