mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-16 14:25:56 +08:00
#418 Cutting corners fixes
- inverted angle selection - forgot to scale_() the distance
This commit is contained in:
parent
d078b632f2
commit
89f6995e74
@ -3905,7 +3905,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, const std::string &descri
|
||||
else angle = PI - angle;
|
||||
int idx_angle = int(180 * angle / PI);
|
||||
// the coeff is below 0.01 i the angle is higher than 125, so it's not useful
|
||||
if (idx_angle < 60) {
|
||||
if (idx_angle > 60) {
|
||||
//don't compensate if the angle is under 35, as it's already a 50% compensation, it's enough!
|
||||
if (idx_angle > 144) angle = 144;
|
||||
//surface extruded in path.width is path.width * path.width
|
||||
@ -3928,7 +3928,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, const std::string &descri
|
||||
double mult2 = 1 - coeff;
|
||||
double sum = 0;
|
||||
//Create a point
|
||||
Point inter_point1 = line.point_at(length1);
|
||||
Point inter_point1 = line.point_at(scale_(length1));
|
||||
//extrude very reduced
|
||||
gcode += m_writer.extrude_to_xy(
|
||||
this->point_to_gcode(inter_point1),
|
||||
@ -3937,7 +3937,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, const std::string &descri
|
||||
sum += e_per_mm * (length1) * mult1;
|
||||
|
||||
if (line_length - length1 > length2) {
|
||||
Point inter_point2 = line.point_at(length2);
|
||||
Point inter_point2 = line.point_at(scale_(length2));
|
||||
//extrude reduced
|
||||
gcode += m_writer.extrude_to_xy(
|
||||
this->point_to_gcode(inter_point2),
|
||||
|
Loading…
x
Reference in New Issue
Block a user