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:
authorbubnikv <bubnikv@gmail.com>2017-06-26 17:28:10 +0300
committerbubnikv <bubnikv@gmail.com>2017-06-26 17:28:10 +0300
commit8160db23ccd0cb9ffa1d03599e27a0bcd493e6b7 (patch)
treec4dec206352a2258e916d76ebafed3991f647809 /xs/src/libslic3r/PrintObject.cpp
parent32fa84c5a576febe4fab04f0fb7ffa53aec530ff (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.cpp3
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) {