Misc bugfixes.

This commit is contained in:
bubnikv 2016-09-26 13:58:47 +02:00
parent 790b640521
commit 403329db49
4 changed files with 11 additions and 2 deletions

View File

@ -123,6 +123,7 @@ sub load_print {
foreach my $object (@{$self->print->objects}) { foreach my $object (@{$self->print->objects}) {
$self->canvas->load_print_object_toolpaths($object); $self->canvas->load_print_object_toolpaths($object);
# Show the objects in very transparent color.
#my @volume_ids = $self->canvas->load_object($object->model_object); #my @volume_ids = $self->canvas->load_object($object->model_object);
#$self->canvas->volumes->[$_]->color->[3] = 0.2 for @volume_ids; #$self->canvas->volumes->[$_]->color->[3] = 0.2 for @volume_ids;
} }

View File

@ -775,7 +775,8 @@ sub _update {
my $new_conf = Slic3r::Config->new; my $new_conf = Slic3r::Config->new;
if ($dialog->ShowModal() == wxID_YES) { if ($dialog->ShowModal() == wxID_YES) {
$new_conf->set("fill_pattern", 1); $new_conf->set("fill_pattern", 'rectilinear');
$new_conf->set("fill_density", 100);
} else { } else {
$new_conf->set("fill_density", 40); $new_conf->set("fill_density", 40);
} }

View File

@ -40,6 +40,8 @@ sub BUILD {
my $gcodegen = Slic3r::GCode->new; my $gcodegen = Slic3r::GCode->new;
$self->_gcodegen($gcodegen); $self->_gcodegen($gcodegen);
$gcodegen->set_placeholder_parser($self->placeholder_parser); $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_layer_count($layer_count);
$gcodegen->set_enable_cooling_markers(1); $gcodegen->set_enable_cooling_markers(1);
$gcodegen->apply_print_config($self->config); $gcodegen->apply_print_config($self->config);
@ -353,6 +355,8 @@ sub _print_first_layer_temperature {
# Called per object's layer. # Called per object's layer.
# First a $gcode string is collected, # First a $gcode string is collected,
# then filtered and finally written to a file $fh. # 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 { sub process_layer {
my $self = shift; my $self = shift;
my ($layer, $object_copies) = @_; my ($layer, $object_copies) = @_;
@ -610,7 +614,8 @@ sub process_layer {
$layer->print_z, $layer->print_z,
) if defined $self->_cooling_buffer; ) 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). # Extrude perimeters: Decide where to put seams (hide or align seams).
@ -655,6 +660,7 @@ sub flush_filters {
sub filter { sub filter {
my ($self, $gcode, $flush) = @_; my ($self, $gcode, $flush) = @_;
$flush //= 0;
# apply vibration limit if enabled; # apply vibration limit if enabled;
# this injects pauses according to time (thus depends on actual speeds) # this injects pauses according to time (thus depends on actual speeds)

View File

@ -109,6 +109,7 @@ _constant()
S_TYPE_INTERNALSOLID = stInternalSolid S_TYPE_INTERNALSOLID = stInternalSolid
S_TYPE_INTERNALBRIDGE = stInternalBridge S_TYPE_INTERNALBRIDGE = stInternalBridge
S_TYPE_INTERNALVOID = stInternalVoid S_TYPE_INTERNALVOID = stInternalVoid
S_TYPW_PERIMETER = stPerimeter
PROTOTYPE: PROTOTYPE:
CODE: CODE:
RETVAL = ix; RETVAL = ix;