mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-08 23:46:24 -06:00
FIX: Brim may not generate with a large positive xy compensation value
studio-2344 Change-Id: I74e91ccae8465ab747f2ed7e95e3d2694238c407 (cherry picked from commit a076c0541e88c68b11cf3b91725da6f8421c405b)
This commit is contained in:
parent
662453f419
commit
4c93d6e59d
1 changed files with 5 additions and 2 deletions
|
@ -563,15 +563,18 @@ void reGroupingLayerPolygons(std::vector<groupedVolumeSlices>& gvss, ExPolygons
|
|||
std::vector<int> epsIndex;
|
||||
epsIndex.resize(eps.size(), -1);
|
||||
for (int ie = 0; ie != eps.size(); ie++) {
|
||||
if (eps[ie].area() <= 0)
|
||||
continue;
|
||||
double minArea = eps[ie].area();
|
||||
for (int iv = 0; iv != gvss.size(); iv++) {
|
||||
auto clipedExPolys = diff_ex(eps[ie], gvss[iv].slices);
|
||||
double area = 0;
|
||||
for (const auto& ce : clipedExPolys) {
|
||||
area += ce.area();
|
||||
}
|
||||
if (eps[ie].area() > 0 && area / eps[ie].area() < 0.3) {
|
||||
if (area < minArea) {
|
||||
minArea = area;
|
||||
epsIndex[ie] = iv;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue