diff --git a/src/libslic3r/VariableWidth.cpp b/src/libslic3r/VariableWidth.cpp index 6f7407d70..e01050e4a 100644 --- a/src/libslic3r/VariableWidth.cpp +++ b/src/libslic3r/VariableWidth.cpp @@ -123,11 +123,11 @@ static ExtrusionPaths thick_polyline_to_extrusion_paths_2(const ThickPolyline& t if (start_index != i){ path = ExtrusionPath(role); double length = lines[start_index].length(); - double sum = lines[start_index].length() * lines[start_index].a_width; + double sum = lines[start_index].length() * 0.5 * (lines[start_index].a_width + lines[start_index].b_width); path.polyline.append(lines[start_index].a); for (int idx = start_index + 1; idx < i; idx++) { length += lines[idx].length(); - sum += lines[idx].length() * lines[idx].a_width; + sum += lines[idx].length() * 0.5 * (lines[idx].a_width + lines[idx].b_width); path.polyline.append(lines[idx].a); } path.polyline.append(lines[i].a);