Handle empty STL files gracefully instead of crashing. #2557

This commit is contained in:
Alessandro Ranellucci 2015-01-18 12:12:10 +01:00
parent 4696b46475
commit f11196525b
2 changed files with 6 additions and 0 deletions

View File

@ -14,6 +14,9 @@ sub read_file {
$mesh->ReadSTLFile($path); $mesh->ReadSTLFile($path);
$mesh->repair; $mesh->repair;
die "This STL file couldn't be read because it's empty.\n"
if $mesh->facets_count == 0;
my $model = Slic3r::Model->new; my $model = Slic3r::Model->new;
my $basename = basename($file); my $basename = basename($file);

View File

@ -12,6 +12,9 @@ sub read_from_file {
: $input_file =~ /\.amf(\.xml)?$/i ? Slic3r::Format::AMF->read_file($input_file) : $input_file =~ /\.amf(\.xml)?$/i ? Slic3r::Format::AMF->read_file($input_file)
: die "Input file must have .stl, .obj or .amf(.xml) extension\n"; : die "Input file must have .stl, .obj or .amf(.xml) extension\n";
die "The supplied file couldn't be read because it's empty.\n"
if $model->objects_count == 0;
$_->set_input_file($input_file) for @{$model->objects}; $_->set_input_file($input_file) for @{$model->objects};
return $model; return $model;
} }