Avoid overextrusion when support material spacing is configured to < the extrusion spacing. #821
This commit is contained in:
parent
e7b307df02
commit
d6d96391a9
@ -514,6 +514,9 @@ sub generate_support_material {
|
|||||||
my $threshold_rad = deg2rad($Slic3r::Config->support_material_threshold + 1); # +1 makes the threshold inclusive
|
my $threshold_rad = deg2rad($Slic3r::Config->support_material_threshold + 1); # +1 makes the threshold inclusive
|
||||||
my $overhang_width = $threshold_rad == 0 ? undef : scale $Slic3r::Config->layer_height * ((cos $threshold_rad) / (sin $threshold_rad));
|
my $overhang_width = $threshold_rad == 0 ? undef : scale $Slic3r::Config->layer_height * ((cos $threshold_rad) / (sin $threshold_rad));
|
||||||
my $distance_from_object = 1.5 * $flow->scaled_width;
|
my $distance_from_object = 1.5 * $flow->scaled_width;
|
||||||
|
my $pattern_spacing = ($Slic3r::Config->support_material_spacing > $flow->spacing)
|
||||||
|
? $Slic3r::Config->support_material_spacing
|
||||||
|
: $flow->spacing;
|
||||||
|
|
||||||
# determine support regions in each layer (for upper layers)
|
# determine support regions in each layer (for upper layers)
|
||||||
Slic3r::debugf "Detecting regions\n";
|
Slic3r::debugf "Detecting regions\n";
|
||||||
@ -577,7 +580,7 @@ sub generate_support_material {
|
|||||||
foreach my $expolygon (@support_material_areas) {
|
foreach my $expolygon (@support_material_areas) {
|
||||||
my @paths = $filler->fill_surface(
|
my @paths = $filler->fill_surface(
|
||||||
Slic3r::Surface->new(expolygon => $expolygon),
|
Slic3r::Surface->new(expolygon => $expolygon),
|
||||||
density => $flow->spacing / $Slic3r::Config->support_material_spacing,
|
density => $flow->spacing / $pattern_spacing,
|
||||||
flow_spacing => $flow->spacing,
|
flow_spacing => $flow->spacing,
|
||||||
);
|
);
|
||||||
my $params = shift @paths;
|
my $params = shift @paths;
|
||||||
|
Loading…
Reference in New Issue
Block a user