Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEnrico Turri <enricoturri@seznam.cz>2018-02-13 17:19:55 +0300
committerEnrico Turri <enricoturri@seznam.cz>2018-02-13 17:19:55 +0300
commit8885f5e3447d83e333cf30185189befdee3e9f92 (patch)
treeb79b277fa93291d2d6b81ed9b752e584cb3b3c10 /lib
parent33553e1c5092f1b0e4fe68b209895d498e91ed66 (diff)
3mf import/export of config data
Diffstat (limited to 'lib')
-rw-r--r--lib/Slic3r/GUI/Plater.pm17
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");