Factor out some hard-coded settings
This commit is contained in:
parent
1ecadc10fb
commit
f2389682b6
@ -60,6 +60,8 @@ use constant SCALING_FACTOR => 0.000001;
|
|||||||
use constant RESOLUTION => 0.01;
|
use constant RESOLUTION => 0.01;
|
||||||
use constant OVERLAP_FACTOR => 0.5;
|
use constant OVERLAP_FACTOR => 0.5;
|
||||||
use constant SMALL_PERIMETER_LENGTH => (6.5 / SCALING_FACTOR) * 2 * PI;
|
use constant SMALL_PERIMETER_LENGTH => (6.5 / SCALING_FACTOR) * 2 * PI;
|
||||||
|
use constant LOOP_CLIPPING_LENGTH_OVER_WIDTH => 0.15;
|
||||||
|
use constant PERIMETER_INFILL_OVERLAP_OVER_WIDTH => 0.4;
|
||||||
|
|
||||||
# The following variables hold the objects used throughout the slicing
|
# The following variables hold the objects used throughout the slicing
|
||||||
# process. They should belong to the Print object, but we are keeping
|
# process. They should belong to the Print object, but we are keeping
|
||||||
|
@ -63,7 +63,7 @@ sub fill_surface {
|
|||||||
my $path = $loop->split_at_index($index);
|
my $path = $loop->split_at_index($index);
|
||||||
|
|
||||||
# clip the path to avoid the extruder to get exactly on the first point of the loop
|
# clip the path to avoid the extruder to get exactly on the first point of the loop
|
||||||
$path->clip_end(($self->layer ? $self->layer->flow->scaled_width : $Slic3r::flow->scaled_width) * 0.15);
|
$path->clip_end(($self->layer ? $self->layer->flow->scaled_width : $Slic3r::flow->scaled_width) * &Slic3r::LOOP_CLIPPING_LENGTH_OVER_WIDTH);
|
||||||
|
|
||||||
push @paths, $path->points if @{$path->points};
|
push @paths, $path->points if @{$path->points};
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ sub fill_surface {
|
|||||||
# infill math
|
# infill math
|
||||||
my $min_spacing = scale $params{flow_spacing};
|
my $min_spacing = scale $params{flow_spacing};
|
||||||
my $distance = $min_spacing / $params{density};
|
my $distance = $min_spacing / $params{density};
|
||||||
my $overlap_distance = ($self->layer ? $self->layer->flow->scaled_width : $Slic3r::flow->scaled_width) * 0.4;
|
my $overlap_distance = ($self->layer ? $self->layer->flow->scaled_width : $Slic3r::flow->scaled_width) * &Slic3r::PERIMETER_INFILL_OVERLAP_OVER_WIDTH;
|
||||||
|
|
||||||
my $cache_id = sprintf "d%s_s%s_a%s",
|
my $cache_id = sprintf "d%s_s%s_a%s",
|
||||||
$params{density}, $params{flow_spacing}, $rotate_vector->[0][0];
|
$params{density}, $params{flow_spacing}, $rotate_vector->[0][0];
|
||||||
|
@ -31,7 +31,7 @@ sub fill_surface {
|
|||||||
$flow_spacing = unscale $distance_between_lines;
|
$flow_spacing = unscale $distance_between_lines;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $overlap_distance = ($self->layer ? $self->layer->flow->scaled_width : $Slic3r::flow->scaled_width) * 0.4;
|
my $overlap_distance = ($self->layer ? $self->layer->flow->scaled_width : $Slic3r::flow->scaled_width) * &Slic3r::PERIMETER_INFILL_OVERLAP_OVER_WIDTH;
|
||||||
|
|
||||||
my $x = $bounding_box->[X1];
|
my $x = $bounding_box->[X1];
|
||||||
my $is_line_pattern = $self->isa('Slic3r::Fill::Line');
|
my $is_line_pattern = $self->isa('Slic3r::Fill::Line');
|
||||||
|
@ -112,7 +112,7 @@ sub extrude_loop {
|
|||||||
# clip the path to avoid the extruder to get exactly on the first point of the loop;
|
# clip the path to avoid the extruder to get exactly on the first point of the loop;
|
||||||
# if polyline was shorter than the clipping distance we'd get a null polyline, so
|
# if polyline was shorter than the clipping distance we'd get a null polyline, so
|
||||||
# we discard it in that case
|
# we discard it in that case
|
||||||
$extrusion_path->clip_end($self->layer ? $self->layer->flow->scaled_width : $Slic3r::flow->scaled_width * 0.15);
|
$extrusion_path->clip_end($self->layer ? $self->layer->flow->scaled_width : $Slic3r::flow->scaled_width * &Slic3r::LOOP_CLIPPING_LENGTH_OVER_WIDTH);
|
||||||
return '' if !@{$extrusion_path->polyline};
|
return '' if !@{$extrusion_path->polyline};
|
||||||
|
|
||||||
# extrude along the path
|
# extrude along the path
|
||||||
|
Loading…
Reference in New Issue
Block a user