Add ability to have cross-hatched rectilinear support material. #509
This commit is contained in:
parent
547dfb857d
commit
d3727a1699
2 changed files with 11 additions and 5 deletions
|
@ -558,8 +558,8 @@ our $Options = {
|
||||||
tooltip => 'Pattern used to generate support material.',
|
tooltip => 'Pattern used to generate support material.',
|
||||||
cli => 'support-material-pattern=s',
|
cli => 'support-material-pattern=s',
|
||||||
type => 'select',
|
type => 'select',
|
||||||
values => [qw(rectilinear honeycomb)],
|
values => [qw(rectilinear rectilinear-grid honeycomb)],
|
||||||
labels => [qw(rectilinear honeycomb)],
|
labels => ['rectilinear', 'rectilinear grid', 'honeycomb'],
|
||||||
default => 'rectilinear',
|
default => 'rectilinear',
|
||||||
},
|
},
|
||||||
'support_material_spacing' => {
|
'support_material_spacing' => {
|
||||||
|
|
|
@ -643,9 +643,15 @@ sub generate_support_material {
|
||||||
my @support_material_areas = map $_->offset_ex(- 0.5 * $flow->scaled_width),
|
my @support_material_areas = map $_->offset_ex(- 0.5 * $flow->scaled_width),
|
||||||
@{union_ex([ map $_->contour, map @$_, values %layers ])};
|
@{union_ex([ map $_->contour, map @$_, values %layers ])};
|
||||||
|
|
||||||
my $filler = Slic3r::Fill->filler($Slic3r::Config->support_material_pattern);
|
my $pattern = $Slic3r::Config->support_material_pattern;
|
||||||
$filler->angle($Slic3r::Config->support_material_angle);
|
my @angles = ($Slic3r::Config->support_material_angle);
|
||||||
{
|
if ($pattern eq 'rectilinear-grid') {
|
||||||
|
$pattern = 'rectilinear';
|
||||||
|
push @angles, $angles[0] + 90;
|
||||||
|
}
|
||||||
|
my $filler = Slic3r::Fill->filler($pattern);
|
||||||
|
foreach my $angle (@angles) {
|
||||||
|
$filler->angle($angle);
|
||||||
my @patterns = ();
|
my @patterns = ();
|
||||||
foreach my $expolygon (@support_material_areas) {
|
foreach my $expolygon (@support_material_areas) {
|
||||||
my @paths = $filler->fill_surface(
|
my @paths = $filler->fill_surface(
|
||||||
|
|
Loading…
Reference in a new issue