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:
authorEnrico Turri <enricoturri@seznam.cz>2018-09-21 13:39:15 +0300
committerEnrico Turri <enricoturri@seznam.cz>2018-09-21 13:39:15 +0300
commitcce5f3203b82f0e2d22ca8c81b91b9e47ea93feb (patch)
tree66446ae74b30deabc33fd478a2a1759b1f60f6c5 /lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm
parent78e7bb04272fa9a41e7d88c3ae0be60c3446343b (diff)
Enhanced fix of #1229 - perl part
Diffstat (limited to 'lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm')
-rw-r--r--lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm17
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm b/lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm
index fd02a030f..00373f138 100644
--- a/lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm
+++ b/lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm
@@ -407,17 +407,24 @@ sub on_btn_load {
}
foreach my $object (@{$model->objects}) {
- $object->center_around_origin;
+ my $delta_x = 0.0;
+ my $delta_y = 0.0;
+ my $delta_z = 0.0;
+ if (($self->{model_object}->origin_translation->x != 0.0) || ($self->{model_object}->origin_translation->y != 0.0) || ($self->{model_object}->origin_translation->z != 0.0)) {
+ $object->center_around_origin;
+ $delta_x = $self->{model_object}->origin_translation->x - $object->origin_translation->x;
+ $delta_y = $self->{model_object}->origin_translation->y - $object->origin_translation->y;
+ $delta_z = $self->{model_object}->origin_translation->z - $object->origin_translation->z;
+ }
foreach my $volume (@{$object->volumes}) {
my $new_volume = $self->{model_object}->add_volume($volume);
$new_volume->set_modifier($is_modifier);
$new_volume->set_name(basename($input_file));
# apply the same translation we applied to the object
- my $delta_x = $self->{model_object}->origin_translation->x - $object->origin_translation->x;
- my $delta_y = $self->{model_object}->origin_translation->y - $object->origin_translation->y;
- my $delta_z = $self->{model_object}->origin_translation->z - $object->origin_translation->z;
- $new_volume->mesh->translate($delta_x, $delta_y, $delta_z);
+ if (($delta_x != 0.0) || ($delta_y != 0.0) || ($delta_z != 0.0)) {
+ $new_volume->mesh->translate($delta_x, $delta_y, $delta_z);
+ }
# set a default extruder value, since user can't add it manually
$new_volume->config->set_ifndef('extruder', 0);