diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 2e638a1231..8ba538b2ea 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -3646,6 +3646,39 @@ "settable_per_mesh": false, "settable_per_extruder": false }, + "prime_tower_min_volume": + { + "label": "Prime Tower Minimum Volume", + "description": "The minimum volume each layer of the prime tower in order to purge enough material.", + "unit": "mm³", + "type": "float", + "default_value": 4.544, + "minimum_value": "0", + "maximum_value_warning": "resolveOrValue('prime_tower_size') * resolveOrValue('prime_tower_size') * resolveOrValue('layer_height')", + "enabled": "resolveOrValue('prime_tower_enable')", + "resolve": "max(extruderValues('prime_tower_min_volume'))", + "settable_per_mesh": false, + "settable_per_extruder": false, + "children": + { + "prime_tower_wall_thickness": + { + "label": "Prime Tower Wall Thickness", + "description": "The thickness of the outside walls in the horizontal direction. This value divided by the wall line width defines the number of walls.", + "unit": "mm", + "type": "float", + "default_value": 0.8, + "value": "max(2 * min(extruderValues('prime_tower_line_width')), 0.5 * (resolveOrValue('prime_tower_size') - math.sqrt(resolveOrValue('prime_tower_size') * resolveOrValue('prime_tower_size') - max(extruderValues('prime_tower_min_volume')) / resolveOrValue('layer_height'))))", + "resolve": "max(extruderValues('prime_tower_wall_thickness'))", + "minimum_value": "0.001", + "minimum_value_warning": "2 * min(extruderValues('prime_tower_line_width'))", + "maximum_value_warning": "resolveOrValue('prime_tower_size') / 2", + "enabled": "resolveOrValue('prime_tower_enable')", + "settable_per_mesh": false, + "settable_per_extruder": false + } + } + }, "prime_tower_position_x": { "label": "Prime Tower X Position",