Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Slic3r/Print/Simple.pm')
-rw-r--r--lib/Slic3r/Print/Simple.pm104
1 files changed, 0 insertions, 104 deletions
diff --git a/lib/Slic3r/Print/Simple.pm b/lib/Slic3r/Print/Simple.pm
deleted file mode 100644
index 2ab68f4d3..000000000
--- a/lib/Slic3r/Print/Simple.pm
+++ /dev/null
@@ -1,104 +0,0 @@
-# A simple wrapper to quickly print a single model without a GUI.
-# Used by the command line slic3r.pl, by command line utilities pdf-slic3s.pl and view-toolpaths.pl,
-# and by the quick slice menu of the Slic3r GUI.
-#
-# It creates and owns an instance of Slic3r::Print to perform the slicing
-# and it accepts an instance of Slic3r::Model from the outside.
-
-package Slic3r::Print::Simple;
-use Moo;
-
-use Slic3r::Geometry qw(X Y);
-
-has '_print' => (
- is => 'ro',
- default => sub { Slic3r::Print->new },
- handles => [qw(apply_config_perl_tests_only extruders output_filepath
- total_used_filament total_extruded_volume
- placeholder_parser process)],
-);
-
-has 'duplicate' => (
- is => 'rw',
- default => sub { 1 },
-);
-
-has 'scale' => (
- is => 'rw',
- default => sub { 1 },
-);
-
-has 'rotate' => (
- is => 'rw',
- default => sub { 0 },
-);
-
-has 'duplicate_grid' => (
- is => 'rw',
- default => sub { [1,1] },
-);
-
-has 'print_center' => (
- is => 'rw',
- default => sub { Slic3r::Pointf->new(100,100) },
-);
-
-has 'dont_arrange' => (
- is => 'rw',
- default => sub { 0 },
-);
-
-has 'output_file' => (
- is => 'rw',
-);
-
-sub set_model {
- # $model is of type Slic3r::Model
- my ($self, $model) = @_;
-
- # make method idempotent so that the object is reusable
- $self->_print->clear_objects;
-
- # make sure all objects have at least one defined instance
- my $need_arrange = $model->add_default_instances && ! $self->dont_arrange;
-
- # apply scaling and rotation supplied from command line if any
- foreach my $instance (map @{$_->instances}, @{$model->objects}) {
- $instance->set_scaling_factor($instance->scaling_factor * $self->scale);
- $instance->set_rotation($instance->rotation + $self->rotate);
- }
-
- if ($self->duplicate_grid->[X] > 1 || $self->duplicate_grid->[Y] > 1) {
- $model->duplicate_objects_grid($self->duplicate_grid->[X], $self->duplicate_grid->[Y], $self->_print->config->duplicate_distance);
- } elsif ($need_arrange) {
- $model->duplicate_objects($self->duplicate, $self->_print->config->min_object_distance);
- } elsif ($self->duplicate > 1) {
- # if all input objects have defined position(s) apply duplication to the whole model
- $model->duplicate($self->duplicate, $self->_print->config->min_object_distance);
- }
- $_->translate(0,0,-$_->bounding_box->z_min) for @{$model->objects};
- $model->center_instances_around_point($self->print_center) if (! $self->dont_arrange);
-
- foreach my $model_object (@{$model->objects}) {
- $self->_print->auto_assign_extruders($model_object);
- $self->_print->add_model_object($model_object);
- }
-}
-
-sub export_gcode {
- my ($self) = @_;
- $self->_print->validate;
- $self->_print->export_gcode($self->output_file // '');
-}
-
-sub export_png {
- my ($self) = @_;
-
- $self->_before_export;
-
- $self->_print->export_png(output_file => $self->output_file);
-
- $self->_after_export;
-}
-
-1;