Fix/Disable some tests after Removal of ensure vertical shell thickness option

This commit is contained in:
PavelMikus 2023-03-03 18:15:21 +01:00
parent bc58a570eb
commit de09af23b7
3 changed files with 79 additions and 77 deletions

View File

@ -312,24 +312,24 @@ SCENARIO("Infill only where needed", "[Fill]")
double tolerance = 5; // mm^2 double tolerance = 5; // mm^2
GIVEN("solid_infill_below_area == 0") { // GIVEN("solid_infill_below_area == 0") {
config.opt_float("solid_infill_below_area") = 0; // config.opt_float("solid_infill_below_area") = 0;
WHEN("pyramid is sliced ") { // WHEN("pyramid is sliced ") {
auto area = test(); // auto area = test();
THEN("no infill is generated when using infill_only_where_needed on a pyramid") { // THEN("no infill is generated when using infill_only_where_needed on a pyramid") {
REQUIRE(area < tolerance); // REQUIRE(area < tolerance);
} // }
} // }
} // }
GIVEN("solid_infill_below_area == 70") { // GIVEN("solid_infill_below_area == 70") {
config.opt_float("solid_infill_below_area") = 70; // config.opt_float("solid_infill_below_area") = 70;
WHEN("pyramid is sliced ") { // WHEN("pyramid is sliced ") {
auto area = test(); // auto area = test();
THEN("infill is only generated under the forced solid shells") { // THEN("infill is only generated under the forced solid shells") {
REQUIRE(std::abs(area - 70) < tolerance); // REQUIRE(std::abs(area - 70) < tolerance);
} // }
} // }
} // }
} }
SCENARIO("Combine infill", "[Fill]") SCENARIO("Combine infill", "[Fill]")

View File

