From 49eb40b7118a6a06328e6a6ff4db1bc14ff5e57f Mon Sep 17 00:00:00 2001 From: wintergua Date: Wed, 4 Jan 2023 14:26:05 +0800 Subject: [PATCH] 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) --- src/libslic3r/Brim.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/Brim.cpp b/src/libslic3r/Brim.cpp index 1e1efe877..0c28c5254 100644 --- a/src/libslic3r/Brim.cpp +++ b/src/libslic3r/Brim.cpp @@ -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);