mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-12-28 02:10:30 -07:00
FIX: flush_volume_matrix and flush_multiplier is incorrect
jira: none Change-Id: Ie2d73b90b9ac7f5a6945b2bac859b76d2132f55a (cherry picked from commit b17c5e7e017a3019224bf105758ef23658308254)
This commit is contained in:
parent
291225ae35
commit
b553cf68da
2 changed files with 10 additions and 7 deletions
|
|
@ -3373,9 +3373,14 @@ void PresetBundle::update_multi_material_filament_presets(size_t to_delete_filam
|
|||
|
||||
// Now verify if flush_volumes_matrix has proper size (it is used to deduce number of extruders in wipe tower generator):
|
||||
std::vector<double> old_matrix = this->project_config.option<ConfigOptionFloats>("flush_volumes_matrix")->values;
|
||||
|
||||
size_t old_nozzle_nums = this->project_config.option<ConfigOptionFloats>("flush_multiplier")->values.size();
|
||||
size_t old_number_of_filaments = size_t(sqrt(old_matrix.size() / old_nozzle_nums) + EPSILON);
|
||||
size_t nozzle_nums = get_printer_extruder_count();
|
||||
size_t old_number_of_filaments = size_t(sqrt(old_matrix.size() / nozzle_nums) + EPSILON);
|
||||
if (old_nozzle_nums != nozzle_nums) {
|
||||
std::vector<double>& f_multiplier = this->project_config.option<ConfigOptionFloats>("flush_multiplier")->values;
|
||||
f_multiplier.resize(nozzle_nums, 1.f);
|
||||
}
|
||||
|
||||
if (num_filaments != old_number_of_filaments) {
|
||||
// First verify if purging volumes presets for each extruder matches number of extruders
|
||||
std::vector<double>& filaments = this->project_config.option<ConfigOptionFloats>("flush_volumes_vector")->values;
|
||||
|
|
|
|||
|
|
@ -1140,11 +1140,9 @@ Sidebar::Sidebar(Plater *parent)
|
|||
ConfigOptionFloats *flush_multi_opt = project_config.option<ConfigOptionFloats>("flush_multiplier");
|
||||
if (flush_multi_opt)
|
||||
flush_multiplier = cast<float>(flush_multi_opt->values);
|
||||
else {
|
||||
for (size_t nozzle_id = 0; nozzle_id < nozzle_nums; ++nozzle_id) {
|
||||
flush_multiplier.push_back(1.f);
|
||||
}
|
||||
}
|
||||
|
||||
flush_multiplier.resize(nozzle_nums, 1.0f);
|
||||
|
||||
WipingDialog dlg(parent, cast<float>(init_matrix), cast<float>(init_extruders), extruder_colours, extra_flush_volumes, flush_multiplier, nozzle_nums);
|
||||
if (dlg.ShowModal() == wxID_OK) {
|
||||
std::vector<float> matrix = dlg.get_matrix();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue