Fixes to retraction and skirt
This commit is contained in:
parent
a1d518f1a2
commit
5a07137def
4 changed files with 5 additions and 6 deletions
|
@ -29,14 +29,14 @@ use Slic3r::Surface;
|
|||
use Slic3r::Surface::Collection;
|
||||
|
||||
# printer options
|
||||
our $nozzle_diameter = 0.55;
|
||||
our $nozzle_diameter = 0.5;
|
||||
our $print_center = [100,100]; # object will be centered around this point
|
||||
our $use_relative_e_distances = 0;
|
||||
our $z_offset = 0;
|
||||
|
||||
# filament options
|
||||
our $filament_diameter = 3; # mm
|
||||
our $filament_packing_density = 0.85;
|
||||
our $filament_packing_density = 1;
|
||||
|
||||
# speed options
|
||||
our $print_feed_rate = 60; # mm/sec
|
||||
|
|
|
@ -76,7 +76,7 @@ sub extrude {
|
|||
}
|
||||
|
||||
# retract
|
||||
if (Slic3r::Geometry::distance_between_points($self->last_pos, $path->points->[0]->p)
|
||||
if (Slic3r::Geometry::distance_between_points($self->last_pos, $path->points->[0]->p) * $Slic3r::resolution
|
||||
>= $Slic3r::retract_before_travel) {
|
||||
$gcode .= $self->retract;
|
||||
}
|
||||
|
@ -105,7 +105,6 @@ sub extrude {
|
|||
sub retract {
|
||||
my $self = shift;
|
||||
return "" unless $Slic3r::retract_length > 0
|
||||
&& $self->extrusion_distance > 0
|
||||
&& !$self->retracted;
|
||||
|
||||
$self->retracted(1);
|
||||
|
|
|
@ -57,7 +57,7 @@ sub points_coincide {
|
|||
|
||||
sub distance_between_points {
|
||||
my ($p1, $p2) = @_;
|
||||
return sqrt(($p1->[X] - $p2->[X])**2 + ($p1->[Y] - $p2->[Y])**2);
|
||||
return sqrt((($p1->[X] - $p2->[X])**2) + ($p1->[Y] - $p2->[Y])**2);
|
||||
}
|
||||
|
||||
sub point_in_polygon {
|
||||
|
|
|
@ -84,7 +84,7 @@ sub make_perimeter {
|
|||
# draw outlines from outside to inside
|
||||
for (my $i = $Slic3r::skirts - 1; $i >= 0; $i--) {
|
||||
my $distance = ($Slic3r::skirt_distance + ($Slic3r::flow_width * $i)) / $Slic3r::resolution;
|
||||
my $outline = offset([$convex_hull_points], $distance, $Slic3r::resolution * 100000, JT_ROUND);
|
||||
my $outline = offset([$convex_hull_points], $distance, $Slic3r::resolution * 100, JT_ROUND);
|
||||
push @{ $layer->skirts }, Slic3r::ExtrusionLoop->cast([ @{$outline->[0]} ]);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue