ENH: skip_objects: add the skipped_objects into sliced_info

Change-Id: I2a04aa00503a04cfe3e9d680ceabdb4947142d34
(cherry picked from commit ca548d69daa0bc2970efc080fcf1537e6babb278)
This commit is contained in:
lane.wei 2023-06-12 20:42:04 +08:00 committed by Lane.Wei
parent b437f6d646
commit c7775ace16
4 changed files with 38 additions and 6 deletions

View file

@ -284,6 +284,8 @@ static constexpr const char* SLICE_WEIGHT_ATTR = "weight";
static constexpr const char* OUTSIDE_ATTR = "outside";
static constexpr const char* SUPPORT_USED_ATTR = "support_used";
static constexpr const char* LABEL_OBJECT_ENABLED_ATTR = "label_object_enabled";
static constexpr const char* SKIPPED_OBJECT_ATTR = "skipped_object";
static constexpr const char* SKIPPED_OBJECT_ID_TAG = "id";
static constexpr const char* OBJECT_TYPE = "object";
static constexpr const char* VOLUME_TYPE = "volume";
@ -1418,6 +1420,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
plate->toolpath_outside = it->second->toolpath_outside;
plate->is_support_used = it->second->is_support_used;
plate->is_label_object_enabled = it->second->is_label_object_enabled;
plate->skipped_objects = it->second->skipped_objects;
plate->slice_filaments_info = it->second->slice_filaments_info;
plate->warnings = it->second->warnings;
plate->thumbnail_file = it->second->thumbnail_file;
@ -2051,6 +2054,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
plate_data_list[it->first-1]->is_support_used = it->second->is_support_used;
plate_data_list[it->first-1]->is_label_object_enabled = it->second->is_label_object_enabled;
plate_data_list[it->first-1]->slice_filaments_info = it->second->slice_filaments_info;
plate_data_list[it->first-1]->skipped_objects = it->second->skipped_objects;
plate_data_list[it->first-1]->warnings = it->second->warnings;
plate_data_list[it->first-1]->thumbnail_file = (m_load_restore || it->second->thumbnail_file.empty()) ? it->second->thumbnail_file : m_backup_path + "/" + it->second->thumbnail_file;
//plate_data_list[it->first-1]->pattern_file = (m_load_restore || it->second->pattern_file.empty()) ? it->second->pattern_file : m_backup_path + "/" + it->second->pattern_file;
@ -3930,6 +3934,10 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
if (m_curr_plater)
std::istringstream(value) >> std::boolalpha >> m_curr_plater->is_label_object_enabled;
}
else if (key == SKIPPED_OBJECT_ATTR)
{
//currently not processed
}
}
return true;
@ -7217,6 +7225,11 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << SUPPORT_USED_ATTR << "\" " << VALUE_ATTR << "=\"" << std::boolalpha<< plate_data->is_support_used << "\"/>\n";
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << LABEL_OBJECT_ENABLED_ATTR << "\" " << VALUE_ATTR << "=\"" << std::boolalpha<< plate_data->is_label_object_enabled << "\"/>\n";
for (auto it = plate_data->skipped_objects.begin(); it != plate_data->skipped_objects.end(); it++)
{
stream << " <" << SKIPPED_OBJECT_ATTR << " " << SKIPPED_OBJECT_ID_TAG << "=\"" << std::to_string(*it) << "\" />\n";
}
for (auto it = plate_data->slice_filaments_info.begin(); it != plate_data->slice_filaments_info.end(); it++)
{
stream << " <" << FILAMENT_TAG << " " << FILAMENT_ID_TAG << "=\"" << std::to_string(it->id + 1) << "\" "