diff --git a/src/libslic3r/Fill/Fill.cpp b/src/libslic3r/Fill/Fill.cpp index e22109bede..d68c14ce51 100644 --- a/src/libslic3r/Fill/Fill.cpp +++ b/src/libslic3r/Fill/Fill.cpp @@ -485,9 +485,10 @@ std::vector group_fills(const Layer &layer) // Calculate the actual flow we'll be using for this infill. params.bridge = is_bridge || Fill::use_bridge_flow(params.pattern); + const bool is_thick_bridge = surface.is_bridge() && (surface.is_internal_bridge() ? object_config.thick_internal_bridges : object_config.thick_bridges); params.flow = params.bridge ? - //BBS: always enable thick bridge for internal bridge - layerm.bridging_flow(extrusion_role, (surface.is_bridge() && !surface.is_external()) || object_config.thick_bridges) : + //Orca: enable thick bridge based on config + layerm.bridging_flow(extrusion_role, is_thick_bridge) : layerm.flow(extrusion_role, (surface.thickness == -1) ? layer.height : surface.thickness); // Calculate flow spacing for infill pattern generation. diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 6e8f86e16d..9221796e2f 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -786,7 +786,7 @@ static std::vector s_Preset_print_options { "independent_support_layer_height", "support_angle", "support_interface_top_layers", "support_interface_bottom_layers", "support_interface_pattern", "support_interface_spacing", "support_interface_loop_pattern", - "support_top_z_distance", "support_on_build_plate_only","support_critical_regions_only", "bridge_no_support", "thick_bridges", "max_bridge_length", "print_sequence", "support_remove_small_overhang", + "support_top_z_distance", "support_on_build_plate_only","support_critical_regions_only", "bridge_no_support", "thick_bridges", "thick_internal_bridges", "max_bridge_length", "print_sequence", "support_remove_small_overhang", "filename_format", "wall_filament", "support_bottom_z_distance", "sparse_infill_filament", "solid_infill_filament", "support_filament", "support_interface_filament","support_interface_not_for_body", "ooze_prevention", "standby_temperature_delta", "interface_shells", "line_width", "initial_layer_line_width", diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index bc6321771a..bb6efdaaa3 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1202,6 +1202,15 @@ void PrintConfigDef::init_fff_params() def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(false)); + def = this->add("thick_internal_bridges", coBool); + def->label = L("Thick internal bridges"); + def->category = L("Quality"); + def->tooltip = L("If enabled, thick internal bridges will be used. It's usually recommended to have this feature turned on. However, " + "consider turning it off if you are using large nozzles."); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionBool(true)); + + def = this->add("max_bridge_length", coFloat); def->label = L("Max bridge length"); def->category = L("Support"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index b9f877ac50..d2f961a8bd 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -741,7 +741,9 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionEnum, support_style)) // BBS //((ConfigOptionBool, independent_support_layer_height)) + // Orca internal thick bridge ((ConfigOptionBool, thick_bridges)) + ((ConfigOptionBool, thick_internal_bridges)) // Overhang angle threshold. ((ConfigOptionInt, support_threshold_angle)) ((ConfigOptionFloat, support_object_xy_distance)) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 2bb94cfccf..5742d44548 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1949,9 +1949,10 @@ void TabPrint::build() optgroup->append_single_option_line("wall_sequence"); optgroup->append_single_option_line("is_infill_first"); optgroup->append_single_option_line("bridge_flow"); - optgroup->append_single_option_line("internal_bridge_flow"); + optgroup->append_single_option_line("internal_bridge_flow"); optgroup->append_single_option_line("bridge_density"); optgroup->append_single_option_line("thick_bridges"); + optgroup->append_single_option_line("thick_internal_bridges"); optgroup->append_single_option_line("top_solid_infill_flow_ratio"); optgroup->append_single_option_line("bottom_solid_infill_flow_ratio"); optgroup->append_single_option_line("only_one_wall_top");