Don't adjust width of infill. It produces dangerously wide fills.
If the infill flow adjustment is enabled, report cases, where the infill flow grows over the limits. Make the internal bridging infill 50% sparse.
This commit is contained in:
parent
6950ce3bcf
commit
8f04f5d5f6
@ -229,10 +229,15 @@ sub make_fill {
|
|||||||
);
|
);
|
||||||
$f->spacing($internal_flow->spacing);
|
$f->spacing($internal_flow->spacing);
|
||||||
$using_internal_flow = 1;
|
$using_internal_flow = 1;
|
||||||
|
} elsif ($surface->surface_type == S_TYPE_INTERNALBRIDGE) {
|
||||||
|
# The internal bridging layer will be sparse.
|
||||||
|
$f->spacing($flow->spacing * 2.);
|
||||||
} else {
|
} else {
|
||||||
$f->spacing($flow->spacing);
|
$f->spacing($flow->spacing);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $old_spacing = $f->spacing;
|
||||||
|
|
||||||
$f->layer_id($layerm->layer->id);
|
$f->layer_id($layerm->layer->id);
|
||||||
$f->z($layerm->layer->print_z);
|
$f->z($layerm->layer->print_z);
|
||||||
$f->angle(deg2rad($layerm->region->config->fill_angle));
|
$f->angle(deg2rad($layerm->region->config->fill_angle));
|
||||||
@ -243,6 +248,7 @@ sub make_fill {
|
|||||||
$_,
|
$_,
|
||||||
density => $density/100,
|
density => $density/100,
|
||||||
layer_height => $h,
|
layer_height => $h,
|
||||||
|
dont_adjust => 1,
|
||||||
), @{ $surface->offset(-scale($f->spacing)/2) };
|
), @{ $surface->offset(-scale($f->spacing)/2) };
|
||||||
|
|
||||||
next unless @polylines;
|
next unless @polylines;
|
||||||
@ -254,6 +260,9 @@ sub make_fill {
|
|||||||
# so we can safely ignore the slight variation that might have
|
# so we can safely ignore the slight variation that might have
|
||||||
# been applied to $f->flow_spacing
|
# been applied to $f->flow_spacing
|
||||||
} else {
|
} else {
|
||||||
|
if (abs($old_spacing - $f->spacing) > 0.3 * $old_spacing) {
|
||||||
|
print "Infill: Extreme spacing adjustment, from: ", $old_spacing, " to: ", $f->spacing, "\n";
|
||||||
|
}
|
||||||
$flow = Slic3r::Flow->new_from_spacing(
|
$flow = Slic3r::Flow->new_from_spacing(
|
||||||
spacing => $f->spacing,
|
spacing => $f->spacing,
|
||||||
nozzle_diameter => $flow->nozzle_diameter,
|
nozzle_diameter => $flow->nozzle_diameter,
|
||||||
|
@ -31,11 +31,15 @@ sub fill_surface {
|
|||||||
|
|
||||||
# define flow spacing according to requested density
|
# define flow spacing according to requested density
|
||||||
if ($params{density} == 1 && !$params{dont_adjust}) {
|
if ($params{density} == 1 && !$params{dont_adjust}) {
|
||||||
|
my $old_spacing = $self->spacing;
|
||||||
$self->_line_spacing($self->adjust_solid_spacing(
|
$self->_line_spacing($self->adjust_solid_spacing(
|
||||||
width => $bounding_box->size->x,
|
width => $bounding_box->size->x,
|
||||||
distance => $self->_line_spacing,
|
distance => $self->_line_spacing,
|
||||||
));
|
));
|
||||||
$self->spacing(unscale $self->_line_spacing);
|
$self->spacing(unscale $self->_line_spacing);
|
||||||
|
if (abs($old_spacing - $self->spacing) > 0.3 * $old_spacing) {
|
||||||
|
print "Infill2: Extreme spacing adjustment, from: ", $old_spacing, " to: ", $self->spacing, "\n";
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
# extend bounding box so that our pattern will be aligned with other layers
|
# extend bounding box so that our pattern will be aligned with other layers
|
||||||
$bounding_box->merge_point(Slic3r::Point->new(
|
$bounding_box->merge_point(Slic3r::Point->new(
|
||||||
|
Loading…
Reference in New Issue
Block a user