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
diff options
context:
space:
mode:
Diffstat (limited to 'src/libslic3r/LayerRegion.cpp')
-rw-r--r--src/libslic3r/LayerRegion.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/libslic3r/LayerRegion.cpp b/src/libslic3r/LayerRegion.cpp
index 2e7bc10c2..4f4177967 100644
--- a/src/libslic3r/LayerRegion.cpp
+++ b/src/libslic3r/LayerRegion.cpp
@@ -32,19 +32,20 @@ Flow LayerRegion::bridging_flow(FlowRole role) const
const PrintRegionConfig &region_config = region.config();
const PrintObject &print_object = *this->layer()->object();
// Here this->extruder(role) - 1 may underflow to MAX_INT, but then the get_at() will follback to zero'th element, so everything is all right.
- auto nozzle_diameter = float(print_object.print()->config().nozzle_diameter.get_at(region.extruder(role, *this->layer()->object()) - 1));
+ float nozzle_diameter = float(print_object.print()->config().nozzle_diameter.get_at(region.extruder(role, *this->layer()->object()) - 1));
+ double diameter = 0;
if (region_config.bridge_type == BridgeType::btFromFlow) {
Flow reference_flow = flow(role);
- double diameter = sqrt(4 * reference_flow.mm3_per_mm() / PI);
- return Flow::bridging_flow(float(diameter), nozzle_diameter);
+ diameter = sqrt(4 * reference_flow.mm3_per_mm() / PI);
} else if (region_config.bridge_type == BridgeType::btFromHeight) {
- return Flow::bridging_flow(float(m_layer->height), nozzle_diameter);
+ diameter = m_layer->height;
} else /*if (region_config.bridge_type == BridgeType::btFromNozzle)*/ {
// The good Slic3r way: Use rounded extrusions.
// Get the configured nozzle_diameter for the extruder associated to the flow role requested.
// Applies default bridge spacing.
- return Flow::bridging_flow(float(sqrt(region_config.bridge_flow_ratio.get_abs_value(1.))) * nozzle_diameter, nozzle_diameter);
+ diameter = nozzle_diameter;
}
+ return Flow::bridging_flow(float(sqrt(region_config.bridge_flow_ratio.get_abs_value(1.)) * diameter) , nozzle_diameter);
/* else {
// The same way as other slicers: Use normal extrusions. Apply bridge_flow_ratio while maintaining the original spacing.
return this->flow(role).with_flow_ratio(region_config.bridge_flow_ratio, overlap_percent);