mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-14 09:15:57 +08:00
nearest is now near (Nearest), hidden is now hidden (Corners).
Seam position default to corners (hidden) from "nearest", to avoid confusion when migrating from a prusaslicer config. fix for modifiers with no_perimeter_unsupported_algo npuaBridges surface fix
This commit is contained in:
parent
cb8aa11ac2
commit
eecf28c00c
@ -138,6 +138,7 @@ void Layer::make_perimeters()
|
||||
&& config.gap_fill_speed == other_config.gap_fill_speed
|
||||
&& config.infill_dense == other_config.infill_dense
|
||||
&& config.infill_dense_algo == other_config.infill_dense_algo
|
||||
&& config.no_perimeter_unsupported_algo == other_config.no_perimeter_unsupported_algo
|
||||
&& config.only_one_perimeter_top == other_config.only_one_perimeter_top
|
||||
&& config.overhangs == other_config.overhangs
|
||||
&& config.overhangs_width == other_config.overhangs_width
|
||||
|
@ -210,10 +210,12 @@ void PerimeterGenerator::process()
|
||||
unbridgeable = offset2_ex(unbridgeable, -ext_perimeter_width*2, ext_perimeter_width*2);
|
||||
ExPolygons bridges_temp = intersection_ex(last, diff_ex(unsupported_filtered, unbridgeable));
|
||||
//remove the overhangs section form the surface polygons
|
||||
ExPolygons reference = last;
|
||||
last = diff_ex(last, unsupported_filtered);
|
||||
//ExPolygons no_bridge = diff_ex(offset_ex(unbridgeable, ext_perimeter_width * 3 / 2), last);
|
||||
//bridges_temp = diff_ex(bridges_temp, no_bridge);
|
||||
unsupported_filtered = diff_ex(offset_ex(bridges_temp, ext_perimeter_width * 3 / 2), offset_ex(unbridgeable, ext_perimeter_width*2, jtSquare));
|
||||
unsupported_filtered = intersection_ex(unsupported_filtered, reference);
|
||||
} else {
|
||||
ExPolygons unbridgeable = intersection_ex(unsupported, diff_ex(unsupported_filtered, offset_ex(bridgeable_simplified, ext_perimeter_width / 2)));
|
||||
unbridgeable = offset2_ex(unbridgeable, -ext_perimeter_width, ext_perimeter_width);
|
||||
|
@ -2259,7 +2259,7 @@ void PrintConfigDef::init_fff_params()
|
||||
def->tooltip = L("Position of perimeters starting points.");
|
||||
def->enum_keys_map = &ConfigOptionEnum<SeamPosition>::get_enum_values();
|
||||
def->enum_values.push_back("random");
|
||||
def->enum_values.push_back("nearest");
|
||||
def->enum_values.push_back("near");
|
||||
def->enum_values.push_back("aligned");
|
||||
def->enum_values.push_back("rear");
|
||||
def->enum_values.push_back("hidden");
|
||||
@ -2267,7 +2267,7 @@ void PrintConfigDef::init_fff_params()
|
||||
def->enum_labels.push_back(L("Nearest"));
|
||||
def->enum_labels.push_back(L("Aligned"));
|
||||
def->enum_labels.push_back(L("Rear"));
|
||||
def->enum_labels.push_back(L("Hidden"));
|
||||
def->enum_labels.push_back(L("Corners"));
|
||||
def->mode = comSimple;
|
||||
def->set_default_value(new ConfigOptionEnum<SeamPosition>(spHidden));
|
||||
|
||||
|
@ -190,7 +190,8 @@ template<> inline const t_config_enum_values& ConfigOptionEnum<SeamPosition>::ge
|
||||
static t_config_enum_values keys_map;
|
||||
if (keys_map.empty()) {
|
||||
keys_map["random"] = spRandom;
|
||||
keys_map["nearest"] = spNearest;
|
||||
keys_map["nearest"] = spHidden;
|
||||
keys_map["near"] = spNearest;
|
||||
keys_map["aligned"] = spAligned;
|
||||
keys_map["rear"] = spRear;
|
||||
keys_map["hidden"] = spHidden;
|
||||
|
@ -1060,7 +1060,7 @@ void PrintObject::detect_surfaces_type()
|
||||
float offset = layerm->flow(frExternalPerimeter).scaled_width() / 10.f;
|
||||
|
||||
Polygons layerm_slices_surfaces = to_polygons(layerm->slices().surfaces);
|
||||
// no_perimeter_full_bridge allow to put bridges where there are nothing, hence adding area to silce, that's why we need to start from the result of PerimeterGenerator.
|
||||
// no_perimeter_full_bridge allow to put bridges where there are nothing, hence adding area to slice, that's why we need to start from the result of PerimeterGenerator.
|
||||
if (layerm->region()->config().no_perimeter_unsupported_algo == npuaFilled) {
|
||||
layerm_slices_surfaces = union_(layerm_slices_surfaces, to_polygons(layerm->fill_surfaces));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user