Bugfix: some nearly-thin walls were discarded. #261
This commit is contained in:
parent
edbdc5ec55
commit
8ba6405cc9
2 changed files with 6 additions and 5 deletions
|
@ -215,8 +215,6 @@ sub medial_axis {
|
||||||
}
|
}
|
||||||
return undef if !@skeleton_lines;
|
return undef if !@skeleton_lines;
|
||||||
|
|
||||||
return undef if !@skeleton_lines;
|
|
||||||
|
|
||||||
# now build a single polyline
|
# now build a single polyline
|
||||||
my $polyline = [];
|
my $polyline = [];
|
||||||
{
|
{
|
||||||
|
|
|
@ -132,11 +132,14 @@ sub is_printable {
|
||||||
|
|
||||||
# try to get an inwards offset
|
# try to get an inwards offset
|
||||||
# for a distance equal to half of the extrusion width;
|
# for a distance equal to half of the extrusion width;
|
||||||
# if no offset is possible, then polyline is not printable
|
# if no offset is possible, then polyline is not printable.
|
||||||
|
# we use flow_width here because this has to be consistent
|
||||||
|
# with the thin wall detection in Layer->make_surfaces,
|
||||||
|
# otherwise we could lose surfaces as that logic wouldn't
|
||||||
|
# detect them and we would be discarding them.
|
||||||
my $p = $self->clone;
|
my $p = $self->clone;
|
||||||
$p->make_counter_clockwise;
|
$p->make_counter_clockwise;
|
||||||
my $offsets = Math::Clipper::offset([$p], -(scale $Slic3r::flow_spacing / 2), $Slic3r::scaling_factor * 100000, JT_MITER, 2);
|
return $p->offset(scale $Slic3r::flow_width / 2) ? 1 : 0;
|
||||||
return @$offsets ? 1 : 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub is_valid {
|
sub is_valid {
|
||||||
|
|
Loading…
Add table
Reference in a new issue