diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index cb6dbdcfa9..9eefc4dea7 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -2313,7 +2313,7 @@ void SelectMachineDialog::on_ok_btn(wxCommandEvent &event) } confirm_dlg.on_show(); - } + } else { this->on_send_print(); @@ -4185,7 +4185,6 @@ void SelectMachineDialog::set_default_from_sdcard() m_sizer_ams_mapping_right->Layout(); m_filament_panel_right_sizer->Layout(); m_filament_right_panel->Layout(); - m_mapping_popup.set_show_type(ShowType::LEFT_AND_RIGHT); } else { m_filament_left_panel->Hide(); @@ -4194,7 +4193,6 @@ void SelectMachineDialog::set_default_from_sdcard() m_sizer_ams_mapping->SetCols(8); m_sizer_ams_mapping->Layout(); m_filament_panel_sizer->Layout(); - m_mapping_popup.set_show_type(ShowType::RIGHT); } //init MaterialItem @@ -4237,7 +4235,7 @@ void SelectMachineDialog::set_default_from_sdcard() } item->Bind(wxEVT_LEFT_UP, [this, item, materials](wxMouseEvent& e) {}); - item->Bind(wxEVT_LEFT_DOWN, [this, obj_, item, materials, fo](wxMouseEvent& e) { + item->Bind(wxEVT_LEFT_DOWN, [this, obj_, item, materials, diameters_count, filament_map, fo](wxMouseEvent& e) { MaterialHash::iterator iter = m_materialList.begin(); while (iter != m_materialList.end()) { int id = iter->first; @@ -4263,6 +4261,16 @@ void SelectMachineDialog::set_default_from_sdcard() pos.y += item->GetRect().height; m_mapping_popup.Move(pos); + if (diameters_count > 1) { + if (obj_ && can_hybrid_mapping(obj_->m_extder_data)) { + m_mapping_popup.set_show_type(ShowType::LEFT_AND_RIGHT); + } else if (filament_map[m_current_filament_id] == 1) { + m_mapping_popup.set_show_type(ShowType::LEFT); + } else if (filament_map[m_current_filament_id] == 2) { + m_mapping_popup.set_show_type(ShowType::RIGHT); + } + } + if (obj_ && obj_->has_ams() && (m_checkbox_list["use_ams"]->getValue() == "on") && diff --git a/src/slic3r/GUI/Widgets/AMSControl.cpp b/src/slic3r/GUI/Widgets/AMSControl.cpp index 58f870a01c..92f9f007bc 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.cpp +++ b/src/slic3r/GUI/Widgets/AMSControl.cpp @@ -1595,7 +1595,7 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy 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; + length = 50; } else { length = left ? 110 : 82; }