ENH: support cold pull for TPU

jira: [STUDIO-13529]
Change-Id: I6a44da3b2774305db179cfed0781d67e9b5a7e2e
(cherry picked from commit 0225c329c8eb8fee332d2cf9732b83ccd0c1dbb3)
This commit is contained in:
xin.zhang
2025-08-27 15:56:49 +08:00
committed by Noisyfox
parent 9b5190ca37
commit 84dd0449b7
5 changed files with 11 additions and 20 deletions

View File

@@ -8,6 +8,16 @@
"slot": "ams",
"description": "TPU is not supported by AMS."
},
{
"type": "TPU",
"action": "warning",
"description": "Please cold pull before printing TPU to avoid clogging. You may use cold pull maintenance on the printer."
},
{
"type": "TPU-AMS",
"action": "warning",
"description": "Please cold pull before printing TPU to avoid clogging. You may use cold pull maintenance on the printer."
},
{
"type": "PVA",
"action": "warning",

View File

@@ -171,6 +171,7 @@ void check_filaments(std::string model_id,
// Using in description
L("TPU is not supported by AMS.");
L("Please cold pull before printing TPU to avoid clogging. You may use cold pull maintenance on the printer.");
L("Damp PVA will become flexible and get stuck inside AMS, please take care to dry it before use.");
L("Damp PVA is flexible and may get stuck in extruder. Dry it before use.");
L("The rough surface of PLA Glow can accelerate wear on the AMS system, particularly on the internal components of the AMS Lite.");

View File

@@ -47,7 +47,6 @@ std::string PrePrintChecker::get_print_status_info(PrintDialogStatus status)
case PrintStatusTimelapseWarning: return "PrintStatusTimelapseWarning";
case PrintStatusMixAmsAndVtSlotWarning: return "PrintStatusMixAmsAndVtSlotWarning";
case PrintStatusWarningKvalueNotUsed: return "PrintStatusWarningKvalueNotUsed";
case PrintStatusWarningTpuRightColdPulling: return "PrintStatusWarningTpuRightColdPulling";
case PrintStatusHasFilamentInBlackListWarning: return "PrintStatusHasFilamentInBlackListWarning";
case PrintStatusFilamentWarningHighChamberTemp: return "PrintStatusFilamentWarningHighChamberTemp";
case PrintStatusFilamentWarningHighChamberTempCloseDoor: return "PrintStatusFilamentWarningHighChamberTempCloseDoor";
@@ -90,7 +89,6 @@ wxString PrePrintChecker::get_pre_state_msg(PrintDialogStatus status)
case PrintStatusTPUUnsupportAutoCali: return _L("TPU 90A/TPU 85A is too soft and does not support automatic Flow Dynamics calibration.");
case PrintStatusWarningKvalueNotUsed: return _L("Set dynamic flow calibration to 'OFF' to enable custom dynamic flow value.");
case PrintStatusNotSupportedPrintAll: return _L("This printer does not support printing all plates");
case PrintStatusWarningTpuRightColdPulling: return _L("Please cold pull before printing TPU to avoid clogging. You may use cold pull maintenance on the printer.");
}
return wxEmptyString;
}

View File

@@ -94,7 +94,6 @@ enum PrintDialogStatus : unsigned int {
// Warnings for filament
PrintStatusFilamentWarningBegin,
PrintStatusWarningKvalueNotUsed,
PrintStatusWarningTpuRightColdPulling,
PrintStatusHasFilamentInBlackListWarning,
PrintStatusFilamentWarningHighChamberTemp,
PrintStatusFilamentWarningHighChamberTempCloseDoor,

View File

@@ -1695,9 +1695,6 @@ void SelectMachineDialog::show_status(PrintDialogStatus status, std::vector<wxSt
} else if (status == PrintStatusHasFilamentInBlackListWarning) {
Enable_Refresh_Button(true);
Enable_Send_Button(true);
} else if (status == PrintStatusWarningTpuRightColdPulling) {
Enable_Refresh_Button(true);
Enable_Send_Button(true);
} else if (status == PrintStatusFilamentWarningHighChamberTempCloseDoor || status == PrintStatusFilamentWarningHighChamberTemp) {
Enable_Refresh_Button(true);
Enable_Send_Button(true);
@@ -3509,20 +3506,6 @@ void SelectMachineDialog::update_show_status(MachineObject* obj_)
}
}
/*Check the tpu at right*/
if (obj_->GetExtderSystem()->GetTotalExtderCount() == 2) {
for (const FilamentInfo& item : m_ams_mapping_result) {
if (item.ams_id.empty()) continue;
if (item.type.compare("TPU") != 0 && item.type.compare("TPU-AMS") != 0) { continue; }
int extruder_id = obj_->get_extruder_id_by_ams_id(item.ams_id);
if (extruder_id == MAIN_EXTRUDER_ID) {
show_status(PrintDialogStatus::PrintStatusWarningTpuRightColdPulling);
break;
}
}
}
/*Check high temperture slicing*/
if (m_print_type == PrintFromType::FROM_NORMAL) {
std::set<string> high_temp_filaments;