From 352ac5ab2d733b532bf4f453e04116ed39147e24 Mon Sep 17 00:00:00 2001 From: Wang YB <94800665+Gradbb@users.noreply.github.com> Date: Sat, 11 Nov 2023 13:39:30 +0800 Subject: [PATCH] Revert "add Detect narrow internal solid infill" This reverts commit ea99e07679ed72fa4113d4167f5ebdc458d55070. --- src/libslic3r/Fill/Fill.cpp | 47 +---------------------------------- src/libslic3r/Preset.cpp | 2 -- src/libslic3r/PrintConfig.cpp | 10 -------- src/libslic3r/PrintConfig.hpp | 2 -- src/slic3r/GUI/Tab.cpp | 8 ++++-- 5 files changed, 7 insertions(+), 62 deletions(-) diff --git a/src/libslic3r/Fill/Fill.cpp b/src/libslic3r/Fill/Fill.cpp index f9702d1..499e7b8 100644 --- a/src/libslic3r/Fill/Fill.cpp +++ b/src/libslic3r/Fill/Fill.cpp @@ -17,8 +17,7 @@ #include "FillConcentric.hpp" #include "FillEnsuring.hpp" #include "Polygon.hpp" -//w11 -#define NARROW_INFILL_AREA_THRESHOLD 3 + namespace Slic3r { //static constexpr const float NarrowInfillAreaThresholdMM = 3.f; @@ -113,15 +112,7 @@ struct SurfaceFill { ExPolygons expolygons; SurfaceFillParams params; }; -//w11 -static bool is_narrow_infill_area(const ExPolygon &expolygon) -{ - ExPolygons offsets = offset_ex(expolygon, -scale_(NARROW_INFILL_AREA_THRESHOLD)); - if (offsets.empty()) - return true; - return false; -} static inline bool fill_type_monotonic(InfillPattern pattern) { return pattern == ipMonotonic || pattern == ipMonotonicLines; @@ -322,43 +313,7 @@ std::vector group_fills(const Layer &layer) fill.params.pattern = ipEnsuring; } } - //w11 - if (layer.object()->config().detect_narrow_internal_solid_infill) { - size_t surface_fills_size = surface_fills.size(); - for (size_t i = 0; i < surface_fills_size; i++) { - if (surface_fills[i].surface.surface_type != stInternalSolid) - continue; - size_t expolygons_size = surface_fills[i].expolygons.size(); - std::vector narrow_expolygons_index; - narrow_expolygons_index.reserve(expolygons_size); - for (size_t j = 0; j < expolygons_size; j++) - if (is_narrow_infill_area(surface_fills[i].expolygons[j])) - narrow_expolygons_index.push_back(j); - - if (narrow_expolygons_index.size() == 0) { - continue; - } else if (narrow_expolygons_index.size() == expolygons_size) { - // w11 - surface_fills[i].params.pattern = ipConcentric; - } else { - params = surface_fills[i].params; - params.pattern = ipConcentric; - surface_fills.emplace_back(params); - surface_fills.back().region_id = surface_fills[i].region_id; - surface_fills.back().surface.surface_type = stInternalSolid; - surface_fills.back().surface.thickness = surface_fills[i].surface.thickness; - // surface_fills.back().region_id_group = surface_fills[i].region_id_group; - // surface_fills.back().no_overlap_expolygons = surface_fills[i].no_overlap_expolygons; - for (size_t j = 0; j < narrow_expolygons_index.size(); j++) { - surface_fills.back().expolygons.emplace_back(std::move(surface_fills[i].expolygons[narrow_expolygons_index[j]])); - } - for (int j = narrow_expolygons_index.size() - 1; j >= 0; j--) { - surface_fills[i].expolygons.erase(surface_fills[i].expolygons.begin() + narrow_expolygons_index[j]); - } - } - } - } return surface_fills; } diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 755fbb5..a9e703a 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -488,8 +488,6 @@ static std::vector s_Preset_print_options { ,"first_layer_travel_speed" //B37 ,"first_layer_infill_speed" - //w11 - ,"detect_narrow_internal_solid_infill" }; static std::vector s_Preset_filament_options { diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index a0dabae..ec37930 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3519,16 +3519,6 @@ void PrintConfigDef::init_fff_params() default: assert(false); } } - //w11 - def = this->add("detect_narrow_internal_solid_infill", coBool); - def->label = L("Detect narrow internal solid infill"); - def->category = L("Infill"); - def->tooltip = L("This option will auto detect narrow internal solid infill area." - " If enabled, concentric pattern will be used for the area to speed printing up." - " Otherwise, rectilinear pattern is used defaultly."); - def->mode = comExpert; - def->set_default_value(new ConfigOptionBool(true)); - } void PrintConfigDef::init_extruder_option_keys() diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index f60b5a0..2f21db7 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -571,8 +571,6 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionBool, thick_bridges)) ((ConfigOptionFloat, xy_size_compensation)) ((ConfigOptionBool, wipe_into_objects)) - //w11 - ((ConfigOptionBool, detect_narrow_internal_solid_infill)) ) PRINT_CONFIG_CLASS_DEFINE( diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 0e1e9a9..ffce630 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1487,8 +1487,6 @@ void TabPrint::build() optgroup->append_single_option_line("bridge_angle"); optgroup->append_single_option_line("only_retract_when_crossing_perimeters"); optgroup->append_single_option_line("infill_first"); - //w11 - optgroup->append_single_option_line("detect_narrow_internal_solid_infill"); page = add_options_page(L("Skirt and brim"), "skirt+brim"); category_path = "skirt-and-brim_133969#"; @@ -2285,6 +2283,12 @@ void TabFilament::toggle_options() bool chamber_fan = printer_config->opt_bool("chamber_fan"); toggle_option("enable_volume_fan", chamber_fan); + + int auxiliary_fan_speed = m_config->opt_int("enable_auxiliary_fan", 0); + if (auxiliary_fan_speed == 0) + toggle_option("disable_rapid_cooling_fan_first_layers", false); + else + toggle_option("disable_rapid_cooling_fan_first_layers", true); } }