diff options
author | supermerill <merill@free.fr> | 2021-12-20 18:48:20 +0300 |
---|---|---|
committer | supermerill <merill@free.fr> | 2021-12-22 20:12:13 +0300 |
commit | 8dc30cf6353e085134d5d8147437e368f269e924 (patch) | |
tree | 2a162d42bd0582913d229bb22460ea32b53f2d27 /src | |
parent | a0f8d5023a622d77f3805ea26fa4771ed31846e9 (diff) |
solid infill overlap test
supermerill/SuperSlicer#2028
Diffstat (limited to 'src')
-rw-r--r-- | src/libslic3r/Fill/Fill.cpp | 4 | ||||
-rw-r--r-- | src/libslic3r/Preset.cpp | 1 | ||||
-rw-r--r-- | src/libslic3r/PrintConfig.cpp | 13 | ||||
-rw-r--r-- | src/libslic3r/PrintConfig.hpp | 2 |
4 files changed, 19 insertions, 1 deletions
diff --git a/src/libslic3r/Fill/Fill.cpp b/src/libslic3r/Fill/Fill.cpp index 0639f95ab..bbcc9d9bc 100644 --- a/src/libslic3r/Fill/Fill.cpp +++ b/src/libslic3r/Fill/Fill.cpp @@ -565,6 +565,10 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive: } } + if (!surface_fill.params.flow.bridge && surface_fill.params.full_infill()) { + surface_fill.params.flow.spacing_ratio = surface_fill.params.config->solid_infill_overlap.get_abs_value(1.); + } + //make fill while ((size_t)surface_fill.params.priority >= fills_by_priority.size()) fills_by_priority.push_back(new ExtrusionEntityCollection()); diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index ed3a999b9..30ce2a8c0 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -598,6 +598,7 @@ const std::vector<std::string>& Preset::print_options() "support_material_extrusion_width", // overlap, ratios "infill_overlap", "bridge_flow_ratio", + "solid_infill_overlap", "infill_anchor", "infill_anchor_max", "clip_multipart_objects", diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 854be0d4f..d50cbecf8 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -398,7 +398,8 @@ void PrintConfigDef::init_fff_params() def->tooltip = L("This factor affects the amount of plastic for bridging. " "You can decrease it slightly to pull the extrudates and prevent sagging, " "although default settings are usually good and you should experiment " - "with cooling (use a fan) before tweaking this."); + "with cooling (use a fan) before tweaking this." + "\nFor reference, the default bridge flow is (in mm3/mm): (nozzle diameter) * (nozzle diameter) * PI/4"); def->min = 1; def->max = 200; def->mode = comAdvanced; @@ -3893,6 +3894,16 @@ void PrintConfigDef::init_fff_params() def->mode = comExpert; def->set_default_value(new ConfigOptionFloat(70)); + def = this->add("solid_infill_overlap", coPercent); + def->label = L("Solid fill overlap"); + def->category = OptionCategory::infill; + def->tooltip = L("Overlap."); + def->sidetext = L("%"); + def->min = 0; + def->max = 100; + def->mode = comExpert; + def->set_default_value(new ConfigOptionPercent(100)); + def = this->add("solid_infill_extruder", coInt); def->label = L("Solid infill extruder"); def->category = OptionCategory::extruders; diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 49767cabc..ce949a135 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -886,6 +886,7 @@ public: ConfigOptionFloatOrPercent solid_infill_extrusion_width; ConfigOptionInt solid_infill_every_layers; ConfigOptionFloatOrPercent solid_infill_speed; + ConfigOptionPercent solid_infill_overlap; ConfigOptionInt solid_over_perimeters; ConfigOptionInt print_temperature; ConfigOptionBool thin_perimeters; @@ -1002,6 +1003,7 @@ protected: OPT_PTR(solid_infill_extrusion_width); OPT_PTR(solid_infill_every_layers); OPT_PTR(solid_infill_speed); + OPT_PTR(solid_infill_overlap); OPT_PTR(solid_over_perimeters); OPT_PTR(print_temperature); OPT_PTR(thin_perimeters); |