diff options
author | Enrico Turri <enricoturri@seznam.cz> | 2018-02-13 17:19:55 +0300 |
---|---|---|
committer | Enrico Turri <enricoturri@seznam.cz> | 2018-02-13 17:19:55 +0300 |
commit | 8885f5e3447d83e333cf30185189befdee3e9f92 (patch) | |
tree | b79b277fa93291d2d6b81ed9b752e584cb3b3c10 /lib | |
parent | 33553e1c5092f1b0e4fe68b209895d498e91ed66 (diff) |
3mf import/export of config data
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Slic3r/GUI/Plater.pm | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index d9c586685..be94095c9 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -628,8 +628,19 @@ sub load_files { my $input_file = $input_files->[$i]; $process_dialog->Update(100. * $i / @$input_files, "Processing input file\n" . basename($input_file)); - my $model = eval { Slic3r::Model->read_from_file($input_file, 0) }; - Slic3r::GUI::show_error($self, $@) if $@; + my $model; + if ($input_file =~ /.3[mM][fF]$/) + { + $model = eval { Slic3r::Model->read_from_archive($input_file, wxTheApp->{preset_bundle}, 0) }; + Slic3r::GUI::show_error($self, $@) if $@; + $_->load_current_preset for (values %{$self->GetFrame->{options_tabs}}); + wxTheApp->{app_config}->update_config_dir(dirname($input_file)); + } + else + { + $model = eval { Slic3r::Model->read_from_file($input_file, 0) }; + Slic3r::GUI::show_error($self, $@) if $@; + } next if ! defined $model; @@ -1555,7 +1566,7 @@ sub export_3mf { return if !@{$self->{objects}}; # Ask user for a file name to write into. my $output_file = $self->_get_export_file('3MF') or return; - my $res = $self->{model}->store_3mf($output_file); + my $res = $self->{model}->store_3mf($output_file, $self->{print}); if ($res) { $self->statusbar->SetStatusText("3MF file exported to $output_file"); |