diff --git a/resources/ui_layout/print.ui b/resources/ui_layout/print.ui index f4c7b943d..469ff345f 100644 --- a/resources/ui_layout/print.ui +++ b/resources/ui_layout/print.ui @@ -158,7 +158,7 @@ group:sidetext_width$3:Advanced setting:only_retract_when_crossing_perimeters setting:infill_first group:Advanced Infill options - line:Ironing infill tuning + line:Ironing infill pattern tuning setting:label_width$8:width$5:fill_smooth_distribution setting:label_width$26:label$Spacing between ironing lines:width$5:sidetext_width$7:fill_smooth_width end_line diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 76f0e0d33..f4373eb54 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -418,8 +418,11 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig* config) // gap fill can appear in infill //toggle_field("gap_fill_speed", have_perimeters && config->opt_bool("gap_fill")); + bool has_ironing_pattern = config->opt_enum("top_fill_pattern") == InfillPattern::ipSmooth + || config->opt_enum("bottom_fill_pattern") == InfillPattern::ipSmooth + || config->opt_enum("solid_fill_pattern") == InfillPattern::ipSmooth; for (auto el : {"fill_smooth_width, fill_smooth_distribution" }) - toggle_field(el, config->opt_enum("top_fill_pattern") == InfillPattern::ipSmooth); + toggle_field(el, has_ironing_pattern); for (auto el : { "ironing", "top_fill_pattern", "infill_connection_top", "top_infill_extrusion_width", "top_solid_infill_speed" }) toggle_field(el, has_top_solid_infill); @@ -479,9 +482,14 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig* config) toggle_field("support_material_extruder", have_support_material || have_skirt); toggle_field("support_material_speed", have_support_material || have_brim || have_skirt); - bool has_ironing = has_top_solid_infill && config->opt_bool("ironing"); - for (auto el : { "ironing_type", "ironing_flowrate", "ironing_spacing", "ironing_angle", "ironing_speed" }) - toggle_field(el, has_ironing); + bool has_PP_ironing = has_top_solid_infill && config->opt_bool("ironing"); + for (auto el : { "ironing_type", "ironing_flowrate", "ironing_spacing", "ironing_angle" }) + toggle_field(el, has_PP_ironing); + + bool has_ironing = has_PP_ironing || has_ironing_pattern; + for (auto el : { "ironing_speed" }) + toggle_field(el, has_ironing); + bool have_sequential_printing = config->opt_bool("complete_objects"); for (auto el : { /*"extruder_clearance_radius", "extruder_clearance_height",*/ "complete_objects_one_skirt",