Get extruder values from appropriate sub-adhesion-extruder

The adhesion extruder is now split up into multiple sub-settings. Where applicable to the brim or skirt, get it from the skirt/brim extruder. Where applicable to a specific part of the raft, get it from that part's extruder. Where applicable to the whole raft, get it from the adhesion extruder.

Contributes to issue CURA-8868.
This commit is contained in:
Ghostkeeper 2022-01-12 13:52:47 +01:00
parent 824c9fd837
commit 262a005e54
No known key found for this signature in database
GPG Key ID: D2A8871EE34EC59A

View File

@ -3232,7 +3232,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('draft_shield_enabled') or resolveOrValue('ooze_shield_enabled')", "enabled": "resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('draft_shield_enabled') or resolveOrValue('ooze_shield_enabled')",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "skirt_brim_extruder_nr"
}, },
"speed_z_hop": "speed_z_hop":
{ {
@ -3561,7 +3561,7 @@
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "resolveOrValue('acceleration_enabled') and (resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('draft_shield_enabled') or resolveOrValue('ooze_shield_enabled'))", "enabled": "resolveOrValue('acceleration_enabled') and (resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('draft_shield_enabled') or resolveOrValue('ooze_shield_enabled'))",
"settable_per_mesh": false, "settable_per_mesh": false,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "skirt_brim_extruder_nr"
}, },
"jerk_enabled": "jerk_enabled":
{ {
@ -3836,7 +3836,7 @@
"value": "jerk_layer_0", "value": "jerk_layer_0",
"enabled": "resolveOrValue('jerk_enabled') and (resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('draft_shield_enabled') or resolveOrValue('ooze_shield_enabled'))", "enabled": "resolveOrValue('jerk_enabled') and (resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('draft_shield_enabled') or resolveOrValue('ooze_shield_enabled'))",
"settable_per_mesh": false, "settable_per_mesh": false,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "skirt_brim_extruder_nr"
} }
} }
}, },
@ -5438,8 +5438,8 @@
}, },
"raft_interface_extruder_nr": "raft_interface_extruder_nr":
{ {
"label": "Raft Interface Extruder", "label": "Raft Middle Extruder",
"description": "The extruder train to use for printing the second layer of the raft. This is used in multi-extrusion.", "description": "The extruder train to use for printing the middle layer of the raft. This is used in multi-extrusion.",
"type": "extruder", "type": "extruder",
"default_value": "0", "default_value": "0",
"value": "adhesion_extruder_nr", "value": "adhesion_extruder_nr",
@ -5472,7 +5472,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'skirt'", "enabled": "resolveOrValue('adhesion_type') == 'skirt'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "skirt_brim_extruder_nr"
}, },
"skirt_gap": "skirt_gap":
{ {
@ -5486,7 +5486,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'skirt'", "enabled": "resolveOrValue('adhesion_type') == 'skirt'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "skirt_brim_extruder_nr"
}, },
"skirt_brim_minimal_length": "skirt_brim_minimal_length":
{ {
@ -5515,7 +5515,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('prime_tower_brim_enable')", "enabled": "resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('prime_tower_brim_enable')",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr", "limit_to_extruder": "skirt_brim_extruder_nr",
"children": "children":
{ {
"brim_line_count": "brim_line_count":
@ -5531,7 +5531,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('prime_tower_brim_enable')", "enabled": "resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('prime_tower_brim_enable')",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "skirt_brim_extruder_nr"
} }
} }
}, },
@ -5547,7 +5547,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'brim'", "enabled": "resolveOrValue('adhesion_type') == 'brim'",
"settable_per_mesh": true, "settable_per_mesh": true,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "skirt_brim_extruder_nr"
}, },
"brim_replaces_support": "brim_replaces_support":
{ {
@ -5569,7 +5569,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'brim'", "enabled": "resolveOrValue('adhesion_type') == 'brim'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "skirt_brim_extruder_nr"
}, },
"raft_margin": "raft_margin":
{ {
@ -5611,7 +5611,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_surface_extruder_nr"
}, },
"layer_0_z_overlap": "layer_0_z_overlap":
{ {
@ -5626,7 +5626,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_surface_extruder_nr"
}, },
"raft_surface_layers": "raft_surface_layers":
{ {
@ -5639,7 +5639,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_interface_extruder_nr"
}, },
"raft_surface_thickness": "raft_surface_thickness":
{ {
@ -5655,7 +5655,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_surface_extruder_nr"
}, },
"raft_surface_line_width": "raft_surface_line_width":
{ {
@ -5671,7 +5671,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_surface_extruder_nr"
}, },
"raft_surface_line_spacing": "raft_surface_line_spacing":
{ {
@ -5687,7 +5687,7 @@
"value": "raft_surface_line_width", "value": "raft_surface_line_width",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_surface_extruder_nr"
}, },
"raft_interface_thickness": "raft_interface_thickness":
{ {
@ -5703,7 +5703,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_interface_extruder_nr"
}, },
"raft_interface_line_width": "raft_interface_line_width":
{ {
@ -5719,7 +5719,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_interface_extruder_nr"
}, },
"raft_interface_line_spacing": "raft_interface_line_spacing":
{ {
@ -5735,7 +5735,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_interface_extruder_nr"
}, },
"raft_base_thickness": "raft_base_thickness":
{ {
@ -5751,7 +5751,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_base_extruder_nr"
}, },
"raft_base_line_width": "raft_base_line_width":
{ {
@ -5767,7 +5767,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_base_extruder_nr"
}, },
"raft_base_line_spacing": "raft_base_line_spacing":
{ {
@ -5783,7 +5783,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_base_extruder_nr"
}, },
"raft_speed": "raft_speed":
{ {
@ -5816,7 +5816,7 @@
"value": "raft_speed", "value": "raft_speed",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_surface_extruder_nr"
}, },
"raft_interface_speed": "raft_interface_speed":
{ {
@ -5832,7 +5832,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_interface_extruder_nr"
}, },
"raft_base_speed": "raft_base_speed":
{ {
@ -5848,7 +5848,7 @@
"value": "0.75 * raft_speed", "value": "0.75 * raft_speed",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_base_extruder_nr"
} }
} }
}, },
@ -5881,7 +5881,7 @@
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')", "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')",
"settable_per_mesh": false, "settable_per_mesh": false,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_surface_extruder_nr"
}, },
"raft_interface_acceleration": "raft_interface_acceleration":
{ {
@ -5896,7 +5896,7 @@
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')", "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')",
"settable_per_mesh": false, "settable_per_mesh": false,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_interface_extruder_nr"
}, },
"raft_base_acceleration": "raft_base_acceleration":
{ {
@ -5911,7 +5911,7 @@
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')", "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')",
"settable_per_mesh": false, "settable_per_mesh": false,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_base_extruder_nr"
} }
} }
}, },
@ -5944,7 +5944,7 @@
"maximum_value_warning": "100", "maximum_value_warning": "100",
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')", "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')",
"settable_per_mesh": false, "settable_per_mesh": false,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_surface_extruder_nr"
}, },
"raft_interface_jerk": "raft_interface_jerk":
{ {
@ -5959,7 +5959,7 @@
"maximum_value_warning": "50", "maximum_value_warning": "50",
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')", "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')",
"settable_per_mesh": false, "settable_per_mesh": false,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_interface_extruder_nr"
}, },
"raft_base_jerk": "raft_base_jerk":
{ {
@ -5974,7 +5974,7 @@
"maximum_value_warning": "50", "maximum_value_warning": "50",
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')", "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')",
"settable_per_mesh": false, "settable_per_mesh": false,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_base_extruder_nr"
} }
} }
}, },
@ -6006,7 +6006,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_surface_extruder_nr"
}, },
"raft_interface_fan_speed": "raft_interface_fan_speed":
{ {
@ -6021,7 +6021,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_interface_extruder_nr"
}, },
"raft_base_fan_speed": "raft_base_fan_speed":
{ {
@ -6036,7 +6036,7 @@
"enabled": "resolveOrValue('adhesion_type') == 'raft'", "enabled": "resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr" "limit_to_extruder": "raft_base_extruder_nr"
} }
} }
} }
@ -6098,7 +6098,7 @@
"unit": "mm", "unit": "mm",
"enabled": "resolveOrValue('prime_tower_enable')", "enabled": "resolveOrValue('prime_tower_enable')",
"default_value": 200, "default_value": 200,
"value": "machine_width - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' or (prime_tower_brim_enable and adhesion_type != 'raft') else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(adhesion_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - max(map(abs, extruderValues('machine_nozzle_offset_x'))) - 1", "value": "machine_width - max(extruderValue(skirt_brim_extruder_nr, 'brim_width') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' or (prime_tower_brim_enable and adhesion_type != 'raft') else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - max(map(abs, extruderValues('machine_nozzle_offset_x'))) - 1",
"maximum_value": "machine_width / 2 if machine_center_is_zero else machine_width", "maximum_value": "machine_width / 2 if machine_center_is_zero else machine_width",
"minimum_value": "resolveOrValue('prime_tower_size') - machine_width / 2 if machine_center_is_zero else resolveOrValue('prime_tower_size')", "minimum_value": "resolveOrValue('prime_tower_size') - machine_width / 2 if machine_center_is_zero else resolveOrValue('prime_tower_size')",
"settable_per_mesh": false, "settable_per_mesh": false,
@ -6112,7 +6112,7 @@
"unit": "mm", "unit": "mm",
"enabled": "resolveOrValue('prime_tower_enable')", "enabled": "resolveOrValue('prime_tower_enable')",
"default_value": 200, "default_value": 200,
"value": "machine_depth - prime_tower_size - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' or (prime_tower_brim_enable and adhesion_type != 'raft') else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(adhesion_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - max(map(abs, extruderValues('machine_nozzle_offset_y'))) - 3", "value": "machine_depth - prime_tower_size - max(extruderValue(skirt_brim_extruder_nr, 'brim_width') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' or (prime_tower_brim_enable and adhesion_type != 'raft') else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - max(map(abs, extruderValues('machine_nozzle_offset_y'))) - 3",
"maximum_value": "machine_depth / 2 - resolveOrValue('prime_tower_size') if machine_center_is_zero else machine_depth - resolveOrValue('prime_tower_size')", "maximum_value": "machine_depth / 2 - resolveOrValue('prime_tower_size') if machine_center_is_zero else machine_depth - resolveOrValue('prime_tower_size')",
"minimum_value": "machine_depth / -2 if machine_center_is_zero else 0", "minimum_value": "machine_depth / -2 if machine_center_is_zero else 0",
"settable_per_mesh": false, "settable_per_mesh": false,