diff options
author | bubnikv <bubnikv@gmail.com> | 2017-06-26 17:28:10 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2017-06-26 17:28:10 +0300 |
commit | 8160db23ccd0cb9ffa1d03599e27a0bcd493e6b7 (patch) | |
tree | c4dec206352a2258e916d76ebafed3991f647809 /xs/src/libslic3r/PrintObject.cpp | |
parent | 32fa84c5a576febe4fab04f0fb7ffa53aec530ff (diff) |
Implementation of "XY size Compensation for first layer"
https://github.com/prusa3d/Slic3r/issues/190
Diffstat (limited to 'xs/src/libslic3r/PrintObject.cpp')
-rw-r--r-- | xs/src/libslic3r/PrintObject.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/xs/src/libslic3r/PrintObject.cpp b/xs/src/libslic3r/PrintObject.cpp index 588e46ef6..3999551c0 100644 --- a/xs/src/libslic3r/PrintObject.cpp +++ b/xs/src/libslic3r/PrintObject.cpp @@ -160,6 +160,7 @@ bool PrintObject::invalidate_state_by_config_options(const std::vector<t_config_ } else if ( opt_key == "clip_multipart_objects" + || opt_key == "elefant_foot_compensation" || opt_key == "support_material_contact_distance" || opt_key == "xy_size_compensation") { steps.emplace_back(posSlice); @@ -1164,6 +1165,8 @@ end: Layer *layer = this->layers[layer_id]; // Apply size compensation and perform clipping of multi-part objects. float delta = float(scale_(this->config.xy_size_compensation.value)); + if (layer_id == 0) + delta -= float(scale_(this->config.elefant_foot_compensation.value)); bool scale = delta != 0.f; bool clip = this->config.clip_multipart_objects.value || delta > 0.f; if (layer->regions.size() == 1) { |