Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

executable file 50 lines (38 sloc) 1.01 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
#!/usr/bin/perl
# This script converts an AMF file to STL

use strict;
use warnings;

BEGIN {
    use FindBin;
    use lib "$FindBin::Bin/../lib";
}

use File::Basename qw(basename);
use Getopt::Long qw(:config no_auto_abbrev);
use Slic3r;
$|++;

my %opt = ();
{
    my %options = (
        'help' => sub { usage() },
        'ascii' => \$opt{ascii},
    );
    GetOptions(%options) or usage(1);
    $ARGV[0] or usage(1);
}

{
    my $mesh = Slic3r::Format::AMF->read_file($ARGV[0]);
    my $output_file = $ARGV[0];
    $output_file =~ s/\.amf(?:\.xml)?$/\.stl/i;
    
    printf "Writing to %s\n", basename($output_file);
    Slic3r::Format::STL->write_file($output_file, $mesh, !$opt{ascii});
}


sub usage {
    my ($exit_code) = @_;
    
    print <<"EOF";
Usage: amf-to-stl.pl [ OPTIONS ] file.amf

--help Output this usage screen and exit
--ascii Generate ASCII STL files (default: binary)
EOF
    exit ($exit_code || 0);
}

__END__
Something went wrong with that request. Please try again.