FIX: auto-arrange reads wrongs first_bed_temp

Also change words for extruder clearance parameters.

Change-Id: I736fd9049d184c140b33078d78f764b4fe172765
(cherry picked from commit e70c0c0ea133cffa5788efbfc9633332b196e8df)
This commit is contained in:
Arthur 2022-10-28 17:57:19 +08:00 committed by Lane.Wei
parent d3e7989119
commit 8dd401d35f
5 changed files with 33 additions and 21 deletions

View file

@ -404,8 +404,8 @@ protected:
hasLidHeightConflict |= (p.height > clearance_height_to_lid);
}
double lambda3 = LARGE_COST_TO_REJECT;
double lambda4 = LARGE_COST_TO_REJECT;
double lambda3 = LARGE_COST_TO_REJECT*1.1;
double lambda4 = LARGE_COST_TO_REJECT*1.2;
for (int i = 0; i < m_items.size(); i++) {
Item& p = m_items[i];
if (p.is_virt_object) continue;
@ -556,12 +556,11 @@ public:
}
});
//if (progressind) {
// m_pck.unfitIndicator([this, progressind](std::string name) {
// progressind(100, name+" not fit!");
// BOOST_LOG_TRIVIAL(debug) << "arrange not fit: " + name;
// });
//}
if (progressind) {
m_pck.unfitIndicator([this, progressind](std::string name) {
BOOST_LOG_TRIVIAL(debug) << "arrange not fit: " + name;
});
}
if (stopcond) m_pck.stopCondition(stopcond);

View file

@ -127,11 +127,11 @@ ArrangePolygon get_instance_arrange_poly(ModelInstance* instance, const Slic3r::
const ConfigOptionInts* bed_opt = config.option<ConfigOptionInts>(get_bed_temp_key(curr_bed_type));
if (bed_opt != nullptr)
ap.bed_temp = bed_opt->get_at(ap.extrude_ids.back());
ap.bed_temp = bed_opt->get_at(ap.extrude_ids.back()-1);
const ConfigOptionInts* bed_opt_1st_layer = config.option<ConfigOptionInts>(get_bed_temp_1st_layer_key(curr_bed_type));
if (bed_opt_1st_layer != nullptr)
ap.first_bed_temp = bed_opt_1st_layer->get_at(ap.extrude_ids.back());
ap.first_bed_temp = bed_opt_1st_layer->get_at(ap.extrude_ids.back()-1);
}
if (config.has("nozzle_temperature")) //get the print temperature

View file

@ -968,7 +968,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("extruder_clearance_height_to_rod", coFloat);
def->label = L("Height to rod");
def->tooltip = L("Distance of the nozzle tip to the lower rod. "
"Used as input of auto-arranging to avoid collision when printing by object");
"Used for collision avoidance in by-object printing.");
def->sidetext = L("mm");
def->min = 0;
def->mode = comAdvanced;
@ -978,7 +978,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("extruder_clearance_height_to_lid", coFloat);
def->label = L("Height to lid");
def->tooltip = L("Distance of the nozzle tip to the lid. "
"Used as input of auto-arranging to avoid collision when printing by object");
"Used for collision avoidance in by-object printing.");
def->sidetext = L("mm");
def->min = 0;
def->mode = comAdvanced;
@ -986,7 +986,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("extruder_clearance_radius", coFloat);
def->label = L("Radius");
def->tooltip = L("Clearance radius around extruder. Used as input of auto-arranging to avoid collision when printing by object");
def->tooltip = L("Clearance radius around extruder. Used for collision avoidance in by-object printing.");
def->sidetext = L("mm");
def->min = 0;
def->mode = comAdvanced;
@ -994,7 +994,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("extruder_clearance_max_radius", coFloat);
def->label = L("Max Radius");
def->tooltip = L("Max clearance radius around extruder. Used as input of auto-arranging to avoid collision when printing by object");
def->tooltip = L("Max clearance radius around extruder. Used for collision avoidance in by-object printing.");
def->sidetext = L("mm");
def->min = 0;
def->mode = comAdvanced;