Fix SPE-1642 - wrong flow used for spacing of internal bridging over infill, also caused error when using thin nozzle (0.1)

This commit is contained in:
PavelMikus 2023-04-06 11:24:26 +02:00
parent 5185e760ce
commit fe292cc45d

View file

@ -1770,7 +1770,7 @@ void PrintObject::bridge_over_infill()
if (clustered_layers_for_threads.empty() || if (clustered_layers_for_threads.empty() ||
this->get_layer(clustered_layers_for_threads.back().back())->print_z < this->get_layer(clustered_layers_for_threads.back().back())->print_z <
this->get_layer(pair.first)->print_z - this->get_layer(pair.first)->print_z -
this->get_layer(pair.first)->regions()[0]->flow(frSolidInfill, true).height() * target_flow_height_factor - this->get_layer(pair.first)->regions()[0]->bridging_flow(frSolidInfill, true).height() * target_flow_height_factor -
EPSILON || EPSILON ||
intersection(layer_area_covered_by_candidates[clustered_layers_for_threads.back().back()], intersection(layer_area_covered_by_candidates[clustered_layers_for_threads.back().back()],
layer_area_covered_by_candidates[pair.first]) layer_area_covered_by_candidates[pair.first])
@ -2105,8 +2105,9 @@ void PrintObject::bridge_over_infill()
} }
// Gather deep infill areas, where thick bridges fit // Gather deep infill areas, where thick bridges fit
coordf_t spacing = surfaces_by_layer[lidx].front().region->flow(frSolidInfill, true).scaled_spacing(); coordf_t spacing = surfaces_by_layer[lidx].front().region->bridging_flow(frSolidInfill, true).scaled_spacing();
coordf_t target_flow_height = surfaces_by_layer[lidx].front().region->flow(frSolidInfill, true).height() * target_flow_height_factor; coordf_t target_flow_height = surfaces_by_layer[lidx].front().region->bridging_flow(frSolidInfill, true).height() *
target_flow_height_factor;
Polygons deep_infill_area = gather_areas_w_depth(po, lidx, target_flow_height); Polygons deep_infill_area = gather_areas_w_depth(po, lidx, target_flow_height);
{ {