From 61e257388a00a6fc650476bd46e606560a624f59 Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Tue, 1 May 2012 00:30:46 +0200 Subject: Button to split loaded objects --- utils/split_stl.pl | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) (limited to 'utils') 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}); } } -- cgit v1.2.3