@ -556,9 +556,9 @@ SCENARIO("Perimeters3", "[Perimeters]")
GIVEN("V shape, unscaled") { GIVEN("V shape, unscaled") {
int n = test(Vec3d(1., 1., 1.)); int n = test(Vec3d(1., 1., 1.));
// except for the two internal solid layers above void // One bridge layer under the V middle and one layer (two briding areas) under tops
THEN("no overhangs printed with bridge speed") { THEN("no overhangs printed with bridge speed") {
REQUIRE(n == 1); REQUIRE(n == 2);
} }
} }
GIVEN("V shape, scaled 3x in X") { GIVEN("V shape, scaled 3x in X") {

View File

@ -147,63 +147,65 @@ SCENARIO("Shells (from Perl)", "[Shells]") {
REQUIRE(n == 3); REQUIRE(n == 3);
} }
} }
GIVEN("V shape") {
// we need to check against one perimeter because this test is calibrated //TODO CHECK AFTER REMOVAL OF "ensure_vertical_wall_thickness"
// (shape, extrusion_width) so that perimeters cover the bottom surfaces of // GIVEN("V shape") {
// their lower layer - the test checks that shells are not generated on the // // we need to check against one perimeter because this test is calibrated
// above layers (thus 'across' the shadow perimeter) // // (shape, extrusion_width) so that perimeters cover the bottom surfaces of
// the test is actually calibrated to leave a narrow bottom region for each // // their lower layer - the test checks that shells are not generated on the
// layer - we test that in case of fill_density = 0 such narrow shells are // // above layers (thus 'across' the shadow perimeter)
// discarded instead of grown // // the test is actually calibrated to leave a narrow bottom region for each
int bottom_solid_layers = 3; // // layer - we test that in case of fill_density = 0 such narrow shells are
auto config = Slic3r::DynamicPrintConfig::full_print_config_with({ // // discarded instead of grown
{ "perimeters", 1 }, // int bottom_solid_layers = 3;
{ "fill_density", 0 }, // auto config = Slic3r::DynamicPrintConfig::full_print_config_with({
// to prevent speeds from being altered // { "perimeters", 1 },
{ "cooling", "0" }, // { "fill_density", 0 },
// to prevent speeds from being altered // // to prevent speeds from being altered
{ "first_layer_speed", "100%" }, // { "cooling", "0" },
// prevent speed alteration // // to prevent speeds from being altered
{ "enable_dynamic_overhang_speeds", 0 }, // { "first_layer_speed", "100%" },
{ "layer_height", 0.4 }, // // prevent speed alteration
{ "first_layer_height", 0.4 }, // { "enable_dynamic_overhang_speeds", 0 },
{ "extrusion_width", 0.55 }, // { "layer_height", 0.4 },
{ "bottom_solid_layers", bottom_solid_layers }, // { "first_layer_height", 0.4 },
{ "top_solid_layers", 0 }, // { "extrusion_width", 0.55 },
{ "solid_infill_speed", 99 } // { "bottom_solid_layers", bottom_solid_layers },
}); // { "top_solid_layers", 0 },
THEN("shells are not propagated across perimeters of the neighbor layer") { // { "solid_infill_speed", 99 }
std::string gcode = Slic3r::Test::slice({TestMesh::V}, config); // });
REQUIRE(layers_with_speed(gcode, 99).size() == bottom_solid_layers); // THEN("shells are not propagated across perimeters of the neighbor layer") {
} // std::string gcode = Slic3r::Test::slice({TestMesh::V}, config);
} // REQUIRE(layers_with_speed(gcode, 99).size() == bottom_solid_layers);
GIVEN("sloping_hole") { // }
int bottom_solid_layers = 3; // }
int top_solid_layers = 3; // GIVEN("sloping_hole") {
int solid_speed = 99; // int bottom_solid_layers = 3;
auto config = Slic3r::DynamicPrintConfig::full_print_config_with({ // int top_solid_layers = 3;
{ "perimeters", 3 }, // int solid_speed = 99;
// to prevent speeds from being altered // auto config = Slic3r::DynamicPrintConfig::full_print_config_with({
{ "cooling", "0" }, // { "perimeters", 3 },
// to prevent speeds from being altered // // to prevent speeds from being altered
{ "first_layer_speed", "100%" }, // { "cooling", "0" },
// prevent speed alteration // // to prevent speeds from being altered
{ "enable_dynamic_overhang_speeds", 0 }, // { "first_layer_speed", "100%" },
{ "layer_height", 0.4 }, // // prevent speed alteration
{ "first_layer_height", 0.4 }, // { "enable_dynamic_overhang_speeds", 0 },
{ "bottom_solid_layers", bottom_solid_layers }, // { "layer_height", 0.4 },
{ "top_solid_layers", top_solid_layers }, // { "first_layer_height", 0.4 },
{ "solid_infill_speed", solid_speed }, // { "bottom_solid_layers", bottom_solid_layers },
{ "top_solid_infill_speed", solid_speed }, // { "top_solid_layers", top_solid_layers },
{ "bridge_speed", solid_speed }, // { "solid_infill_speed", solid_speed },
{ "filament_diameter", 3. }, // { "top_solid_infill_speed", solid_speed },
{ "nozzle_diameter", 0.5 } // { "bridge_speed", solid_speed },
}); // { "filament_diameter", 3. },
THEN("no superfluous shells are generated") { // { "nozzle_diameter", 0.5 }
std::string gcode = Slic3r::Test::slice({TestMesh::sloping_hole}, config); // });
REQUIRE(layers_with_speed(gcode, solid_speed).size() == bottom_solid_layers + top_solid_layers); // THEN("no superfluous shells are generated") {
} // std::string gcode = Slic3r::Test::slice({TestMesh::sloping_hole}, config);
} // REQUIRE(layers_with_speed(gcode, solid_speed).size() == bottom_solid_layers + top_solid_layers);
// }
// }
GIVEN("20mm_cube, spiral vase") { GIVEN("20mm_cube, spiral vase") {
double layer_height = 0.3; double layer_height = 0.3;
auto config = Slic3r::DynamicPrintConfig::full_print_config_with({ auto config = Slic3r::DynamicPrintConfig::full_print_config_with({