mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-18 02:25:53 +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;
|
else angle = PI - angle;
|
||||||
int idx_angle = int(180 * angle / PI);
|
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
|
// 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!
|
//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;
|
if (idx_angle > 144) angle = 144;
|
||||||
//surface extruded in path.width is path.width * path.width
|
//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 mult2 = 1 - coeff;
|
||||||
double sum = 0;
|
double sum = 0;
|
||||||
//Create a point
|
//Create a point
|
||||||
Point inter_point1 = line.point_at(length1);
|
Point inter_point1 = line.point_at(scale_(length1));
|
||||||
//extrude very reduced
|
//extrude very reduced
|
||||||
gcode += m_writer.extrude_to_xy(
|
gcode += m_writer.extrude_to_xy(
|
||||||
this->point_to_gcode(inter_point1),
|
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;
|
sum += e_per_mm * (length1) * mult1;
|
||||||
|
|
||||||
if (line_length - length1 > length2) {
|
if (line_length - length1 > length2) {
|
||||||
Point inter_point2 = line.point_at(length2);
|
Point inter_point2 = line.point_at(scale_(length2));
|
||||||
//extrude reduced
|
//extrude reduced
|
||||||
gcode += m_writer.extrude_to_xy(
|
gcode += m_writer.extrude_to_xy(
|
||||||
this->point_to_gcode(inter_point2),
|
this->point_to_gcode(inter_point2),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user