diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index b4b3fa5b8a..89024764f6 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -7611,7 +7611,7 @@ bool DynamicPrintConfig::support_different_extruders(int& extruder_count) return (variant_set.size() > 1); } -int DynamicPrintConfig::get_index_for_extruder(int extruder_id, std::string id_name, ExtruderType extruder_type, NozzleVolumeType nozzle_volume_type, std::string variant_name) const +int DynamicPrintConfig::get_index_for_extruder(int extruder_id, std::string id_name, ExtruderType extruder_type, NozzleVolumeType nozzle_volume_type, std::string variant_name, unsigned int stride) const { int ret = -1; @@ -7628,12 +7628,12 @@ int DynamicPrintConfig::get_index_for_extruder(int extruder_id, std::string id_n if (id_opt) { const int id = id_opt->get_at(index); if (id == extruder_id) { - ret = index; + ret = index * stride; break; } } else { - ret = index; + ret = index * stride; break; } diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index ad944e7cac..14734150e1 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -604,7 +604,7 @@ public: //BBS bool is_using_different_extruders(); bool support_different_extruders(int& extruder_count); - int get_index_for_extruder(int extruder_id, std::string id_name, ExtruderType extruder_type, NozzleVolumeType nozzle_volume_type, std::string variant_name) const; + int get_index_for_extruder(int extruder_id, std::string id_name, ExtruderType extruder_type, NozzleVolumeType nozzle_volume_type, std::string variant_name, unsigned int stride = 1) const; void update_values_to_printer_extruders(DynamicPrintConfig& printer_config, std::set& key_set, std::string id_name, std::string variant_name, unsigned int stride = 1, unsigned int extruder_id = 0); bool is_custom_defined();