mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-16 03:07:55 -06:00
Fix of
Number of solid top/bottom layers ignored, Ensure Vertical Shell Thickness interferes with solid top layer count https://github.com/prusa3d/Slic3r/issues/79 https://github.com/prusa3d/Slic3r/issues/60
This commit is contained in:
parent
479f716625
commit
17db5bff8d
3 changed files with 87 additions and 40 deletions
|
@ -302,8 +302,10 @@ LayerRegion::process_external_surfaces(const Layer* lower_layer)
|
|||
polygons_append(polys, STDMOVE(s1));
|
||||
for (size_t j = i + 1; j < top.size(); ++ j) {
|
||||
Surface &s2 = top[j];
|
||||
if (! s2.empty() && surfaces_could_merge(s1, s2))
|
||||
if (! s2.empty() && surfaces_could_merge(s1, s2)) {
|
||||
polygons_append(polys, STDMOVE(s2));
|
||||
s2.clear();
|
||||
}
|
||||
}
|
||||
if (s1.surface_type == stTop)
|
||||
// Trim the top surfaces by the bottom surfaces. This gives the priority to the bottom surfaces.
|
||||
|
@ -326,8 +328,10 @@ LayerRegion::process_external_surfaces(const Layer* lower_layer)
|
|||
polygons_append(polys, STDMOVE(s1));
|
||||
for (size_t j = i + 1; j < internal.size(); ++ j) {
|
||||
Surface &s2 = internal[j];
|
||||
if (! s2.empty() && surfaces_could_merge(s1, s2))
|
||||
if (! s2.empty() && surfaces_could_merge(s1, s2)) {
|
||||
polygons_append(polys, STDMOVE(s2));
|
||||
s2.clear();
|
||||
}
|
||||
}
|
||||
ExPolygons new_expolys = diff_ex(polys, new_polygons);
|
||||
polygons_append(new_polygons, to_polygons(new_expolys));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue