From df8cc32353264ae0c1ccac21fc2b2e1251263e4e Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Thu, 6 Mar 2025 10:17:02 +0800 Subject: [PATCH] FIX: fix the unknown object label id jira: 10699 Change-Id: I50b5b230625be8dd0c36b588e6ae9358eef334ba (cherry picked from commit c58e5d447d09ed3b62cd6ace0de58dd4fa7d9693) --- src/libslic3r/GCode.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 48b503f204..be21314504 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -89,7 +89,7 @@ namespace Slic3r { static const float g_min_purge_volume = 100.f; static const float g_purge_volume_one_time = 135.f; static const int g_max_flush_count = 4; -// static const size_t g_max_label_object = 64; +static const size_t g_max_label_object = 64; Vec2d travel_point_1; Vec2d travel_point_2; @@ -4538,7 +4538,11 @@ LayerResult GCode::process_layer( } } - if (is_BBL_Printer() && print.objects().size() > 1) { + // (layer_object_label_ids.size() < 64) this restriction comes from _encode_label_ids_to_base64() + if (is_BBL_Printer() && + (print.num_object_instances() <= g_max_label_object) && // Don't support too many objects on one plate + (print.num_object_instances() > 1) && // Don't support skipping single object + (print.calib_params().mode == CalibMode::Calib_None)) { std::ostringstream oss; for (auto it = layer_object_label_ids.begin(); it != layer_object_label_ids.end(); ++it) { if (it != layer_object_label_ids.begin()) oss << ",";