mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-07-28 13:22:06 +00:00
Add call to PA pattern in GCode.cpp
This commit is contained in:
@@ -1869,7 +1869,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
|
|||||||
if (this->m_objsWithBrim.empty() && this->m_objSupportsWithBrim.empty()) m_brim_done = true;
|
if (this->m_objsWithBrim.empty() && this->m_objSupportsWithBrim.empty()) m_brim_done = true;
|
||||||
|
|
||||||
// SoftFever: calib
|
// SoftFever: calib
|
||||||
if (print.calib_params().mode == CalibMode::Calib_PA_Line) {
|
if (print.calib_params().mode == CalibMode::Calib_PA_Line || print.calib_params().mode == CalibMode::Calib_PA_Pattern) {
|
||||||
std::string gcode;
|
std::string gcode;
|
||||||
if ((m_config.default_acceleration.value > 0 && m_config.outer_wall_acceleration.value > 0)) {
|
if ((m_config.default_acceleration.value > 0 && m_config.outer_wall_acceleration.value > 0)) {
|
||||||
gcode += m_writer.set_acceleration((unsigned int)floor(m_config.outer_wall_acceleration.value + 0.5));
|
gcode += m_writer.set_acceleration((unsigned int)floor(m_config.outer_wall_acceleration.value + 0.5));
|
||||||
@@ -1880,15 +1880,27 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
|
|||||||
gcode += m_writer.set_jerk_xy(jerk);
|
gcode += m_writer.set_jerk_xy(jerk);
|
||||||
}
|
}
|
||||||
|
|
||||||
calib_pressure_advance pa_test(this);
|
|
||||||
double filament_max_volumetric_speed = m_config.option<ConfigOptionFloats>("filament_max_volumetric_speed")->get_at(initial_extruder_id);
|
|
||||||
Flow pattern_line = Flow(pa_test.line_width(), 0.2, m_config.nozzle_diameter.get_at(0));
|
|
||||||
auto fast_speed = std::min(print.default_region_config().outer_wall_speed.value, filament_max_volumetric_speed / pattern_line.mm3_per_mm());
|
|
||||||
auto slow_speed = std::max(20.0, fast_speed / 10.0);
|
|
||||||
pa_test.set_speed(fast_speed, slow_speed);
|
|
||||||
pa_test.draw_numbers() = print.calib_params().print_numbers;
|
|
||||||
auto params = print.calib_params();
|
auto params = print.calib_params();
|
||||||
gcode += pa_test.generate_test(params.start, params.step, std::llround(std::ceil((params.end - params.start) / params.step)));
|
|
||||||
|
switch (print.calib_params().mode) {
|
||||||
|
case CalibMode::Calib_PA_Line:
|
||||||
|
calib_pressure_advance_line pa_test(this);
|
||||||
|
|
||||||
|
double filament_max_volumetric_speed = m_config.option<ConfigOptionFloats>("filament_max_volumetric_speed")->get_at(initial_extruder_id);
|
||||||
|
Flow pattern_line = Flow(pa_test.line_width(), 0.2, m_config.nozzle_diameter.get_at(0));
|
||||||
|
auto fast_speed = std::min(print.default_region_config().outer_wall_speed.value, filament_max_volumetric_speed / pattern_line.mm3_per_mm());
|
||||||
|
auto slow_speed = std::max(20.0, fast_speed / 10.0);
|
||||||
|
|
||||||
|
pa_test.set_speed(fast_speed, slow_speed);
|
||||||
|
pa_test.draw_numbers() = print.calib_params().print_numbers;
|
||||||
|
|
||||||
|
gcode += pa_test.generate_test(params.start, params.step, std::llround(std::ceil((params.end - params.start) / params.step)));
|
||||||
|
break;
|
||||||
|
case CalibMode::Calib_PA_Pattern:
|
||||||
|
calib_pressure_advance_pattern pa_test(this);
|
||||||
|
gcode += pa_test.generate_test(params.start, params.end, params.step);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
file.write(gcode);
|
file.write(gcode);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user