From 245aac1172ddf0bf0603d03d9e33b5e1e1a050f0 Mon Sep 17 00:00:00 2001 From: Joseph Lenox Date: Sat, 24 Feb 2018 23:04:36 -0600 Subject: [PATCH] Make SLAPrintOptions available to Projector through MainFrame. --- lib/Slic3r/GUI/MainFrame.pm | 1 + lib/Slic3r/GUI/Projector.pm | 3 ++- lib/Slic3r/GUI/SLAPrintOptions.pm | 1 + xs/src/libslic3r/SLAPrint.cpp | 3 +-- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/Slic3r/GUI/MainFrame.pm b/lib/Slic3r/GUI/MainFrame.pm index bcfc81f39..629334c3b 100644 --- a/lib/Slic3r/GUI/MainFrame.pm +++ b/lib/Slic3r/GUI/MainFrame.pm @@ -294,6 +294,7 @@ sub _init_menubar { }, undef, 'printer_empty.png'); wxTheApp->append_menu_item($windowMenu, "DLP Projector…\tCtrl+P", 'Open projector window for DLP printing', sub { $self->{plater}->pause_background_process; + $self->{slaconfig} = Slic3r::Config->new; Slic3r::GUI::SLAPrintOptions->new($self)->ShowModal; $self->{plater}->resume_background_process; }, undef, 'film.png'); diff --git a/lib/Slic3r/GUI/Projector.pm b/lib/Slic3r/GUI/Projector.pm index deb81a43e..9df9345db 100644 --- a/lib/Slic3r/GUI/Projector.pm +++ b/lib/Slic3r/GUI/Projector.pm @@ -50,7 +50,7 @@ sub new { $self->config(Slic3r::Config->new_from_defaults( qw(serial_port serial_speed bed_shape start_gcode end_gcode z_offset) )); - $self->config->apply(wxTheApp->{mainframe}->{plater}->config); + $self->config->apply(wxTheApp->{mainframe}->{slaconfig}); my @optgroups = (); { @@ -559,6 +559,7 @@ sub BUILD { { my $print = Slic3r::SLAPrint->new(wxTheApp->{mainframe}->{plater}->{model}); $print->apply_config(wxTheApp->{mainframe}->{plater}->config); + $print->apply_config(wxTheApp->{mainframe}->{slaconfig}); $self->_print($print); $self->screen->print($print); diff --git a/lib/Slic3r/GUI/SLAPrintOptions.pm b/lib/Slic3r/GUI/SLAPrintOptions.pm index 289f4e5a1..e2bf8cdd6 100644 --- a/lib/Slic3r/GUI/SLAPrintOptions.pm +++ b/lib/Slic3r/GUI/SLAPrintOptions.pm @@ -107,6 +107,7 @@ sub _accept { return; } + wxTheApp->{mainframe}->{slaconfig}->apply_static($self->config); $self->EndModal(wxID_OK); $self->Close; # needed on Linux diff --git a/xs/src/libslic3r/SLAPrint.cpp b/xs/src/libslic3r/SLAPrint.cpp index c5b1452aa..fdc7c4d3a 100644 --- a/xs/src/libslic3r/SLAPrint.cpp +++ b/xs/src/libslic3r/SLAPrint.cpp @@ -54,14 +54,13 @@ SLAPrint::slice() for (size_t i = 0; i < slices.size(); ++i) this->layers[i].slices.expolygons = slices[i]; } - this->config.get_abs_value("infill_extrusion_width", this->config.layer_height.value); // generate infill if (this->config.fill_density < 100) { std::unique_ptr fill(Fill::new_from_type(this->config.fill_pattern.value)); fill->bounding_box.merge(Point::new_scale(bb.min.x, bb.min.y)); fill->bounding_box.merge(Point::new_scale(bb.max.x, bb.max.y)); - fill->min_spacing = ( this->config.get_abs_value("infill_extrusion_width", this->config.layer_height.value) > 0 ? this->config.get_abs_value("infill_extrusion_width", this->config.layer_height.value) : 0.3); + fill->min_spacing = this->config.get_abs_value("infill_extrusion_width", this->config.layer_height.value); fill->angle = Geometry::deg2rad(this->config.fill_angle.value); fill->density = this->config.fill_density.value/100;