diff --git a/lib/Slic3r/Format/STL.pm b/lib/Slic3r/Format/STL.pm index 8ebc56787a..d53a61ad36 100644 --- a/lib/Slic3r/Format/STL.pm +++ b/lib/Slic3r/Format/STL.pm @@ -7,8 +7,11 @@ sub read_file { my $self = shift; my ($file) = @_; + my $path = Slic3r::encode_path($file); + die "Failed to open $file\n" if !-e $path; + my $mesh = Slic3r::TriangleMesh->new; - $mesh->ReadSTLFile(Slic3r::encode_path($file)); + $mesh->ReadSTLFile($path); $mesh->repair; my $model = Slic3r::Model->new; diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index 6cfc548565..bc13ed44b3 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -382,10 +382,12 @@ sub load_file { my $model = eval { Slic3r::Model->read_from_file($input_file) }; Slic3r::GUI::show_error($self, $@) if $@; - $self->load_model_objects(@{$model->objects}); + if (defined $model) { + $self->load_model_objects(@{$model->objects}); + $self->statusbar->SetStatusText("Loaded " . basename($input_file)); + } $process_dialog->Destroy; - $self->statusbar->SetStatusText("Loaded " . basename($input_file)); } sub load_model_objects {