From c431bf59827e0785e66ddd975d046ac28afa8d76 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 14 Jun 2017 15:16:43 +0200 Subject: [PATCH] Fixed missing default_region_config values exported into the g-code. --- xs/src/libslic3r/GCode.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/xs/src/libslic3r/GCode.cpp b/xs/src/libslic3r/GCode.cpp index 69ecc10a8..f3d298d41 100644 --- a/xs/src/libslic3r/GCode.cpp +++ b/xs/src/libslic3r/GCode.cpp @@ -666,10 +666,14 @@ bool GCode::do_export(FILE *file, Print &print) // Append full config. fprintf(file, "\n"); - for (const std::string &key : print.config.keys()) - fprintf(file, "; %s = %s\n", key.c_str(), print.config.serialize(key).c_str()); - for (const std::string &key : print.default_object_config.keys()) - fprintf(file, "; %s = %s\n", key.c_str(), print.default_object_config.serialize(key).c_str()); + { + StaticPrintConfig *configs[] = { &print.config, &print.default_object_config, &print.default_region_config }; + for (size_t i = 0; i < sizeof(configs) / sizeof(configs[0]); ++ i) { + StaticPrintConfig *cfg = configs[i]; + for (const std::string &key : cfg->keys()) + fprintf(file, "; %s = %s\n", key.c_str(), cfg->serialize(key).c_str()); + } + } return true; } @@ -1062,6 +1066,8 @@ void GCode::process_layer( copies = print_object->_shifted_copies; else copies.push_back(print_object->_shifted_copies[single_object_idx]); + // Sort the copies by the closest point starting with the current print position. + for (const Point © : copies) { // When starting a new object, use the external motion planner for the first travel move. std::pair this_object_copy(print_object, copy);