mirror of
https://git.mirrors.martin98.com/https://github.com/bambulab/BambuStudio.git
synced 2025-08-19 06:35:56 +08:00
FIX: flush_volume_matrix and flush_multiplier is incorrect
jira: none Change-Id: Ie2d73b90b9ac7f5a6945b2bac859b76d2132f55a
This commit is contained in:
parent
e6b14bdefb
commit
b17c5e7e01
@ -3805,9 +3805,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):
|
// 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;
|
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 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) {
|
if (num_filaments != old_number_of_filaments) {
|
||||||
// First verify if purging volumes presets for each extruder matches number of extruders
|
// 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;
|
std::vector<double>& filaments = this->project_config.option<ConfigOptionFloats>("flush_volumes_vector")->values;
|
||||||
|
@ -1120,11 +1120,9 @@ Sidebar::Sidebar(Plater *parent)
|
|||||||
ConfigOptionFloats *flush_multi_opt = project_config.option<ConfigOptionFloats>("flush_multiplier");
|
ConfigOptionFloats *flush_multi_opt = project_config.option<ConfigOptionFloats>("flush_multiplier");
|
||||||
if (flush_multi_opt)
|
if (flush_multi_opt)
|
||||||
flush_multiplier = cast<float>(flush_multi_opt->values);
|
flush_multiplier = cast<float>(flush_multi_opt->values);
|
||||||
else {
|
|
||||||
for (size_t nozzle_id = 0; nozzle_id < nozzle_nums; ++nozzle_id) {
|
flush_multiplier.resize(nozzle_nums, 1.0f);
|
||||||
flush_multiplier.push_back(1.f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
WipingDialog dlg(parent, cast<float>(init_matrix), cast<float>(init_extruders), extruder_colours, extra_flush_volumes, flush_multiplier, nozzle_nums);
|
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) {
|
if (dlg.ShowModal() == wxID_OK) {
|
||||||
std::vector<float> matrix = dlg.get_matrix();
|
std::vector<float> matrix = dlg.get_matrix();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user