ENH: 3mf: limit the identify_id's hight bits to 0

JIRA: no jira
Change-Id: Id57be2e53c411a1397e26dda3cb3b31721cb0df2
(cherry picked from commit e5341c39f2cfe8a4aabd366f4a55115a42b9cc2c)
This commit is contained in:
lane.wei 2024-06-27 16:35:07 +08:00 committed by Lane.Wei
parent 14bc42cd75
commit ba99ca275a
1 changed files with 12 additions and 2 deletions

View File

@ -7324,8 +7324,13 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
}
else if (obj){
inst = obj->instances[inst_id];
if (use_loaded_id && (inst->loaded_id > 0))
if (use_loaded_id && (inst->loaded_id > 0)) {
identify_id = inst->loaded_id;
if (identify_id & 0xFF000000) {
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ":" << __LINE__ << boost::format(", identify_id %1%, too big, limit the high bits to 0\n") % identify_id;
identify_id = identify_id & 0x00FFFFFF;
}
}
else
identify_id = inst->id().id;
}
@ -7514,8 +7519,13 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
continue;
}
inst = obj->instances[inst_id];
if (m_use_loaded_id && (inst->loaded_id > 0))
if (m_use_loaded_id && (inst->loaded_id > 0)) {
identify_id = inst->loaded_id;
if (identify_id & 0xFF000000) {
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ":" << __LINE__ << boost::format(", identify_id %1%, too big, limit the high bits to 0\n") % identify_id;
identify_id = identify_id & 0x00FFFFFF;
}
}
else
identify_id = inst->id().id;
bool skipped = std::find(plate_data->skipped_objects.begin(), plate_data->skipped_objects.end(), identify_id) !=