Fix honeycomb infill overlap with perimeters
This commit is contained in:
parent
537fca47c5
commit
04c0caad0b
5 changed files with 13 additions and 19 deletions
|
@ -22,7 +22,6 @@ sub fill_surface {
|
|||
# infill math
|
||||
my $min_spacing = scale $params{flow_spacing};
|
||||
my $distance = $min_spacing / $params{density};
|
||||
my $overlap_distance = scale $params{flow_spacing} * &Slic3r::PERIMETER_INFILL_OVERLAP_OVER_SPACING;
|
||||
|
||||
my $cache_id = sprintf "d%s_s%s_a%s",
|
||||
$params{density}, $params{flow_spacing}, $rotate_vector->[0][0];
|
||||
|
@ -84,7 +83,7 @@ sub fill_surface {
|
|||
# path is more straight
|
||||
my @paths = map Slic3r::Polyline->new(@$_), map @$_, @{intersection_ex(
|
||||
$self->cache->{$cache_id},
|
||||
[ map @$_, $expolygon->offset_ex($overlap_distance) ],
|
||||
$expolygon,
|
||||
)};
|
||||
|
||||
return { flow_spacing => $params{flow_spacing} },
|
||||
|
|
|
@ -31,8 +31,6 @@ sub fill_surface {
|
|||
$flow_spacing = unscale $distance_between_lines;
|
||||
}
|
||||
|
||||
my $overlap_distance = scale $params{flow_spacing} * &Slic3r::PERIMETER_INFILL_OVERLAP_OVER_SPACING;
|
||||
|
||||
my $x = $bounding_box->[X1];
|
||||
my $is_line_pattern = $self->isa('Slic3r::Fill::Line');
|
||||
my @vertical_lines = ();
|
||||
|
@ -52,10 +50,6 @@ sub fill_surface {
|
|||
+($expolygon->offset_ex(scaled_epsilon))[0], # TODO: we should use all the resulting expolygons and clip the linestrings to a multipolygon object
|
||||
[ @vertical_lines ],
|
||||
) };
|
||||
for (@paths) {
|
||||
$_->[0][Y] += $overlap_distance;
|
||||
$_->[-1][Y] -= $overlap_distance;
|
||||
}
|
||||
|
||||
# connect lines
|
||||
unless ($params{dont_connect}) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue