diff --git a/src/slic3r/GUI/PartPlate.cpp b/src/slic3r/GUI/PartPlate.cpp index 38d099a8e..ee763ead1 100644 --- a/src/slic3r/GUI/PartPlate.cpp +++ b/src/slic3r/GUI/PartPlate.cpp @@ -1338,7 +1338,10 @@ bool PartPlate::check_filament_printable(const DynamicPrintConfig &config, wxStr std::string filament_type = config.option("filament_type")->values.at(filament_id); std::vector filament_map = get_real_filament_maps(config); int extruder_idx = filament_map[filament_id] - 1; - std::string filament_types_str = config.option("unprintable_filament_types")->values.at(extruder_idx); + std::string filament_types_str; + auto unprintable_filament_types = config.option("unprintable_filament_types")->values; + if (extruder_idx < unprintable_filament_types.size()) + filament_types_str = unprintable_filament_types.at(extruder_idx); std::vector filament_types = split_string(filament_types_str, ','); auto iter = std::find(filament_types.begin(), filament_types.end(), filament_type); if (iter != filament_types.end()) {