diff --git a/src/slic3r/GUI/WebGuideDialog.cpp b/src/slic3r/GUI/WebGuideDialog.cpp index 2e3f769f1..69be7eccd 100644 --- a/src/slic3r/GUI/WebGuideDialog.cpp +++ b/src/slic3r/GUI/WebGuideDialog.cpp @@ -862,11 +862,19 @@ bool GuideFrame::apply_config(AppConfig *app_config, PresetBundle *preset_bundle if (config == enabled_vendors.end()) return std::string(); + const VendorProfile & printer_profile = preset_bundle->vendors[bundle_name]; const std::map>& model_maps = config->second; //for (const auto& vendor_profile : preset_bundle->vendors) { for (const auto model_it: model_maps) { if (model_it.second.size() > 0) { variant = *model_it.second.begin(); + if (model_it.second.size() > 1) { + const VendorProfile::PrinterModel &printer_model = *std::find_if(printer_profile.models.begin(), printer_profile.models.end(), + [id = model_it.first](auto &m) { return m.id == id; }); + for (auto &vt : printer_model.variants) { + if (std::find(model_it.second.begin(), model_it.second.end(), vt.name) != model_it.second.end()) { variant = vt.name; break; } + } + } const auto config_old = old_enabled_vendors.find(bundle_name); if (config_old == old_enabled_vendors.end()) return model_it.first;