diff --git a/src/libslic3r/Layer.cpp b/src/libslic3r/Layer.cpp index be586fc73..a21926596 100644 --- a/src/libslic3r/Layer.cpp +++ b/src/libslic3r/Layer.cpp @@ -122,8 +122,11 @@ void Layer::make_perimeters() LayerRegion* other_layerm = *it; const PrintRegionConfig &other_config = other_layerm->region()->config(); + /// !!! add here the settings you want to be added in the per-object menu. + /// if you don't do that, objects will share the same region, and the same settings. if (config.perimeter_extruder == other_config.perimeter_extruder && config.perimeters == other_config.perimeters + && config.only_one_perimeter_top == other_config.only_one_perimeter_top && config.perimeter_speed == other_config.perimeter_speed && config.external_perimeter_speed == other_config.external_perimeter_speed && config.gap_fill_speed == other_config.gap_fill_speed diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 83dfa0eab..cb25e714d 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -44,11 +44,11 @@ void Print::clear() m_model.clear_objects(); } -PrintRegion* Print::add_region() -{ - m_regions.emplace_back(new PrintRegion(this)); - return m_regions.back(); -} +//PrintRegion* Print::add_region() +//{ +// m_regions.emplace_back(new PrintRegion(this)); +// return m_regions.back(); +//} PrintRegion* Print::add_region(const PrintRegionConfig &config) { diff --git a/src/libslic3r/Print.hpp b/src/libslic3r/Print.hpp index b5ebc4af3..d6879e6f5 100644 --- a/src/libslic3r/Print.hpp +++ b/src/libslic3r/Print.hpp @@ -64,7 +64,7 @@ private: Print *m_print; PrintRegionConfig m_config; - PrintRegion(Print* print) : m_refcnt(0), m_print(print) {} + //PrintRegion(Print* print) : m_refcnt(0), m_print(print) {} PrintRegion(Print* print, const PrintRegionConfig &config) : m_refcnt(0), m_print(print), m_config(config) {} ~PrintRegion() {} }; @@ -376,7 +376,7 @@ public: protected: // methods for handling regions PrintRegion* get_region(size_t idx) { return m_regions[idx]; } - PrintRegion* add_region(); + //PrintRegion* add_region(); PrintRegion* add_region(const PrintRegionConfig &config); // Invalidates the step, and its depending steps in Print. diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 2ea97e460..725ee5025 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -482,6 +482,7 @@ bool PrintObject::invalidate_state_by_config_options(const std::vector& Preset::print_options() "over_bridge_flow_ratio", "clip_multipart_objects", "enforce_full_fill_volume", "external_infill_margin", "bridged_infill_margin", "elefant_foot_compensation", "xy_size_compensation", "hole_size_compensation", "threads", "resolution", "wipe_tower", "wipe_tower_x", "wipe_tower_y", "wipe_tower_width", "wipe_tower_rotation_angle", "wipe_tower_bridging", - "only_one_perimeter_top", "single_extruder_multi_material_priming", "compatible_printers", "compatible_printers_condition", "inherits", + "single_extruder_multi_material_priming", "compatible_printers", "compatible_printers_condition", "inherits", "infill_dense", "infill_dense_algo", "no_perimeter_unsupported_algo", "support_material_solid_first_layer"