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

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);