mirror of
https://git.mirrors.martin98.com/https://github.com/SoftFever/OrcaSlicer.git
synced 2025-08-15 12:45:54 +08:00
Fix a bug that overhang slowdown won't work when top z is 0 #1763
This commit is contained in:
parent
7b88104870
commit
333a5067ec
@ -322,29 +322,10 @@ static ExtrusionEntityCollection traverse_loops(const PerimeterGenerator &perime
|
|||||||
// outside the grown lower slices (thus where the distance between
|
// outside the grown lower slices (thus where the distance between
|
||||||
// the loop centerline and original lower slices is >= half nozzle diameter
|
// the loop centerline and original lower slices is >= half nozzle diameter
|
||||||
if (remain_polines.size() != 0) {
|
if (remain_polines.size() != 0) {
|
||||||
if (!((perimeter_generator.object_config->enable_support || perimeter_generator.object_config->enforce_support_layers > 0)
|
extrusion_paths_append(paths, std::move(remain_polines), overhang_sampling_number - 1, int(0),
|
||||||
&& perimeter_generator.object_config->support_top_z_distance.value == 0)) {
|
erOverhangPerimeter, perimeter_generator.mm3_per_mm_overhang(),
|
||||||
extrusion_paths_append(
|
|
||||||
paths,
|
|
||||||
std::move(remain_polines),
|
|
||||||
overhang_sampling_number - 1,
|
|
||||||
int(0),
|
|
||||||
erOverhangPerimeter,
|
|
||||||
perimeter_generator.mm3_per_mm_overhang(),
|
|
||||||
perimeter_generator.overhang_flow.width(),
|
perimeter_generator.overhang_flow.width(),
|
||||||
perimeter_generator.overhang_flow.height());
|
perimeter_generator.overhang_flow.height());
|
||||||
} else {
|
|
||||||
extrusion_paths_append(
|
|
||||||
paths,
|
|
||||||
std::move(remain_polines),
|
|
||||||
overhang_sampling_number - 1,
|
|
||||||
int(0),
|
|
||||||
role,
|
|
||||||
extrusion_mm3_per_mm,
|
|
||||||
extrusion_width,
|
|
||||||
(float)perimeter_generator.layer_height);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reapply the nearest point search for starting point.
|
// Reapply the nearest point search for starting point.
|
||||||
@ -595,9 +576,7 @@ static ExtrusionEntityCollection traverse_extrusions(const PerimeterGenerator& p
|
|||||||
|
|
||||||
ExtrusionPaths paths;
|
ExtrusionPaths paths;
|
||||||
// detect overhanging/bridging perimeters
|
// detect overhanging/bridging perimeters
|
||||||
if (perimeter_generator.config->detect_overhang_wall && perimeter_generator.layer_id > perimeter_generator.object_config->raft_layers
|
if (perimeter_generator.config->detect_overhang_wall && perimeter_generator.layer_id > perimeter_generator.object_config->raft_layers) {
|
||||||
&& !((perimeter_generator.object_config->enable_support || perimeter_generator.object_config->enforce_support_layers > 0) &&
|
|
||||||
perimeter_generator.object_config->support_top_z_distance.value == 0)) {
|
|
||||||
ClipperLib_Z::Path extrusion_path;
|
ClipperLib_Z::Path extrusion_path;
|
||||||
extrusion_path.reserve(extrusion->size());
|
extrusion_path.reserve(extrusion->size());
|
||||||
BoundingBox extrusion_path_bbox;
|
BoundingBox extrusion_path_bbox;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user