Overhang tweaks:

1. Revert back to classic overhang
2. Support percent for overhang speed
This commit is contained in:
SoftFever 2023-07-28 00:19:08 +08:00
parent be54f6bc99
commit 0657ad9e58
3 changed files with 31 additions and 23 deletions

View file

@ -2959,11 +2959,13 @@ GCode::LayerResult GCode::process_layer(
Skirt::make_skirt_loops_per_extruder_1st_layer(print, layer_tools, m_skirt_done) :
Skirt::make_skirt_loops_per_extruder_other_layers(print, layer_tools, m_skirt_done);
for (const auto& layer_to_print : layers) {
m_extrusion_quality_estimator.prepare_for_new_layer(layer_to_print.original_object, layer_to_print.object_layer);
if (m_config.enable_overhang_speed && !m_config.overhang_speed_classic) {
for (const auto &layer_to_print : layers) {
m_extrusion_quality_estimator.prepare_for_new_layer(layer_to_print.original_object,
layer_to_print.object_layer);
}
}
// Group extrusions by an extruder, then by an object, an island and a region.
std::map<unsigned int, std::vector<ObjectByExtruder>> by_extruder;
bool is_anything_overridden = const_cast<LayerTools&>(layer_tools).wiping_extrusions().is_anything_overridden();
@ -3275,7 +3277,9 @@ GCode::LayerResult GCode::process_layer(
// ref to: https://github.com/SoftFever/OrcaSlicer/pull/205/commits/7f1fe0bd544077626080aa1a9a0576aa735da1a4#r1083470162
if (reset_e && !m_config.use_relative_e_distances)
gcode += m_writer.reset_e(true);
m_extrusion_quality_estimator.set_current_object(&instance_to_print.print_object);
if (m_config.enable_overhang_speed && !m_config.overhang_speed_classic)
m_extrusion_quality_estimator.set_current_object(&instance_to_print.print_object);
// When starting a new object, use the external motion planner for the first travel move.
const Point &offset = inst.shift;