diff --git a/resources/calib/sf_placeholder.stl b/resources/calib/pressure_advance_test.stl similarity index 56% rename from resources/calib/sf_placeholder.stl rename to resources/calib/pressure_advance_test.stl index e0ed7cbbbb..0df26de76a 100644 Binary files a/resources/calib/sf_placeholder.stl and b/resources/calib/pressure_advance_test.stl differ diff --git a/resources/config.json b/resources/config.json index 2eea04ed92..36bd134782 100644 --- a/resources/config.json +++ b/resources/config.json @@ -21,7 +21,7 @@ "FUNC_SEND_TO_SDCARD": false }, "camera_resolution":["720p"], - "bed_temperature_limit": 100, + "bed_temperature_limit": 120, "model_id": "C11", "printer_type": "C11", "printer_thumbnail_image": "printer_thumbnail_p1p" @@ -32,6 +32,7 @@ "FUNC_LOCAL_TUNNEL": false }, "camera_resolution":["720p","1080p"], + "bed_temperature_limit": 120, "model_id": "BL-P002", "printer_type": "3DPrinter-X1", "printer_thumbnail_image": "printer_thumbnail" @@ -43,6 +44,7 @@ }, "model_id": "BL-P001", "camera_resolution":["720p","1080p"], + "bed_temperature_limit": 120, "printer_type": "3DPrinter-X1-Carbon", "printer_thumbnail_image": "printer_thumbnail" } diff --git a/src/libslic3r/calib.cpp b/src/libslic3r/calib.cpp index f42ca95cbc..3841e382e7 100644 --- a/src/libslic3r/calib.cpp +++ b/src/libslic3r/calib.cpp @@ -17,6 +17,7 @@ namespace Slic3r { auto startx = (w - 100) / 2; auto starty = (h - count * m_space_y) / 2; + m_length_long = 40 + std::min(w - 120.0, 30.0); return print_pa_lines(startx, starty, start_pa, step_pa, count); } @@ -31,24 +32,31 @@ namespace Slic3r { std::string calib_pressure_advance::print_pa_lines(double start_x, double start_y, double start_pa, double step_pa, int num) { auto& writer = mp_gcodegen->writer(); - const double e = 0.04; // filament_mm/extrusion_mm + const double e_calib = 0.05; // filament_mm/extrusion_mm + const double e = 0.038; // filament_mm/extrusion_mm const double fast = mp_gcodegen->config().get_abs_value("outer_wall_speed") * 60.0; const double slow = std::max(1200.0, fast * 0.1); std::stringstream gcode; gcode << mp_gcodegen->writer().travel_to_z(0.2); double y_pos = start_y; + + // prime line + auto prime_x = std::max(start_x - 5, 0.5); + gcode << move_to(Vec2d(prime_x, y_pos + (num - 4) * m_space_y)); + gcode << writer.set_speed(slow); + gcode << writer.extrude_to_xy(Vec2d(prime_x, y_pos + 3 * m_space_y), e_calib * m_space_y * num * 1.1); for (int i = 0; i < num; ++i) { gcode << writer.set_pressure_advance(start_pa + i * step_pa); gcode << move_to(Vec2d(start_x, y_pos + i * m_space_y)); gcode << writer.set_speed(slow); - gcode << writer.extrude_to_xy(Vec2d(start_x + m_length_short, y_pos + i * m_space_y), e * m_length_short); + gcode << writer.extrude_to_xy(Vec2d(start_x + m_length_short, y_pos + i * m_space_y), e_calib * m_length_short); gcode << writer.set_speed(fast); - gcode << writer.extrude_to_xy(Vec2d(start_x + m_length_short + m_length_long, y_pos + i * m_space_y), e * m_length_long); + gcode << writer.extrude_to_xy(Vec2d(start_x + m_length_short + m_length_long, y_pos + i * m_space_y), e_calib * m_length_long); gcode << writer.set_speed(slow); - gcode << writer.extrude_to_xy(Vec2d(start_x + m_length_short + m_length_long + m_length_short, y_pos + i * m_space_y), e * m_length_short); + gcode << writer.extrude_to_xy(Vec2d(start_x + m_length_short + m_length_long + m_length_short, y_pos + i * m_space_y), e_calib * m_length_short); } gcode << writer.set_pressure_advance(0.0); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index f87c820b86..df0e3b7db3 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -7866,9 +7866,9 @@ void Plater::add_model(bool imperial_units/* = false*/, std::string fname/* = " } void Plater::calib_pa(bool bowden) { - const auto calib_pa_name = "PressureAdvanceTest"; + const auto calib_pa_name = "Pressure Advance Test"; new_project(false, false, calib_pa_name); - add_model(false, Slic3r::resources_dir() + "/calib/sf_placeholder.stl"); + add_model(false, Slic3r::resources_dir() + "/calib/pressure_advance_test.stl"); wxGetApp().mainframe->select_tab(size_t(MainFrame::tp3DEditor)); p->background_process.fff_print()->is_calib_mode() = bowden ? Calib_PA_Bowden : Calib_PA_DDE; diff --git a/version.inc b/version.inc index b8cc08c9a9..ce70f24200 100644 --- a/version.inc +++ b/version.inc @@ -11,4 +11,4 @@ if(NOT DEFINED BBL_INTERNAL_TESTING) set(BBL_INTERNAL_TESTING "1") endif() set(SLIC3R_VERSION "01.04.00.18") -set(SoftFever_VERSION "1.4.0") \ No newline at end of file +set(SoftFever_VERSION "1.4.1_dev") \ No newline at end of file