From d2ae5ea32c55c0023b27fac73a7479c2bd9a7e1c Mon Sep 17 00:00:00 2001 From: "xun.zhang" Date: Sat, 8 Feb 2025 20:37:37 +0800 Subject: [PATCH] FIX: wrong group result in some cases 1.Caused by too big tolerance jira:STUDIO-10236 Signed-off-by: xun.zhang Change-Id: I0ba182991bc70ca2d3a34a85b87fa7539c5e50d9 --- src/libslic3r/FilamentGroup.cpp | 6 +++++- src/libslic3r/FilamentGroup.hpp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/FilamentGroup.cpp b/src/libslic3r/FilamentGroup.cpp index 8b3fb403e..846b80996 100644 --- a/src/libslic3r/FilamentGroup.cpp +++ b/src/libslic3r/FilamentGroup.cpp @@ -161,8 +161,12 @@ namespace Slic3r int group_cost = 0; for (size_t i = 0; i < 2; ++i) { - if (group_colors[i].empty() || ams_filament_colors[i].empty()) + if (group_colors[i].empty()) continue; + if (ams_filament_colors.empty()) { + group_cost += group_colors.size() * fail_cost; + continue; + } std::vector>distance_matrix(group_colors[i].size(), std::vector(ams_filament_colors[i].size())); // calculate color distance matrix diff --git a/src/libslic3r/FilamentGroup.hpp b/src/libslic3r/FilamentGroup.hpp index b16688140..8a900265b 100644 --- a/src/libslic3r/FilamentGroup.hpp +++ b/src/libslic3r/FilamentGroup.hpp @@ -13,7 +13,7 @@ const static int DEFAULT_CLUSTER_SIZE = 16; -const static int ABSOLUTE_FLUSH_GAP_TOLERANCE = 2000; +const static int ABSOLUTE_FLUSH_GAP_TOLERANCE = 5; namespace Slic3r {