From 2a00a0d88984ad8aeb664308465be995c834a101 Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Fri, 14 Mar 2025 19:04:32 +0800 Subject: [PATCH] ENH: Reduce unnecessary solid fills jira: none Change-Id: I9f0f3eeacb6a553ef06c9afbb1299ff6139e77b9 --- src/libslic3r/GCode/WipeTower.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/GCode/WipeTower.cpp b/src/libslic3r/GCode/WipeTower.cpp index e04891188..2877855cf 100644 --- a/src/libslic3r/GCode/WipeTower.cpp +++ b/src/libslic3r/GCode/WipeTower.cpp @@ -3956,16 +3956,25 @@ void WipeTower::generate_new(std::vectorblock_id == block.block_id && finish_layer_filament == -1) { + finish_layer_filament = layer.tool_changes.front().old_tool; + } + + if (finish_layer_filament == -1) { + finish_layer_filament = wall_idx; + } + ToolChangeResult finish_block_tcr; - if (interface_solid ||(block.solid_infill[m_cur_layer_id] && block.filament_adhesiveness_category != m_filament_categories[wall_idx])) { - interface_solid = interface_solid && !((block.solid_infill[m_cur_layer_id] && block.filament_adhesiveness_category != m_filament_categories[wall_idx]));//noly reduce speed when + if (interface_solid || (block.solid_infill[m_cur_layer_id] && block.filament_adhesiveness_category != m_filament_categories[finish_layer_filament])) { + interface_solid = interface_solid && !((block.solid_infill[m_cur_layer_id] && block.filament_adhesiveness_category != m_filament_categories[finish_layer_filament]));//noly reduce speed when finish_block_tcr = finish_block_solid(block, finish_layer_filament, layer.extruder_fill, interface_solid); block.finish_depth[m_cur_layer_id] = block.start_depth + block.depth; }