New --perimeter-feed-rate and --retract-before-travel options. Includes some refactoring and fixes.

This commit is contained in:
Alessandro Ranellucci 2011-10-02 09:57:37 +02:00
parent 55f2247cd9
commit 21d287504c
6 changed files with 97 additions and 44 deletions

View file

@ -26,6 +26,32 @@ has 'layers' => (
default => sub { [] },
);
sub new_from_stl {
my $self = shift;
my ($stl_file) = @_;
my $print = Slic3r::STL->new->parse_file($stl_file);
print "\n==> PROCESSING SLICES:\n";
foreach my $layer (@{ $print->layers }) {
printf "\nProcessing layer %d:\n", $layer->id;
# build polylines of lines which do not already belong to a surface
my $polylines = $layer->make_polylines;
# build surfaces of polylines (distinguishing contours from holes)
$layer->make_surfaces($polylines);
# merge surfaces having a common line
$layer->merge_contiguous_surfaces;
}
# detect which surfaces are near external layers
$print->discover_horizontal_shells;
return $print;
}
sub layer_count {
my $self = shift;
return scalar @{ $self->layers };