From 044a1d5ba4295509c10b90f3832e9813d55722b5 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Mon, 5 Jan 2026 20:33:13 +0800 Subject: [PATCH] Fixed an issue where the wipe tower did not account for `z_offset`, especially when "No sparse layers" is enabled. (#11833) # Description This PR addresses the issue that WipeTower's start z position didn't consider the z_offset. fixes #11611 # Screenshots/Recordings/Graphs ## Tests --- src/libslic3r/GCode.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/GCode.hpp b/src/libslic3r/GCode.hpp index 2bf29aa002..30c48df054 100644 --- a/src/libslic3r/GCode.hpp +++ b/src/libslic3r/GCode.hpp @@ -97,7 +97,8 @@ public: m_enable_timelapse_print(print_config.timelapse_type.value == TimelapseType::tlSmooth), m_enable_wrapping_detection(print_config.enable_wrapping_detection && (print_config.wrapping_exclude_area.values.size() > 2) && (slice_used_filaments.size() <= 1)), m_is_first_print(true), - m_print_config(&print_config) + m_print_config(&print_config), + m_last_wipe_tower_print_z(print_config.z_offset.value) { // initialize with the extruder offset of master extruder id m_extruder_offsets.resize(print_config.filament_map.size(), print_config.extruder_offset.get_at(print_config.master_extruder_id.value - 1)); @@ -143,7 +144,7 @@ private: // Current layer index. int m_layer_idx; int m_tool_change_idx; - double m_last_wipe_tower_print_z = 0.f; + double m_last_wipe_tower_print_z; // BBS Vec3d m_plate_origin;