Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsupermerill <merill@free.fr>2021-12-20 18:48:20 +0300
committersupermerill <merill@free.fr>2021-12-22 20:12:13 +0300
commit8dc30cf6353e085134d5d8147437e368f269e924 (patch)
tree2a162d42bd0582913d229bb22460ea32b53f2d27 /src
parenta0f8d5023a622d77f3805ea26fa4771ed31846e9 (diff)
solid infill overlap test
supermerill/SuperSlicer#2028
Diffstat (limited to 'src')
-rw-r--r--src/libslic3r/Fill/Fill.cpp4
-rw-r--r--src/libslic3r/Preset.cpp1
-rw-r--r--src/libslic3r/PrintConfig.cpp13
-rw-r--r--src/libslic3r/PrintConfig.hpp2
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);