diff --git a/src/slic3r/GUI/Widgets/AMSControl.cpp b/src/slic3r/GUI/Widgets/AMSControl.cpp index 7164e69e23..9fbbb8501d 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.cpp +++ b/src/slic3r/GUI/Widgets/AMSControl.cpp @@ -1624,12 +1624,22 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy if (model == AMSModel::AMS_LITE){ length = left ? 145 : 45; } - if (model == EXT_AMS && ams->get_ext_type() == AMSModelOriginType::LITE_EXT){ - length = 145; + if (model == EXT_AMS && ams->get_ext_type() == AMSModelOriginType::LITE_EXT) { + + if (m_ams_info.size() == 0 && m_ext_info.size() == 1) { + length = 13; + } else { + length = 145; + } } - if (model == EXT_AMS && ams->get_ext_type() == AMSModelOriginType::GENERIC_EXT){ - length = left ? 110 : 82; + if (model == EXT_AMS && ams->get_ext_type() == AMSModelOriginType::GENERIC_EXT) { + if (m_ams_info.size() == 0 && m_ext_info.size() == 1) { + left = true; + length = 49; + } else { + length = left ? 110 : 82; + } } for (auto i = 0; i < m_ams_info.size(); i++) {