diff --git a/src/libslic3r/Format/bbs_3mf.hpp b/src/libslic3r/Format/bbs_3mf.hpp index 0addf23385..57a40c2012 100644 --- a/src/libslic3r/Format/bbs_3mf.hpp +++ b/src/libslic3r/Format/bbs_3mf.hpp @@ -145,7 +145,9 @@ enum class SaveStrategy SkipAuxiliary = 1 << 9, UseLoadedId = 1 << 10, ShareMesh = 1 << 11, - MinimalPublished = 1 << 12, + // Keep this separate from SplitModel, which uses the 0x1000 bit as part of its + // production-extension value. + MinimalPublished = 1 << 13, SplitModel = 0x1000 | ProductionExt, Encrypted = SecureContentExt | SplitModel, diff --git a/tests/libslic3r/test_3mf.cpp b/tests/libslic3r/test_3mf.cpp index 462324ea13..daf46c3834 100644 --- a/tests/libslic3r/test_3mf.cpp +++ b/tests/libslic3r/test_3mf.cpp @@ -730,6 +730,8 @@ SCENARIO("Minimal published 3MF serialization filters config and omits embedded REQUIRE(store_bbs_3mf(store_params)); Model dst_model; + ScopedTemporaryDir loaded_backup_dir("orca_min_pub_loaded"); + dst_model.set_backup_path(loaded_backup_dir.string()); DynamicPrintConfig dst_config; ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Enable }; PlateDataPtrs dst_plates; @@ -743,11 +745,10 @@ SCENARIO("Minimal published 3MF serialization filters config and omits embedded REQUIRE(loaded); REQUIRE(loaded_presets.empty()); REQUIRE(dst_config.option("layer_height") != nullptr); - REQUIRE(dst_config.opt_float("layer_height") == 0.24); + REQUIRE_THAT(dst_config.opt_float("layer_height"), Catch::Matchers::WithinAbs(0.24, 1e-6)); REQUIRE(dst_config.option("sparse_infill_density") == nullptr); } release_PlateData_list(dst_plates); } } } -