FIX: brim croping in mulit-plate case

Brim will be croped to ensure it does not exceed the bed area. However,
plate offsets are not considered and thus the croping does not work in
multi-plate cases. This can be fixed by this patch.

Change-Id: Iffcce6cba23a82de1fdd9fffe8c48c4e303e9e15
(cherry picked from commit 9c53fb12153cc8a31448ae4a670171c495243dae)
This commit is contained in:
wintergua 2023-01-04 14:26:05 +08:00 committed by Lane.Wei
parent 57a57fc429
commit 49eb40b711
1 changed files with 4 additions and 1 deletions

View File

@ -979,8 +979,11 @@ static ExPolygons outer_inner_brim_area(const Print& print,
}
}
}
if (!bedExPoly.empty())
if (!bedExPoly.empty()){
auto plateOffset = print.get_plate_origin();
bedExPoly.front().translate(scale_(plateOffset.x()), scale_(plateOffset.y()));
no_brim_area.push_back(bedExPoly.front());
}
for (const PrintObject* object : print.objects())
if (brimAreaMap.find(object->id()) != brimAreaMap.end()) {
brimAreaMap[object->id()] = diff_ex(brimAreaMap[object->id()], no_brim_area);