dump-stl.pl 624 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/perl
  2. # This script dumps a STL file into Perl syntax for writing tests
  3. use strict;
  4. use warnings;
  5. BEGIN {
  6. use FindBin;
  7. use lib "$FindBin::Bin/../lib";
  8. }
  9. use Slic3r;
  10. $|++;
  11. $ARGV[0] or usage(1);
  12. {
  13. my $model = Slic3r::Format::STL->read_file($ARGV[0]);
  14. my $mesh = $model->mesh;
  15. printf "VERTICES = %s\n", join ',', map "[$_->[0],$_->[1],$_->[2]]", @{$mesh->vertices};
  16. printf "FACETS = %s\n", join ',', map "[$_->[0],$_->[1],$_->[2]]", @{$mesh->facets};
  17. }
  18. sub usage {
  19. my ($exit_code) = @_;
  20. print <<"EOF";
  21. Usage: dump-stl.pl file.stl
  22. EOF
  23. exit ($exit_code || 0);
  24. }
  25. __END__