FIX: wipe tpwer should be no_brim_area

jira-id: none
Change-Id: Ia8b9c1639a62d90421932594b3709eba71b5e723
(cherry picked from commit 68eb40bc74d75fece451ed3b4b4b767b46c238b3)
This commit is contained in:
wintergua 2025-02-19 15:32:58 +08:00 committed by lane.wei
parent 7e0078b24e
commit e684f8fcc6
3 changed files with 16 additions and 0 deletions

View File

@ -1057,6 +1057,16 @@ static ExPolygons outer_inner_brim_area(const Print& print,
}
std::vector<int> filament_map = print.get_filament_maps();
if (print.has_wipe_tower() && !print.get_fake_wipe_tower().outer_wall.empty()) {
ExPolygons expolyFromLines{};
for (auto polyline : print.get_fake_wipe_tower().outer_wall.begin()->second) {
polyline.remove_duplicate_points();
expolyFromLines.emplace_back(polyline.points);
expolyFromLines.back().translate(Point(scale_(print.get_fake_wipe_tower().pos[0]), scale_(print.get_fake_wipe_tower().pos[1])));
}
expolygons_append(no_brim_area, expolyFromLines);
}
for (const PrintObject* object : print.objects()) {
ExPolygons extruder_no_brim_area = no_brim_area;
auto iter = std::find_if(objPrintVec.begin(), objPrintVec.end(), [object](const std::pair<ObjectID, unsigned int>& item) {

View File

@ -1874,6 +1874,11 @@ void Print::process(std::unordered_map<std::string, long long>* slice_time, bool
}
this->set_done(psWipeTower);
}
if (this->has_wipe_tower()) {
m_fake_wipe_tower.set_pos({ m_config.wipe_tower_x.get_at(m_plate_index), m_config.wipe_tower_y.get_at(m_plate_index) });
}
if (this->set_started(psSkirtBrim)) {
this->set_status(70, L("Generating skirt & brim"));

View File

@ -954,6 +954,7 @@ public:
float get_wipe_tower_depth() const { return m_wipe_tower_data.depth; }
BoundingBoxf get_wipe_tower_bbx() const { return m_wipe_tower_data.bbx; }
Vec2f get_rib_offset() const { return m_wipe_tower_data.rib_offset; }
const FakeWipeTower& get_fake_wipe_tower() const { return m_fake_wipe_tower; }
void set_check_multi_filaments_compatibility(bool check) { m_need_check_multi_filaments_compatibility = check; }
bool need_check_multi_filaments_compatibility() const { return m_need_check_multi_filaments_compatibility; }