mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-16 03:07:55 -06:00
FastTower and Granular Parameters
Co-Authored-By: Rodrigo <162915171+rf47@users.noreply.github.com>
This commit is contained in:
parent
1857849cba
commit
3662b5139c
6 changed files with 154 additions and 60 deletions
|
@ -3769,13 +3769,22 @@ LayerResult GCode::process_layer(
|
|||
sprintf(buf, "; Calib_Retraction_tower: Z_HEIGHT: %g, length:%g\n", print_z, _length);
|
||||
gcode += buf;
|
||||
} else if (print.calib_mode() == CalibMode::Calib_Input_shaping_freq) {
|
||||
gcode += writer().set_input_shaping('A', print.calib_params().step, m_layer_index < 2 ? 0.f : (print.calib_params().start) + ((print.calib_params().end)-(print.calib_params().start)) * (m_layer_index - 2) / (m_layer_count - 3));
|
||||
if (m_layer_index == 1){
|
||||
gcode += writer().set_input_shaping('A', print.calib_params().start, 0.f);
|
||||
} else {
|
||||
if (print.calib_params().freqStartX == print.calib_params().freqStartY && print.calib_params().freqEndX == print.calib_params().freqEndY) {
|
||||
gcode += writer().set_input_shaping('A', 0.f, (print.calib_params().freqStartX) + ((print.calib_params().freqEndX)-(print.calib_params().freqStartX)) * (m_layer_index - 2) / (m_layer_count - 3));
|
||||
} else {
|
||||
gcode += writer().set_input_shaping('X', 0.f, (print.calib_params().freqStartX) + ((print.calib_params().freqEndX)-(print.calib_params().freqStartX)) * (m_layer_index - 2) / (m_layer_count - 3));
|
||||
gcode += writer().set_input_shaping('Y', 0.f, (print.calib_params().freqStartY) + ((print.calib_params().freqEndY)-(print.calib_params().freqStartY)) * (m_layer_index - 2) / (m_layer_count - 3));
|
||||
}
|
||||
}
|
||||
} else if (print.calib_mode() == CalibMode::Calib_Input_shaping_damp) {
|
||||
if (m_layer_index == 1){
|
||||
gcode += writer().set_input_shaping('X', 0.f, print.calib_params().start);
|
||||
gcode += writer().set_input_shaping('Y', 0.f, print.calib_params().end);
|
||||
gcode += writer().set_input_shaping('X', 0.f, print.calib_params().freqStartX);
|
||||
gcode += writer().set_input_shaping('Y', 0.f, print.calib_params().freqStartY);
|
||||
} else {
|
||||
gcode += writer().set_input_shaping('A', float(m_layer_index) / float(m_layer_count), 0.f);
|
||||
gcode += writer().set_input_shaping('A', print.calib_params().start + ((print.calib_params().end)-(print.calib_params().start)) * (m_layer_index) / (m_layer_count), 0.f);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue