diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 7e302da4f..fe1527e15 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -1187,12 +1187,12 @@ std::vector GCode::collect_layers_to_print(const PrintObjec // raft contact distance should not trigger any warning if (last_extrusion_layer && last_extrusion_layer->support_layer) { - double raft_gap = object.config().raft_contact_distance.value; + double raft_gap = top_cd == 0 ? 0 : object.config().raft_contact_distance.value; //if (!object.print()->config().independent_support_layer_height) { raft_gap = std::ceil(raft_gap / object.config().layer_height) * object.config().layer_height; } - extra_gap = std::max(extra_gap, object.config().raft_contact_distance.value); + extra_gap = std::max(extra_gap, top_cd == 0 ? 0 :object.config().raft_contact_distance.value); } double maximal_print_z = (last_extrusion_layer ? last_extrusion_layer->print_z() : 0.) + layer_to_print.layer()->height diff --git a/src/libslic3r/Slicing.cpp b/src/libslic3r/Slicing.cpp index 1be275a09..a4da25204 100644 --- a/src/libslic3r/Slicing.cpp +++ b/src/libslic3r/Slicing.cpp @@ -110,7 +110,7 @@ SlicingParameters SlicingParameters::create_from_config( params.min_layer_height = std::min(params.min_layer_height, params.layer_height); params.max_layer_height = std::max(params.max_layer_height, params.layer_height); - params.gap_raft_object = object_config.raft_contact_distance.value; + params.gap_raft_object = soluble_interface ? 0 : object_config.raft_contact_distance.value; //BBS params.gap_object_support = object_config.support_bottom_z_distance.value; params.gap_support_object = object_config.support_top_z_distance.value; diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 543eb57ec..e797a3f45 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -676,7 +676,6 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, in toggle_field("support_filament", have_support_material || have_skirt); toggle_line("raft_contact_distance", have_raft && !have_support_soluble); - if (!have_raft || have_support_soluble) config->opt_float("raft_contact_distance") = config->opt_float("support_top_z_distance"); bool has_ironing = (config->opt_enum("ironing_type") != IroningType::NoIroning); for (auto el : {