Fix SPE-1726 - hole between bridges and perimeters caused by thin internal fill surface
GithubIssue https://github.com/prusa3d/PrusaSlicer/issues/10231#issuecomment-1546779200 During sorting of surfaces into top, bottom and internal, expand bottom bridges by one spacing unit, to ensure better anchoring
This commit is contained in:
parent
f9d2c9651e
commit
cf6b6ff4e4
@ -981,12 +981,11 @@ void PrintObject::detect_surfaces_type()
|
|||||||
surface_type_bottom_other);
|
surface_type_bottom_other);
|
||||||
#else
|
#else
|
||||||
// Any surface lying on the void is a true bottom bridge (an overhang)
|
// Any surface lying on the void is a true bottom bridge (an overhang)
|
||||||
surfaces_append(
|
ExPolygons true_bridge = diff_ex(layerm->slices().surfaces, lower_layer->lslices, ApplySafetyOffset::Yes);
|
||||||
bottom,
|
// expand the bridges by one extrusion width, to ensure reasonable anchoring whenever possible
|
||||||
opening_ex(
|
true_bridge = intersection_ex(layerm->slices().surfaces,
|
||||||
diff_ex(layerm->slices().surfaces, lower_layer->lslices, ApplySafetyOffset::Yes),
|
offset_ex(true_bridge, layerm->bridging_flow(frSolidInfill).scaled_spacing()));
|
||||||
offset),
|
surfaces_append(bottom, true_bridge, surface_type_bottom_other);
|
||||||
surface_type_bottom_other);
|
|
||||||
// if user requested internal shells, we need to identify surfaces
|
// if user requested internal shells, we need to identify surfaces
|
||||||
// lying on other slices not belonging to this region
|
// lying on other slices not belonging to this region
|
||||||
if (interface_shells) {
|
if (interface_shells) {
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
#include "Platform.hpp"
|
#include "Platform.hpp"
|
||||||
#include "Time.hpp"
|
#include "Time.hpp"
|
||||||
|
#include "format.hpp"
|
||||||
#include "libslic3r.h"
|
#include "libslic3r.h"
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
|
Loading…
Reference in New Issue
Block a user