mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-12-11 16:00:17 -07:00
New --perimeter-feed-rate and --retract-before-travel options. Includes some refactoring and fixes.
This commit is contained in:
parent
55f2247cd9
commit
21d287504c
6 changed files with 97 additions and 44 deletions
|
|
@ -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 };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue