ENH: only check if from slicing print

jira: [none]
Change-Id: I65676589958b180e7aed6ae78a90a037073fd06b
This commit is contained in:
xin.zhang 2025-05-16 15:59:21 +08:00 committed by lane.wei
parent afd1766c89
commit 561e9ea2b5

View File

@ -3570,37 +3570,31 @@ void SelectMachineDialog::update_show_status(MachineObject* obj_)
} }
/*Check high temperture slicing*/ /*Check high temperture slicing*/
if (m_print_type == PrintFromType::FROM_NORMAL) {
std::unordered_set<int> known_fila_soften_extruders; std::unordered_set<int> known_fila_soften_extruders;
std::unordered_set<int> unknown_fila_soften_extruders; std::unordered_set<int> unknown_fila_soften_extruders;
auto preset_full_config = wxGetApp().preset_bundle->full_config(); auto preset_full_config = wxGetApp().preset_bundle->full_config();
auto chamber_temperatures = preset_full_config.option<ConfigOptionInts>("chamber_temperatures"); auto chamber_temperatures = preset_full_config.option<ConfigOptionInts>("chamber_temperatures");
for (const FilamentInfo& item : m_ams_mapping_result) for (const FilamentInfo& item : m_ams_mapping_result) {
{
try try
{ {
int chamber_temp = chamber_temperatures->values[item.id]; int chamber_temp = chamber_temperatures->values[item.id];
if (chamber_temp >= obj_->chamber_temp_switch_heat) {// check close door
// check close door
if (chamber_temp >= obj_->chamber_temp_switch_heat)
{
show_status(PrintDialogStatus::PrintStatusFilamentWarningHighChamberTempCloseDoor); show_status(PrintDialogStatus::PrintStatusFilamentWarningHighChamberTempCloseDoor);
if (PrePrintChecker::is_error(PrintDialogStatus::PrintStatusFilamentWarningHighChamberTempCloseDoor)) { return; } if (PrePrintChecker::is_error(PrintDialogStatus::PrintStatusFilamentWarningHighChamberTempCloseDoor)) { return; }
} }
// check vitrification for (const auto& extder : obj_->m_extder_data.extders) { // check vitrification
for (const auto& extder : obj_->m_extder_data.extders) {
if (extder.ext_has_filament) { if (extder.ext_has_filament) {
const auto& fila_id = obj_->get_filament_id(extder.snow.ams_id, extder.snow.slot_id); const auto& fila_id = obj_->get_filament_id(extder.snow.ams_id, extder.snow.slot_id);
auto filament_info = wxGetApp().preset_bundle->get_filament_by_filament_id(fila_id); auto filament_info = wxGetApp().preset_bundle->get_filament_by_filament_id(fila_id);
if (filament_info ) { if (filament_info) {
if (filament_info->temperature_vitrification - chamber_temp <= 5) { if (filament_info->temperature_vitrification - chamber_temp <= 5) {
known_fila_soften_extruders.insert(extder.id); known_fila_soften_extruders.insert(extder.id);
} }
} else { } else {
// the minimum temperature_vitrification of the known filaments is 43 degrees // the minimum temperature_vitrification of the known filaments is 43 degrees
if (43 - chamber_temp <= 5) { if (43 - chamber_temp <= 5) { unknown_fila_soften_extruders.insert(extder.id); }
unknown_fila_soften_extruders.insert(extder.id);
}
} }
} }
} }
@ -3621,6 +3615,7 @@ void SelectMachineDialog::update_show_status(MachineObject* obj_)
show_status(PrintDialogStatus::PrintStatusFilamentWarningUnknownHighChamberTempSoft, std::vector<wxString> {msg}); show_status(PrintDialogStatus::PrintStatusFilamentWarningUnknownHighChamberTempSoft, std::vector<wxString> {msg});
if (PrePrintChecker::is_error(PrintDialogStatus::PrintStatusFilamentWarningUnknownHighChamberTempSoft)) { return; } if (PrePrintChecker::is_error(PrintDialogStatus::PrintStatusFilamentWarningUnknownHighChamberTempSoft)) { return; }
} }
}
/** normal check **/ /** normal check **/
show_status(PrintDialogStatus::PrintStatusReadyToGo); show_status(PrintDialogStatus::PrintStatusReadyToGo);