Make new overhang slowdonw(PrusaSlicer's slowdown) default again.

And tweak it
This commit is contained in:
SoftFever 2023-08-22 18:33:43 +08:00
parent 44a013a5a7
commit 95762fabee
5 changed files with 10 additions and 36 deletions

View file

@ -23,6 +23,8 @@
#include <cstdlib>
#include <chrono>
#include <math.h>
#include <stdlib.h>
#include <string>
#include <utility>
#include <string_view>
@ -4354,6 +4356,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description,
for (size_t i = 1; i < new_points.size(); i++) {
const ProcessedPoint &processed_point = new_points[i];
const ProcessedPoint &pre_processed_point = new_points[i-1];
Vec2d p = this->point_to_gcode_quantized(processed_point.p);
if (m_enable_cooling_markers) {
if (enable_overhang_bridge_fan) {
@ -4387,7 +4390,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description,
}
const double line_length = (p - prev).norm();
double new_speed = std::max((float)EXTRUDER_CONFIG(slow_down_min_speed), processed_point.speed) * 60.0;
double new_speed = std::max((float)EXTRUDER_CONFIG(slow_down_min_speed), pre_processed_point.speed) * 60.0;
if (last_set_speed != new_speed) {
gcode += m_writer.set_speed(new_speed, "", comment);
last_set_speed = new_speed;

View file

@ -1,6 +1,8 @@
#ifndef slic3r_ExtrusionProcessor_hpp_
#define slic3r_ExtrusionProcessor_hpp_
// This algorithm is copied from PrusaSlicer, original author is Pavel Mikus(pavel.mikus.mail@seznam.cz)
#include "../AABBTreeLines.hpp"
//#include "../SupportSpotsGenerator.hpp"
#include "../libslic3r.h"
@ -68,7 +70,7 @@ public:
class CurvatureEstimator
{
static const size_t sliders_count = 3;
SlidingWindowCurvatureAccumulator sliders[sliders_count] = {{1.0},{4.0}, {10.0}};
SlidingWindowCurvatureAccumulator sliders[sliders_count] = {{3.0},{9.0}, {16.0}};
public:
void add_point(float distance, float angle)

View file

@ -609,7 +609,7 @@ static ExtrusionEntityCollection traverse_extrusions(const PerimeterGenerator& p
extrusion_paths_append(temp_paths, clip_extrusion(extrusion_path, lower_slices_paths, ClipperLib_Z::ctIntersection), role,
is_external ? perimeter_generator.ext_perimeter_flow : perimeter_generator.perimeter_flow);
if (perimeter_generator.config->enable_overhang_speed && perimeter_generator.config->fuzzy_skin == FuzzySkinType::None) {
if (perimeter_generator.config->overhang_speed_classic && perimeter_generator.config->enable_overhang_speed && perimeter_generator.config->fuzzy_skin == FuzzySkinType::None) {
Flow flow = is_external ? perimeter_generator.ext_perimeter_flow : perimeter_generator.perimeter_flow;
std::map<double, std::vector<Polygons>> clipper_serise;

View file

@ -783,7 +783,7 @@ void PrintConfigDef::init_fff_params()
def->category = L("Speed");
def->tooltip = L("Enable this option to use classic mode");
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool{ true });
def->set_default_value(new ConfigOptionBool{ false });
def = this->add("enable_overhang_speed", coBool);
def->label = L("Slow down for overhang");
@ -4607,7 +4607,7 @@ void PrintConfigDef::handle_legacy(t_config_option_key &opt_key, std::string &va
"remove_freq_sweep", "remove_bed_leveling", "remove_extrusion_calibration",
"support_transition_line_width", "support_transition_speed", "bed_temperature", "bed_temperature_initial_layer",
"can_switch_nozzle_type", "can_add_auxiliary_fan", "extra_flush_volume", "spaghetti_detector", "adaptive_layer_height",
"z_hop_type", "z_lift_type"/*, "overhang_speed_classic"*/
"z_hop_type", "z_lift_type"
};
if (ignore.find(opt_key) != ignore.end()) {