mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-21 04:13:50 +00:00
FIX: update check extruder type and diameter on sending to print; update trans
jira: [STUDIO-8650] [STUDIO-9220] [STUDIO-9392] Change-Id: Ib543b8043d517ce312e7489cbee72e93bf0d9757 (cherry picked from commit 77abf5ad6e57cf392b868d38e65610e4d0716977)
This commit is contained in:
@@ -40,6 +40,7 @@ src/slic3r/GUI/Widgets/SideTools.cpp
|
|||||||
src/slic3r/GUI/Widgets/AMSControl.cpp
|
src/slic3r/GUI/Widgets/AMSControl.cpp
|
||||||
src/slic3r/GUI/Widgets/FanControl.cpp
|
src/slic3r/GUI/Widgets/FanControl.cpp
|
||||||
src/slic3r/GUI/Widgets/FilamentLoad.cpp
|
src/slic3r/GUI/Widgets/FilamentLoad.cpp
|
||||||
|
src/slic3r/GUI/Widgets/TempInput.cpp
|
||||||
src/slic3r/GUI/ImGuiWrapper.cpp
|
src/slic3r/GUI/ImGuiWrapper.cpp
|
||||||
src/slic3r/GUI/Jobs/ArrangeJob.cpp
|
src/slic3r/GUI/Jobs/ArrangeJob.cpp
|
||||||
src/slic3r/GUI/Jobs/OrientJob.cpp
|
src/slic3r/GUI/Jobs/OrientJob.cpp
|
||||||
|
|||||||
@@ -1929,11 +1929,22 @@ bool SelectMachineDialog::is_same_nozzle_diameters(float &tag_nozzle_diameter) c
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
auto extruders = wxGetApp().plater()->get_partplate_list().get_curr_plate()->get_used_extruders();
|
auto used_extruder_idxs = wxGetApp().plater()->get_partplate_list().get_curr_plate()->get_used_extruders();/*the index is started from 1*/
|
||||||
for (auto i = 0; i < extruders.size(); i++) {
|
for (int extruder_idx : used_extruder_idxs)
|
||||||
auto extruder = extruders[i] - 1;
|
{
|
||||||
tag_nozzle_diameter = float(opt_nozzle_diameters->get_at(extruder));
|
if (opt_nozzle_diameters->size() < extruder_idx)
|
||||||
if (tag_nozzle_diameter != obj_->m_extder_data.extders[0].current_nozzle_diameter) {
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
tag_nozzle_diameter = float(opt_nozzle_diameters->get_at(extruder_idx));
|
||||||
|
if (obj_->m_extder_data.extders.size() < extruder_idx)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tag_nozzle_diameter != obj_->m_extder_data.extders[extruder_idx - 1].current_nozzle_diameter)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2164,17 +2175,23 @@ void SelectMachineDialog::on_ok_btn(wxCommandEvent &event)
|
|||||||
+ "\n", ConfirmBeforeSendInfo::InfoLevel::Warning));
|
+ "\n", ConfirmBeforeSendInfo::InfoLevel::Warning));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*check nozzle type*/
|
||||||
|
DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager();
|
||||||
|
MachineObject* obj = dev ? dev->get_selected_machine() : nullptr;
|
||||||
|
const std::vector<Extder>& extders = obj ? obj->m_extder_data.extders : std::vector<Extder>();
|
||||||
|
for (const auto& extder : extders)
|
||||||
|
{
|
||||||
std::string filament_type;
|
std::string filament_type;
|
||||||
if (!is_same_nozzle_type(obj_->m_extder_data.extders[0], filament_type))
|
if (!is_same_nozzle_type(extder, filament_type))
|
||||||
{
|
{
|
||||||
has_slice_warnings = true;
|
has_slice_warnings = true;
|
||||||
is_printing_block = true;
|
is_printing_block = true;
|
||||||
|
wxString nozzle_in_preset = wxString::Format(_L("Printing high temperature material(%s material) with %s may cause nozzle damage"),
|
||||||
wxString nozzle_in_preset = wxString::Format(_L("Printing high temperature material (%s material) with %s may cause nozzle damage"), filament_type, format_steel_name(obj_->m_extder_data.extders[0].current_nozzle_type));
|
filament_type, format_steel_name(obj_->m_extder_data.extders[0].current_nozzle_type));
|
||||||
confirm_text.push_back(ConfirmBeforeSendInfo(nozzle_in_preset, ConfirmBeforeSendInfo::InfoLevel::Warning));
|
confirm_text.push_back(ConfirmBeforeSendInfo(nozzle_in_preset, ConfirmBeforeSendInfo::InfoLevel::Warning));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (has_slice_warnings) {
|
if (has_slice_warnings) {
|
||||||
wxString confirm_title = _L("Warning");
|
wxString confirm_title = _L("Warning");
|
||||||
|
|||||||
Reference in New Issue
Block a user