FIX: fix the unknown object label id

jira: 10699
Change-Id: I50b5b230625be8dd0c36b588e6ae9358eef334ba
(cherry picked from commit c58e5d447d09ed3b62cd6ace0de58dd4fa7d9693)
This commit is contained in:
zhimin.zeng 2025-03-06 10:17:02 +08:00 committed by Noisyfox
parent 6988468729
commit df8cc32353

View file

@ -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 << ",";