mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-08-08 06:24:01 -06:00
Always use a rectangle with semicircles as extrudate shape
This commit is contained in:
parent
a654722f18
commit
c4d70bcb85
3 changed files with 14 additions and 37 deletions
3
t/fill.t
3
t/fill.t
|
@ -275,6 +275,7 @@ for my $pattern (qw(rectilinear honeycomb hilbertcurve concentric)) {
|
|||
$config->set('nozzle_diameter', [0.35]);
|
||||
$config->set('infill_extruder', 2);
|
||||
$config->set('infill_extrusion_width', 0.52);
|
||||
$config->set('solid_infill_extrusion_width', 0.52);
|
||||
$config->set('first_layer_extrusion_width', 0);
|
||||
|
||||
my $print = Slic3r::Test::init_print('A', config => $config);
|
||||
|
@ -299,7 +300,7 @@ for my $pattern (qw(rectilinear honeycomb hilbertcurve concentric)) {
|
|||
my $grow_d = scale($config->infill_extrusion_width)/2;
|
||||
my $layer0_infill = union([ map @{$_->grow($grow_d)}, @{ $infill{0.2} } ]);
|
||||
my $layer1_infill = union([ map @{$_->grow($grow_d)}, @{ $infill{0.4} } ]);
|
||||
my $diff = [ grep $_->area >= 4*($grow_d**2), @{diff_ex($layer0_infill, $layer1_infill)} ];
|
||||
my $diff = [ grep { $_->area > 2*(($grow_d*2)**2) } @{diff_ex($layer0_infill, $layer1_infill)} ];
|
||||
is scalar(@$diff), 0, 'no missing parts in solid shell when fill_density is 0';
|
||||
}
|
||||
|
||||
|
|
|
@ -186,12 +186,13 @@ use Slic3r::Test;
|
|||
|
||||
# compute the covered area
|
||||
my $pflow = $layerm->flow(FLOW_ROLE_PERIMETER);
|
||||
my $iflow = $layerm->flow(FLOW_ROLE_INFILL);
|
||||
my $covered_by_perimeters = union_ex([
|
||||
(map @{$_->polygon->split_at_first_point->grow($pflow->scaled_width/2)}, @{$layerm->perimeters}),
|
||||
]);
|
||||
my $covered_by_infill = union_ex([
|
||||
(map $_->p, @{$layerm->fill_surfaces}),
|
||||
(map @{$_->polyline->grow($pflow->scaled_width/2)}, @{$layerm->thin_fills}),
|
||||
(map @{$_->polyline->grow($iflow->scaled_width/2)}, @{$layerm->thin_fills}),
|
||||
]);
|
||||
|
||||
# compute the non covered area
|
||||
|
@ -211,7 +212,7 @@ use Slic3r::Test;
|
|||
);
|
||||
}
|
||||
|
||||
ok !(defined first { $_->area > ($pflow->scaled_width**2) } @$non_covered), 'no gap between perimeters and infill';
|
||||
ok !(defined first { $_->area > ($iflow->scaled_width**2) } @$non_covered), 'no gap between perimeters and infill';
|
||||
}
|
||||
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue