Accept either absolute or relative values for --first-layer-height. #151

This commit is contained in:
Alessandro Ranellucci 2012-06-06 16:11:38 +02:00
parent 896c7e952e
commit 16b774603c
7 changed files with 31 additions and 33 deletions

View file

@ -16,6 +16,10 @@ has 'id' => (
has 'slicing_errors' => (is => 'rw');
has 'slice_z' => (is => 'lazy');
has 'print_z' => (is => 'lazy');
has 'height' => (is => 'lazy');
# collection of spare segments generated by slicing the original geometry;
# these need to be merged in continuos (closed) polylines
has 'lines' => (
@ -74,28 +78,25 @@ has 'fills' => (
);
# Z used for slicing
sub slice_z {
sub _build_slice_z {
my $self = shift;
if ($self->id == 0) {
return ($Slic3r::layer_height * $Slic3r::first_layer_height_ratio) / 2 / $Slic3r::scaling_factor;
return $Slic3r::_first_layer_height / 2 / $Slic3r::scaling_factor;
}
return (($Slic3r::layer_height * $Slic3r::first_layer_height_ratio)
+ (($self->id-1) * $Slic3r::layer_height)
+ ($Slic3r::layer_height/2)) / $Slic3r::scaling_factor;
return ($Slic3r::_first_layer_height + (($self->id-1) * $Slic3r::layer_height) + ($Slic3r::layer_height/2))
/ $Slic3r::scaling_factor; #/
}
# Z used for printing
sub print_z {
sub _build_print_z {
my $self = shift;
return (($Slic3r::layer_height * $Slic3r::first_layer_height_ratio)
+ ($self->id * $Slic3r::layer_height)) / $Slic3r::scaling_factor;
return ($Slic3r::_first_layer_height + ($self->id * $Slic3r::layer_height)) / $Slic3r::scaling_factor;
}
sub height {
sub _build_height {
my $self = shift;
return $self->id == 0
? ($Slic3r::layer_height * $Slic3r::first_layer_height_ratio)
: $Slic3r::layer_height;
return $self->id == 0 ? $Slic3r::_first_layer_height : $Slic3r::layer_height;
}
sub add_line {