diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 91236b5144..f2e0de9cc7 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -1571,7 +1571,8 @@ StringObjectException Print::validate(StringObjectException *warning, Polygons* const ConfigOptionDef* bed_type_def = print_config_def.get("curr_bed_type"); assert(bed_type_def != nullptr); - if (is_BBL_printer()) { + // ORCA: check if bed type is compatible with all selected filaments + if (is_BBL_printer() || m_config.support_multi_bed_types.value) { const t_config_enum_values* bed_type_keys_map = bed_type_def->enum_keys_map; for (unsigned int extruder_id : extruders) { const ConfigOptionInts* bed_temp_opt = m_config.option(get_bed_temp_key(m_config.curr_bed_type)); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 5b40d2feeb..5da3520660 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -17592,20 +17592,16 @@ void Plater::post_process_string_object_exception(StringObjectException &err) int extruder_id = atoi(err.params[2].c_str()) - 1; if (extruder_id < preset_bundle->filament_presets.size()) { std::string filament_name = preset_bundle->filament_presets[extruder_id]; + // ORCA: Prefer the selected preset's alias/name and trim any @Printer suffix for display. for (auto filament_it = preset_bundle->filaments.begin(); filament_it != preset_bundle->filaments.end(); filament_it++) { if (filament_it->name == filament_name) { - if (filament_it->is_system) { + if (!filament_it->alias.empty()) { filament_name = filament_it->alias; } else { - auto preset = preset_bundle->filaments.get_preset_base(*filament_it); - if (preset && !preset->alias.empty()) { - filament_name = preset->alias; - } else { - char target = '@'; - size_t pos = filament_name.find(target); - if (pos != std::string::npos) { - filament_name = filament_name.substr(0, pos - 1); - } + char target = '@'; + size_t pos = filament_name.find(target); + if (pos != std::string::npos) { + filament_name = filament_name.substr(0, pos - 1); } } break;