Fixes to retraction and skirt

This commit is contained in:
Alessandro Ranellucci 2011-10-05 21:25:17 +02:00
parent a1d518f1a2
commit 5a07137def
4 changed files with 5 additions and 6 deletions

View file

@ -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

View file

@ -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);

View file

@ -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 {

View file

@ -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]} ]);
}
}