FIX:Add colors exceed message

jira:[STUDIO-13236]

Change-Id: Id5b761a661c4b0d47cb8cd600a061b403dce0ae8
(cherry picked from commit 7a11f7e8ca0cb08c08b8a1e62f77b670b61aa094)
This commit is contained in:
milk
2025-07-07 20:10:02 +08:00
committed by Noisyfox
parent 34a6100fe6
commit d6e40352c2
3 changed files with 18 additions and 1 deletions

View File

@@ -37,6 +37,8 @@ std::string PrePrintChecker::get_print_status_info(PrintDialogStatus status)
case PrintStatusBlankPlate: return "PrintStatusBlankPlate";
case PrintStatusUnsupportedPrinter: return "PrintStatusUnsupportedPrinter";
case PrintStatusInvalidMapping: return "PrintStatusInvalidMapping";
case PrintStatusColorQuantityExceed: return "PrintStatusColorQuantityExceed";
// Handle filament errors
case PrintStatusAmsOnSettingup: return "PrintStatusAmsOnSettingup";
case PrintStatusAmsMappingInvalid: return "PrintStatusAmsMappingInvalid";
case PrintStatusAmsMappingU0Invalid: return "PrintStatusAmsMappingU0Invalid";
@@ -89,6 +91,8 @@ 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 PrintStatusColorQuantityExceed: return _L("Maximum 16 colors are supported. Please reduce current project filaments to <= 16 colors in Prepare Page before printing.");
}
return wxEmptyString;
}

View File

@@ -76,6 +76,7 @@ enum PrintDialogStatus : unsigned int {
PrintStatusAmsMappingMixInvalid,
PrintStatusTPUUnsupportAutoCali,
PrintStatusHasFilamentInBlackListError,
PrintStatusColorQuantityExceed,
PrintStatusFilamentErrorEnd,
PrintStatusErrorEnd,//->end error<-

View File

@@ -1576,7 +1576,11 @@ void SelectMachineDialog::show_status(PrintDialogStatus status, std::vector<wxSt
} else if (status == PrintStatusNozzleTypeMismatch) {
Enable_Refresh_Button(true);
Enable_Send_Button(false);
} else if (status == PrintStatusColorQuantityExceed) {
Enable_Refresh_Button(true);
Enable_Send_Button(false);
}
else if (status == PrintDialogStatus::PrintStatusAmsMappingU0Invalid) {
wxString msg_text;
if (params.size() > 1)
@@ -3308,6 +3312,13 @@ void SelectMachineDialog::update_show_status(MachineObject* obj_)
show_status(PrintDialogStatus::PrintStatusNoSdcard);
return;
}
if (wxGetApp().preset_bundle->filament_presets.size() > 16 && m_print_type != PrintFromType::FROM_SDCARD_VIEW) {
if (!obj_->is_enable_ams_np && !obj_->is_enable_np)
{
show_status(PrintDialogStatus::PrintStatusColorQuantityExceed);
return;
}
}
/*check sdcard when if lan mode printer*/
if (obj_->is_lan_mode_printer()) {
@@ -3515,7 +3526,7 @@ void SelectMachineDialog::update_show_status(MachineObject* obj_)
try
{
int chamber_temp = chamber_temperatures->values[item.id];
if (chamber_temp >= 40) {
if (chamber_temp >= 40) {
high_temp_filaments.insert(item.get_display_filament_type());// high printing chamber temperature
}
@@ -5303,5 +5314,6 @@ void PrinterInfoBox::OnBtnQuestionClicked(wxCommandEvent& event)
wxLaunchDefaultBrowser(wxT("https://wiki.bambulab.com/en/software/bambu-studio/failed-to-connect-printer"));
}
}
} // namespace Slic3r::GUI