From 791042dcb8b5c6917c4a56ab239455d5e640ecd0 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 9 Sep 2016 13:24:39 +0200 Subject: [PATCH 1/5] fix: skirt/brim line width and minimal length are retrieved for each extruder (CURA-2308) --- resources/definitions/fdmprinter.def.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b1cad3eb68..f7ca59abbd 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -630,8 +630,7 @@ "value": "line_width", "enabled": "adhesion_type == \"skirt\" or adhesion_type == \"brim\"", "settable_per_mesh": false, - "settable_per_extruder": true, - "global_inherits_stack": "adhesion_extruder_nr" + "settable_per_extruder": true }, "support_line_width": { @@ -2736,8 +2735,7 @@ "maximum_value_warning": "2500", "enabled": "adhesion_type == \"skirt\" or adhesion_type == \"brim\"", "settable_per_mesh": false, - "settable_per_extruder": true, - "global_inherits_stack": "adhesion_extruder_nr" + "settable_per_extruder": true }, "brim_width": { From 94bee02995f70eb49d7f318aa7aad97dc6a890cf Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 9 Sep 2016 13:35:00 +0200 Subject: [PATCH 2/5] fix: make global_inherits_stack settings which are retrieved from specific extruder in engine (CURA-2308) --- resources/definitions/fdmprinter.def.json | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index f7ca59abbd..d5a66dcf7d 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -644,6 +644,7 @@ "type": "float", "enabled": "support_enable", "value": "line_width", + "global_inherits_stack": "support_infill_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -657,6 +658,7 @@ "maximum_value_warning": "machine_nozzle_size * 2", "type": "float", "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable')", + "global_inherits_stack": "support_interface_extruder_nr", "value": "line_width", "settable_per_mesh": false, "settable_per_extruder": true @@ -2313,7 +2315,7 @@ }, "default_value": "zigzag", "enabled": "support_enable", - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_infill_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -2324,6 +2326,7 @@ "type": "bool", "default_value": true, "enabled": "support_enable and (support_pattern == 'zigzag')", + "global_inherits_stack": "support_infill_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -2337,6 +2340,7 @@ "maximum_value_warning": "100", "default_value": 15, "enabled": "support_enable", + "global_inherits_stack": "support_infill_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true, "children": { @@ -2350,6 +2354,7 @@ "default_value": 2.66, "enabled": "support_enable", "value": "(support_line_width * 100) / support_infill_rate * (2 if support_pattern == \"grid\" else (3 if support_pattern == \"triangles\" else 1))", + "global_inherits_stack": "support_infill_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true } @@ -2554,7 +2559,7 @@ "default_value": 100, "minimum_value": "0", "maximum_value_warning": "100", - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_interface_extruder_nr", "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": false, "settable_per_extruder": true, @@ -2569,7 +2574,7 @@ "default_value": 0.4, "minimum_value": "0", "value": "0 if support_interface_density == 0 else (support_interface_line_width * 100) / support_interface_density * (2 if support_interface_pattern == \"grid\" else (3 if support_interface_pattern == \"triangles\" else 1))", - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_interface_extruder_nr", "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": false, "settable_per_extruder": true @@ -2590,7 +2595,7 @@ "zigzag": "Zig Zag" }, "default_value": "concentric", - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_interface_extruder_nr", "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": false, "settable_per_extruder": true From dd98efb844e59890a340735c201291e5f84991d0 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 9 Sep 2016 14:29:03 +0200 Subject: [PATCH 3/5] JSON fix: global_inherits_stack for all per mesh support settings are now fixed (CUEA-2308) --- resources/definitions/fdmprinter.def.json | 40 ++++++++++++----------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index d5a66dcf7d..5963cd20e5 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2296,7 +2296,7 @@ "minimum_value": "0", "maximum_value": "90", "default_value": 50, - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "enabled": "support_enable", "settable_per_mesh": true }, @@ -2369,7 +2369,7 @@ "minimum_value": "0", "maximum_value_warning": "10", "default_value": 0.1, - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "enabled": "support_enable", "settable_per_mesh": true, "children": @@ -2385,7 +2385,7 @@ "type": "float", "enabled": "support_enable", "value": "extruderValue(support_extruder_nr, 'support_z_distance')", - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "settable_per_mesh": true }, "support_bottom_distance": @@ -2397,7 +2397,7 @@ "maximum_value_warning": "10", "default_value": 0.1, "value": "extruderValue(support_extruder_nr, 'support_z_distance') if support_type == 'everywhere' else 0", - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "type": "float", "enabled": "support_enable and support_type == 'everywhere'", "settable_per_mesh": true @@ -2413,7 +2413,7 @@ "minimum_value": "0", "maximum_value_warning": "10", "default_value": 0.7, - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_infill_extruder_nr", "enabled": "support_enable", "settable_per_mesh": true }, @@ -2426,7 +2426,7 @@ "z_overrides_xy": "Z overrides X/Y" }, "default_value": "z_overrides_xy", - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_infill_extruder_nr", "enabled": "support_enable", "settable_per_mesh": true }, @@ -2439,8 +2439,8 @@ "maximum_value_warning": "10", "default_value": 0.2, "value": "machine_nozzle_size / 2", - "global_inherits_stack": "support_extruder_nr", "enabled": "support_enable and extruderValue(support_extruder_nr, 'support_xy_overrides_z') == 'z_overrides_xy'", + "global_inherits_stack": "support_infill_extruder_nr", "settable_per_mesh": true }, "support_bottom_stair_step_height": @@ -2450,7 +2450,7 @@ "unit": "mm", "type": "float", "default_value": 0.3, - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "minimum_value": "0", "maximum_value_warning": "1.0", "enabled": "support_enable", @@ -2463,7 +2463,7 @@ "unit": "mm", "type": "float", "default_value": 2.0, - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_infill_extruder_nr", "minimum_value_warning": "0", "maximum_value_warning": "10", "enabled": "support_enable", @@ -2476,7 +2476,7 @@ "unit": "mm", "type": "float", "default_value": 0.2, - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_infill_extruder_nr", "minimum_value_warning": "-0.5", "maximum_value_warning": "5.0", "enabled": "support_enable", @@ -2488,7 +2488,7 @@ "description": "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model.", "type": "bool", "default_value": false, - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_interface_extruder_nr", "enabled": "support_enable", "settable_per_mesh": true }, @@ -2500,7 +2500,7 @@ "type": "float", "default_value": 1, "minimum_value": "0", - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_interface_extruder_nr", "maximum_value_warning": "10", "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": true, @@ -2515,7 +2515,7 @@ "default_value": 1, "value": "extruderValue(support_extruder_nr, 'support_interface_height')", "minimum_value": "0", - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_interface_extruder_nr", "maximum_value_warning": "10", "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": true @@ -2530,7 +2530,7 @@ "value": "extruderValue(support_extruder_nr, 'support_interface_height')", "minimum_value": "0", "minimum_value_warning": "extruderValue(support_extruder_nr, 'support_bottom_stair_step_height')", - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_interface_extruder_nr", "maximum_value_warning": "10", "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": true @@ -2545,9 +2545,9 @@ "type": "float", "default_value": 0.3, "minimum_value": "0", - "global_inherits_stack": "support_extruder_nr", "maximum_value_warning": "support_interface_height", "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", + "global_inherits_stack": "support_interface_extruder_nr", "settable_per_mesh": true }, "support_interface_density": @@ -2606,7 +2606,7 @@ "description": "Use specialized towers to support tiny overhang areas. These towers have a larger diameter than the region they support. Near the overhang the towers' diameter decreases, forming a roof.", "type": "bool", "default_value": true, - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_infill_extruder_nr", "enabled": "support_enable", "settable_per_mesh": true }, @@ -2617,7 +2617,7 @@ "unit": "mm", "type": "float", "default_value": 3.0, - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_infill_extruder_nr", "minimum_value": "0", "maximum_value_warning": "10", "enabled": "support_enable and extruderValue(support_extruder_nr, 'support_use_towers')", @@ -2630,7 +2630,7 @@ "unit": "mm", "type": "float", "default_value": 3.0, - "global_inherits_stack": "support_extruder_nr", + "global_inherits_stack": "support_infill_extruder_nr", "minimum_value": "0", "maximum_value_warning": "10", "maximum_value": "extruderValue(support_extruder_nr, 'support_tower_diameter')", @@ -2646,8 +2646,8 @@ "minimum_value": "0", "maximum_value": "90", "default_value": 65, - "global_inherits_stack": "support_extruder_nr", "enabled": "support_enable and extruderValue(support_extruder_nr, 'support_use_towers')", + "global_inherits_stack": "support_infill_extruder_nr", "settable_per_mesh": true } } @@ -3687,6 +3687,7 @@ "maximum_value": "90", "default_value": 30, "enabled": "support_conical_enabled and support_enable", + "global_inherits_stack": "support_infill_extruder_nr", "settable_per_mesh": true }, "support_conical_min_width": @@ -3700,6 +3701,7 @@ "maximum_value_warning": "100.0", "type": "float", "enabled": "support_conical_enabled and support_enable", + "global_inherits_stack": "support_infill_extruder_nr", "settable_per_mesh": true }, "magic_fuzzy_skin_enabled": From 8341a01412fdd91562991506ad96dedd3b8fd4c3 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 9 Sep 2016 15:35:19 +0200 Subject: [PATCH 4/5] JSON fix: retrieve extruderValue(.) from specific extruder rather than support_extruder_nr (CURA-2308) --- resources/definitions/fdmprinter.def.json | 40 +++++++++++------------ 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 5963cd20e5..c642ae1986 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -657,7 +657,7 @@ "minimum_value": "0.0001", "maximum_value_warning": "machine_nozzle_size * 2", "type": "float", - "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable')", + "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable')", "global_inherits_stack": "support_interface_extruder_nr", "value": "line_width", "settable_per_mesh": false, @@ -1488,7 +1488,7 @@ "minimum_value": "0.1", "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)", "maximum_value_warning": "150", - "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "value": "speed_support / 1.5", "settable_per_mesh": false, "settable_per_extruder": true @@ -1756,7 +1756,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "acceleration_enabled and extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "acceleration_enabled and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": false, "settable_per_extruder": true } @@ -1976,7 +1976,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "enabled": "jerk_enabled and extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "jerk_enabled and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": false, "settable_per_extruder": true } @@ -2439,8 +2439,8 @@ "maximum_value_warning": "10", "default_value": 0.2, "value": "machine_nozzle_size / 2", - "enabled": "support_enable and extruderValue(support_extruder_nr, 'support_xy_overrides_z') == 'z_overrides_xy'", "global_inherits_stack": "support_infill_extruder_nr", + "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_xy_overrides_z') == 'z_overrides_xy'", "settable_per_mesh": true }, "support_bottom_stair_step_height": @@ -2502,7 +2502,7 @@ "minimum_value": "0", "global_inherits_stack": "support_interface_extruder_nr", "maximum_value_warning": "10", - "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": true, "children": { @@ -2513,11 +2513,11 @@ "unit": "mm", "type": "float", "default_value": 1, - "value": "extruderValue(support_extruder_nr, 'support_interface_height')", + "value": "extruderValue(support_interface_extruder_nr, 'support_interface_height')", "minimum_value": "0", "global_inherits_stack": "support_interface_extruder_nr", "maximum_value_warning": "10", - "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": true }, "support_bottom_height": @@ -2527,12 +2527,12 @@ "unit": "mm", "type": "float", "default_value": 1, - "value": "extruderValue(support_extruder_nr, 'support_interface_height')", + "value": "extruderValue(support_interface_extruder_nr, 'support_interface_height')", "minimum_value": "0", - "minimum_value_warning": "extruderValue(support_extruder_nr, 'support_bottom_stair_step_height')", + "minimum_value_warning": "extruderValue(support_interface_extruder_nr, 'support_bottom_stair_step_height')", "global_inherits_stack": "support_interface_extruder_nr", "maximum_value_warning": "10", - "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": true } } @@ -2546,8 +2546,8 @@ "default_value": 0.3, "minimum_value": "0", "maximum_value_warning": "support_interface_height", - "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", "global_inherits_stack": "support_interface_extruder_nr", + "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": true }, "support_interface_density": @@ -2560,7 +2560,7 @@ "minimum_value": "0", "maximum_value_warning": "100", "global_inherits_stack": "support_interface_extruder_nr", - "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": false, "settable_per_extruder": true, "children": @@ -2575,7 +2575,7 @@ "minimum_value": "0", "value": "0 if support_interface_density == 0 else (support_interface_line_width * 100) / support_interface_density * (2 if support_interface_pattern == \"grid\" else (3 if support_interface_pattern == \"triangles\" else 1))", "global_inherits_stack": "support_interface_extruder_nr", - "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": false, "settable_per_extruder": true } @@ -2596,7 +2596,7 @@ }, "default_value": "concentric", "global_inherits_stack": "support_interface_extruder_nr", - "enabled": "extruderValue(support_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -2620,7 +2620,7 @@ "global_inherits_stack": "support_infill_extruder_nr", "minimum_value": "0", "maximum_value_warning": "10", - "enabled": "support_enable and extruderValue(support_extruder_nr, 'support_use_towers')", + "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')", "settable_per_mesh": true }, "support_minimal_diameter": @@ -2633,8 +2633,8 @@ "global_inherits_stack": "support_infill_extruder_nr", "minimum_value": "0", "maximum_value_warning": "10", - "maximum_value": "extruderValue(support_extruder_nr, 'support_tower_diameter')", - "enabled": "support_enable and extruderValue(support_extruder_nr, 'support_use_towers')", + "maximum_value": "extruderValue(support_infill_extruder_nr, 'support_tower_diameter')", + "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')", "settable_per_mesh": true }, "support_tower_roof_angle": @@ -2646,8 +2646,8 @@ "minimum_value": "0", "maximum_value": "90", "default_value": 65, - "enabled": "support_enable and extruderValue(support_extruder_nr, 'support_use_towers')", "global_inherits_stack": "support_infill_extruder_nr", + "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')", "settable_per_mesh": true } } @@ -3276,7 +3276,7 @@ "type": "extruder", "default_value": "0", "value": "support_extruder_nr", - "enabled": "support_enable and machine_extruder_count > 1 and extruderValue(support_extruder_nr, 'support_interface_enable')", + "enabled": "support_enable and machine_extruder_count > 1 and extruderValue(support_interface_extruder_nr, 'support_interface_enable')", "settable_per_mesh": false, "settable_per_extruder": false } From 43bcd755620957b0d3eb3875910f3e78ffa244fb Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 9 Sep 2016 15:51:36 +0200 Subject: [PATCH 5/5] JSON fix: support_interface_enable caused circular dependency (CURA-2308) --- 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 c642ae1986..26766ecf86 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2488,7 +2488,7 @@ "description": "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model.", "type": "bool", "default_value": false, - "global_inherits_stack": "support_interface_extruder_nr", + "global_inherits_stack": "support_extruder_nr", "enabled": "support_enable", "settable_per_mesh": true },