Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorAlessandro Ranellucci <aar@cpan.org>2012-05-01 02:30:46 +0400
committerAlessandro Ranellucci <aar@cpan.org>2012-05-01 02:30:46 +0400
commit61e257388a00a6fc650476bd46e606560a624f59 (patch)
tree494eb65fe82395f1b6744a5964e883571f527563 /utils
parent91d1b21c4050be3d65ec60d42bd0c00d9a691715 (diff)
Button to split loaded objects
Diffstat (limited to 'utils')
-rwxr-xr-xutils/split_stl.pl22
1 files changed, 1 insertions, 21 deletions
diff --git a/utils/split_stl.pl b/utils/split_stl.pl
index 12fcd1af0..af9890116 100755
--- a/utils/split_stl.pl
+++ b/utils/split_stl.pl
@@ -29,30 +29,10 @@ my %opt = ();
my $basename = $ARGV[0];
$basename =~ s/\.stl$//i;
- # loop while we have remaining facets
my $part_count = 0;
- while (1) {
- # get the first facet
- my @facet_queue = ();
- my @facets = ();
- for (my $i = 0; $i <= $#{$mesh->facets}; $i++) {
- if (defined $mesh->facets->[$i]) {
- push @facet_queue, $i;
- last;
- }
- }
- last if !@facet_queue;
-
- while (defined (my $facet_id = shift @facet_queue)) {
- next unless defined $mesh->facets->[$facet_id];
- push @facets, $mesh->facets->[$facet_id];
- push @facet_queue, $mesh->get_connected_facets($facet_id);
- $mesh->facets->[$facet_id] = undef;
- }
-
+ foreach my $new_mesh ($mesh->split_mesh) {
my $output_file = sprintf '%s_%02d.stl', $basename, ++$part_count;
printf "Writing to %s\n", basename($output_file);
- my $new_mesh = Slic3r::TriangleMesh->new(facets => \@facets, vertices => $mesh->vertices);
Slic3r::Format::STL->write_file($output_file, $new_mesh, !$opt{ascii});
}
}