FIX: normal support missing base interface layers

jira: STUDIO-8642
Change-Id: Ib104fdb195f8766d452138eb85d8b86cbac96981
(cherry picked from commit 4655ec449b9bc86747d4054bbfb20c60f784c8c9)
This commit is contained in:
Arthur 2024-11-06 14:10:08 +08:00 committed by Noisyfox
parent d54d81e89d
commit 9f4d9fb463

View file

@ -33,8 +33,13 @@ struct SupportParameters {
this->num_top_base_interface_layers = size_t(std::min(int(num_top_interface_layers) / 2, 2));
this->num_bottom_base_interface_layers = size_t(std::min(int(num_bottom_interface_layers) / 2, 2));
} else {
this->num_top_base_interface_layers = 0;
this->num_bottom_base_interface_layers = 0;
// BBS: if support interface and support base do not use the same filament, add a base layer to improve their adhesion
// Note: support materials (such as Supp.W) can't be used as support base now, so support interface and base are still using different filaments even if
// support_filament==0
bool differnt_support_interface_filament = object_config.support_interface_filament != 0 &&
object_config.support_interface_filament != object_config.support_filament;
this->num_top_base_interface_layers = differnt_support_interface_filament ? 1 : 0;
this->num_bottom_base_interface_layers = differnt_support_interface_filament ? 1 : 0;
}
}
this->first_layer_flow = Slic3r::support_material_1st_layer_flow(&object, float(slicing_params.first_print_layer_height));