From cce5f3203b82f0e2d22ca8c81b91b9e47ea93feb Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 21 Sep 2018 12:39:15 +0200 Subject: Enhanced fix of #1229 - perl part --- lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'lib/Slic3r/GUI') 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); -- cgit v1.2.3