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

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbubnikv <bubnikv@gmail.com>2016-09-26 14:58:47 +0300
committerbubnikv <bubnikv@gmail.com>2016-09-26 14:58:47 +0300
commit403329db492c59bd21a420b884c6f1ad8b6ac01a (patch)
tree78507a51fb6ba0f610f31599e1e5a993483748aa
parent790b640521a1f0f28a9b25fb255c489f0d91f81a (diff)
Misc bugfixes.
-rw-r--r--lib/Slic3r/GUI/Plater/3DPreview.pm1
-rw-r--r--lib/Slic3r/GUI/Tab.pm3
-rw-r--r--lib/Slic3r/Print/GCode.pm8
-rw-r--r--xs/xsp/Surface.xsp1
4 files changed, 11 insertions, 2 deletions
diff --git a/lib/Slic3r/GUI/Plater/3DPreview.pm b/lib/Slic3r/GUI/Plater/3DPreview.pm
index fa71fcb1d..af31ae61f 100644
--- a/lib/Slic3r/GUI/Plater/3DPreview.pm
+++ b/lib/Slic3r/GUI/Plater/3DPreview.pm
@@ -123,6 +123,7 @@ sub load_print {
foreach my $object (@{$self->print->objects}) {
$self->canvas->load_print_object_toolpaths($object);
+ # Show the objects in very transparent color.
#my @volume_ids = $self->canvas->load_object($object->model_object);
#$self->canvas->volumes->[$_]->color->[3] = 0.2 for @volume_ids;
}
diff --git a/lib/Slic3r/GUI/Tab.pm b/lib/Slic3r/GUI/Tab.pm
index 72e798b5e..d1ea0e432 100644
--- a/lib/Slic3r/GUI/Tab.pm
+++ b/lib/Slic3r/GUI/Tab.pm
@@ -775,7 +775,8 @@ sub _update {
my $new_conf = Slic3r::Config->new;
if ($dialog->ShowModal() == wxID_YES) {
- $new_conf->set("fill_pattern", 1);
+ $new_conf->set("fill_pattern", 'rectilinear');
+ $new_conf->set("fill_density", 100);
} else {
$new_conf->set("fill_density", 40);
}
diff --git a/lib/Slic3r/Print/GCode.pm b/lib/Slic3r/Print/GCode.pm
index 27cca3221..e862a59e1 100644
--- a/lib/Slic3r/Print/GCode.pm
+++ b/lib/Slic3r/Print/GCode.pm
@@ -40,6 +40,8 @@ sub BUILD {
my $gcodegen = Slic3r::GCode->new;
$self->_gcodegen($gcodegen);
$gcodegen->set_placeholder_parser($self->placeholder_parser);
+ # Tell the G-code generator, how many times the $gcodegen->change_layer() will be called.
+ # $gcodegen->change_layer() in turn increments the progress bar status.
$gcodegen->set_layer_count($layer_count);
$gcodegen->set_enable_cooling_markers(1);
$gcodegen->apply_print_config($self->config);
@@ -353,6 +355,8 @@ sub _print_first_layer_temperature {
# Called per object's layer.
# First a $gcode string is collected,
# then filtered and finally written to a file $fh.
+#FIXME If printing multiple objects at once, this incorrectly applies cooling logic to a single object's layer instead
+# of all the objects printed.
sub process_layer {
my $self = shift;
my ($layer, $object_copies) = @_;
@@ -610,7 +614,8 @@ sub process_layer {
$layer->print_z,
) if defined $self->_cooling_buffer;
- print {$self->fh} $self->filter($gcode);
+ $gcode = $self->filter($gcode);
+ print {$self->fh} $gcode if defined($gcode);
}
# Extrude perimeters: Decide where to put seams (hide or align seams).
@@ -655,6 +660,7 @@ sub flush_filters {
sub filter {
my ($self, $gcode, $flush) = @_;
+ $flush //= 0;
# apply vibration limit if enabled;
# this injects pauses according to time (thus depends on actual speeds)
diff --git a/xs/xsp/Surface.xsp b/xs/xsp/Surface.xsp
index ebacd1795..597ed1b5d 100644
--- a/xs/xsp/Surface.xsp
+++ b/xs/xsp/Surface.xsp
@@ -109,6 +109,7 @@ _constant()
S_TYPE_INTERNALSOLID = stInternalSolid
S_TYPE_INTERNALBRIDGE = stInternalBridge
S_TYPE_INTERNALVOID = stInternalVoid
+ S_TYPW_PERIMETER = stPerimeter
PROTOTYPE:
CODE:
RETVAL = ix;