Fixed bug in speed calculation and tweaked parameters for high speed printer

Fixed bug in speed calculation and tweaked parameters for high speed printer
This commit is contained in:
igiannakas 2023-09-11 19:01:48 +01:00
parent 29713c6667
commit 95a41a689f
2 changed files with 5 additions and 9 deletions

View file

@ -371,16 +371,12 @@ public:
return final_speed; return final_speed;
}; };
float old_extrusion_speed = std::min(calculate_speed(curr.distance), calculate_speed(next.distance)); float extrusion_speed = std::min(calculate_speed(curr.distance), calculate_speed(next.distance));
float extrusion_speed = std::min(calculate_speed(curr.distance+artificial_distance_to_curled_lines), calculate_speed(next.distance+artificial_distance_to_curled_lines)); float curled_speed = calculate_speed(artificial_distance_to_curled_lines);
extrusion_speed = std::min(curled_speed, extrusion_speed); // adjust extrusion speed based on what is smallest - the calculated overhang speed or the artificial curled speed
float overlap = std::min(1 - curr.distance * width_inv, 1 - next.distance * width_inv); float overlap = std::min(1 - curr.distance * width_inv, 1 - next.distance * width_inv);
/*printf("artificial_distance_to_curled_lines %f, curr.distance %f, next.distance %f, calculate_speed(curr.distance)%f,calculate_speed(next.distance) %f, new A%f, new B%f \n",artificial_distance_to_curled_lines, curr.distance,next.distance, calculate_speed(curr.distance),calculate_speed(next.distance),
calculate_speed(curr.distance+artificial_distance_to_curled_lines), calculate_speed(next.distance+artificial_distance_to_curled_lines) );*/
//if(artificial_distance_to_curled_lines>0 ) {printf("Found curls. Artificial distance: %f\n",artificial_distance_to_curled_lines ); /*extrusion_speed=500;*/}// Temporary debug messages
//if(old_extrusion_speed>extrusion_speed ) printf("Reduced speed. Original: %f, New: %f\n",old_extrusion_speed,extrusion_speed); // Temporary debug messages
processed_points.push_back({ scaled(curr.position), extrusion_speed, overlap }); processed_points.push_back({ scaled(curr.position), extrusion_speed, overlap });
} }
return processed_points; return processed_points;

View file

@ -43,7 +43,7 @@ struct Params
BrimType brim_type; BrimType brim_type;
const float brim_width; const float brim_width;
const std::pair<float,float> malformation_distance_factors = std::pair<float, float> { 0.2, 1.1 }; const std::pair<float,float> malformation_distance_factors = std::pair<float, float> { 0.35, 0.7 };
const float max_curled_height_factor = 10.0f; const float max_curled_height_factor = 10.0f;
const float curling_tolerance_limit = 0.1f; const float curling_tolerance_limit = 0.1f;