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
diff options
context:
space:
mode:
authorAlessandro Ranellucci <aar@cpan.org>2013-07-26 21:25:15 +0400
committerAlessandro Ranellucci <aar@cpan.org>2013-07-26 21:25:15 +0400
commit0a8872ca6ccac7ce61be31b03b723a4dab8fa65d (patch)
treec1e34f4eaf66f5c5c6a2f402957530802c98b495
parentf69dc7201dd4eea85966c02cfcd7989bf6a351b3 (diff)
Extend utils/dump-stl.pl to also write STL files
-rw-r--r--lib/Slic3r/Test.pm2
-rw-r--r--utils/dump-stl.pl13
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/Slic3r/Test.pm b/lib/Slic3r/Test.pm
index dcb95d130..b7a1972fd 100644
--- a/lib/Slic3r/Test.pm
+++ b/lib/Slic3r/Test.pm
@@ -55,6 +55,8 @@ sub model {
$facets = [
[0,1,2],[2,3,4],[2,5,0],[4,6,2],[2,6,5],[2,1,3],[7,8,9],[10,9,8],[11,9,10],[12,9,11],[9,13,14],[7,15,16],[10,17,0],[10,0,5],[12,11,6],[18,16,0],[6,19,13],[6,13,9],[9,12,6],[17,18,0],[11,10,5],[11,5,6],[14,16,15],[17,7,18],[16,18,7],[14,15,9],[7,9,15],[7,17,8],[10,8,17],[20,21,22],[23,24,25],[26,23,27],[28,27,23],[29,28,23],[30,29,23],[25,31,32],[22,33,34],[35,36,37],[24,38,39],[21,40,41],[38,42,20],[33,43,44],[6,4,23],[6,23,25],[36,35,1],[1,0,38],[1,38,36],[29,30,4],[25,32,6],[40,42,0],[35,45,1],[4,3,28],[4,28,29],[3,1,45],[3,45,28],[22,34,19],[19,6,32],[19,32,22],[42,38,0],[30,23,4],[0,16,43],[0,43,40],[24,37,36],[38,24,36],[24,23,37],[37,23,26],[22,32,20],[20,32,31],[33,41,40],[43,33,40],[45,35,26],[37,26,35],[33,44,34],[44,43,46],[20,42,21],[40,21,42],[31,39,38],[20,31,38],[33,22,41],[21,41,22],[31,25,39],[24,39,25],[26,27,45],[28,45,27],[47,48,49],[47,50,48],[51,48,50],[52,48,51],[53,48,52],[54,55,56],[57,55,54],[58,55,57],[49,59,47],[60,56,55],[59,56,60],[60,47,59],[48,53,16],[56,13,19],[54,56,19],[56,59,13],[59,49,14],[59,14,13],[49,48,16],[49,16,14],[44,46,60],[44,60,55],[51,50,43],[19,34,58],[19,58,57],[53,52,16],[43,16,52],[43,52,51],[57,54,19],[47,60,46],[55,58,34],[55,34,44],[50,47,46],[50,46,43]
],
+ } else {
+ return undef;
}
my $mesh = Slic3r::TriangleMesh->new(
diff --git a/utils/dump-stl.pl b/utils/dump-stl.pl
index a5c716b83..86543832b 100644
--- a/utils/dump-stl.pl
+++ b/utils/dump-stl.pl
@@ -1,5 +1,6 @@
#!/usr/bin/perl
# This script dumps a STL file into Perl syntax for writing tests
+# or dumps a test model into a STL file
use strict;
use warnings;
@@ -10,15 +11,24 @@ BEGIN {
}
use Slic3r;
+use Slic3r::Test;
$|++;
$ARGV[0] or usage(1);
-{
+if (-e $ARGV[0]) {
my $model = Slic3r::Format::STL->read_file($ARGV[0]);
my $mesh = $model->mesh;
printf "VERTICES = %s\n", join ',', map "[$_->[0],$_->[1],$_->[2]]", @{$mesh->vertices};
printf "FACETS = %s\n", join ',', map "[$_->[0],$_->[1],$_->[2]]", @{$mesh->facets};
+ exit 0;
+} elsif ((my $model = Slic3r::Test::model($ARGV[0]))) {
+ $ARGV[1] or die "Missing writeable destination as second argument\n";
+ Slic3r::Format::STL->write_file($ARGV[1], $model);
+ printf "Model $ARGV[0] written to $ARGV[1]\n";
+ exit 0;
+} else {
+ die "No such model exists\n";
}
@@ -27,6 +37,7 @@ sub usage {
print <<"EOF";
Usage: dump-stl.pl file.stl
+ dump-stl.pl modelname file.stl
EOF
exit ($exit_code || 0);
}