mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-07-20 09:22:13 +00:00
Input Shaping Calib: Types, RepRap + Improvements (#10913)
* IS Freq duplicated as Base * IS jerk to 5 * JD jerk to 0 * Base 1 layer + MINIMUM_CRUISE_RATIO=0 * Tab * Remove IS BASE * Update Plater.cpp * Klipper Jerk 5, Others 10 * JD in Marlin2 * Types * Horizontal * Different lists * RepRap IS writer * Smart Flavors and axis * RepRap values lowercase * Hide Y axix for RepRap * Max Jerk or JD * Reorder * Removed dual list + Default * RepRap show UpperCase use LowerCase * RepRap P"type" Type of input shaping to use, not case sensitive. * RepRap DAA * Reorder Klipper * Custom Firmware Note * Better Display Co-Authored-By: yw4z <28517890+yw4z@users.noreply.github.com> * Better notes * Update + Clean Wiki Co-Authored-By: gregmatic <60957555+gregmatic@users.noreply.github.com> * Wiki Update Update Images Improve guide Co-Authored-By: Cameron D <30559428+cdunn95@users.noreply.github.com> * Fix G-code generation issue and refine input shaping calibration documentation --------- Co-authored-by: yw4z <28517890+yw4z@users.noreply.github.com> Co-authored-by: gregmatic <60957555+gregmatic@users.noreply.github.com> Co-authored-by: Cameron D <30559428+cdunn95@users.noreply.github.com> Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
@@ -10241,7 +10241,28 @@ void Plater::calib_input_shaping_freq(const Calib_Params& params)
|
||||
auto print_config = &wxGetApp().preset_bundle->prints.get_edited_preset().config;
|
||||
auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config;
|
||||
auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config;
|
||||
printer_config->set_key_value("machine_max_junction_deviation", new ConfigOptionFloats {0.3});
|
||||
const auto gcode_flavor_option = printer_config->option<ConfigOptionEnum<GCodeFlavor>>("gcode_flavor");
|
||||
float junction_deviation_value = 0.f;
|
||||
if (gcode_flavor_option && gcode_flavor_option->value == GCodeFlavor::gcfMarlinFirmware) {
|
||||
const auto machine_junction_option = printer_config->option<ConfigOptionFloats>("machine_max_junction_deviation");
|
||||
const float current = (machine_junction_option && !machine_junction_option->values.empty())
|
||||
? machine_junction_option->values.front()
|
||||
: 0.f;
|
||||
junction_deviation_value = std::max(current, 0.25f);
|
||||
}
|
||||
float machine_max_jerk_x = 0.f;
|
||||
if (const auto option = printer_config->option<ConfigOptionFloats>("machine_max_jerk_x");
|
||||
option != nullptr && !option->values.empty()) {
|
||||
machine_max_jerk_x = option->values.front();
|
||||
}
|
||||
float machine_max_jerk_y = 0.f;
|
||||
if (const auto option = printer_config->option<ConfigOptionFloats>("machine_max_jerk_y");
|
||||
option != nullptr && !option->values.empty()) {
|
||||
machine_max_jerk_y = option->values.front();
|
||||
}
|
||||
const float jerk_value = std::max((gcode_flavor_option && gcode_flavor_option->value == GCodeFlavor::gcfKlipper) ? 5.f : 10.f,
|
||||
std::min(machine_max_jerk_x, machine_max_jerk_y));
|
||||
printer_config->set_key_value("machine_max_junction_deviation", new ConfigOptionFloats {junction_deviation_value});
|
||||
printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false});
|
||||
filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats { 0.0 });
|
||||
filament_config->set_key_value("slow_down_min_speed", new ConfigOptionFloats { 0.0 });
|
||||
@@ -10261,9 +10282,11 @@ void Plater::calib_input_shaping_freq(const Calib_Params& params)
|
||||
print_config->set_key_value("spiral_mode_smooth", new ConfigOptionBool(false));
|
||||
print_config->set_key_value("bottom_surface_pattern", new ConfigOptionEnum<InfillPattern>(ipRectilinear));
|
||||
print_config->set_key_value("outer_wall_speed", new ConfigOptionFloat(200));
|
||||
print_config->set_key_value("default_acceleration", new ConfigOptionFloat(2000));
|
||||
print_config->set_key_value("outer_wall_acceleration", new ConfigOptionFloat(2000));
|
||||
print_config->set_key_value("default_junction_deviation", new ConfigOptionFloat(0.25));
|
||||
print_config->set_key_value("default_acceleration", new ConfigOptionFloat(20000));
|
||||
print_config->set_key_value("outer_wall_acceleration", new ConfigOptionFloat(20000));
|
||||
print_config->set_key_value("default_jerk", new ConfigOptionFloat(jerk_value));
|
||||
print_config->set_key_value("outer_wall_jerk", new ConfigOptionFloat(jerk_value));
|
||||
print_config->set_key_value("default_junction_deviation", new ConfigOptionFloat(junction_deviation_value));
|
||||
model().objects[0]->config.set_key_value("brim_type", new ConfigOptionEnum<BrimType>(btOuterOnly));
|
||||
model().objects[0]->config.set_key_value("brim_width", new ConfigOptionFloat(3.0));
|
||||
model().objects[0]->config.set_key_value("brim_object_gap", new ConfigOptionFloat(0.0));
|
||||
@@ -10289,7 +10312,28 @@ void Plater::calib_input_shaping_damp(const Calib_Params& params)
|
||||
auto print_config = &wxGetApp().preset_bundle->prints.get_edited_preset().config;
|
||||
auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config;
|
||||
auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config;
|
||||
printer_config->set_key_value("machine_max_junction_deviation", new ConfigOptionFloats{0.3});
|
||||
const auto gcode_flavor_option = printer_config->option<ConfigOptionEnum<GCodeFlavor>>("gcode_flavor");
|
||||
float junction_deviation_value = 0.f;
|
||||
if (gcode_flavor_option && gcode_flavor_option->value == GCodeFlavor::gcfMarlinFirmware) {
|
||||
const auto machine_junction_option = printer_config->option<ConfigOptionFloats>("machine_max_junction_deviation");
|
||||
const float current = (machine_junction_option && !machine_junction_option->values.empty())
|
||||
? machine_junction_option->values.front()
|
||||
: 0.f;
|
||||
junction_deviation_value = std::max(current, 0.25f);
|
||||
}
|
||||
float machine_max_jerk_x = 0.f;
|
||||
if (const auto option = printer_config->option<ConfigOptionFloats>("machine_max_jerk_x");
|
||||
option != nullptr && !option->values.empty()) {
|
||||
machine_max_jerk_x = option->values.front();
|
||||
}
|
||||
float machine_max_jerk_y = 0.f;
|
||||
if (const auto option = printer_config->option<ConfigOptionFloats>("machine_max_jerk_y");
|
||||
option != nullptr && !option->values.empty()) {
|
||||
machine_max_jerk_y = option->values.front();
|
||||
}
|
||||
const float jerk_value = std::max((gcode_flavor_option && gcode_flavor_option->value == GCodeFlavor::gcfKlipper) ? 5.f : 10.f,
|
||||
std::min(machine_max_jerk_x, machine_max_jerk_y));
|
||||
printer_config->set_key_value("machine_max_junction_deviation", new ConfigOptionFloats{junction_deviation_value});
|
||||
printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false});
|
||||
filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats { 0.0 });
|
||||
filament_config->set_key_value("slow_down_min_speed", new ConfigOptionFloats { 0.0 });
|
||||
@@ -10309,9 +10353,11 @@ void Plater::calib_input_shaping_damp(const Calib_Params& params)
|
||||
print_config->set_key_value("spiral_mode_smooth", new ConfigOptionBool(false));
|
||||
print_config->set_key_value("bottom_surface_pattern", new ConfigOptionEnum<InfillPattern>(ipRectilinear));
|
||||
print_config->set_key_value("outer_wall_speed", new ConfigOptionFloat(200));
|
||||
print_config->set_key_value("default_acceleration", new ConfigOptionFloat(2000));
|
||||
print_config->set_key_value("outer_wall_acceleration", new ConfigOptionFloat(2000));
|
||||
print_config->set_key_value("default_junction_deviation", new ConfigOptionFloat(0.25));
|
||||
print_config->set_key_value("default_acceleration", new ConfigOptionFloat(20000));
|
||||
print_config->set_key_value("outer_wall_acceleration", new ConfigOptionFloat(20000));
|
||||
print_config->set_key_value("default_jerk", new ConfigOptionFloat(jerk_value));
|
||||
print_config->set_key_value("outer_wall_jerk", new ConfigOptionFloat(jerk_value));
|
||||
print_config->set_key_value("default_junction_deviation", new ConfigOptionFloat(junction_deviation_value));
|
||||
model().objects[0]->config.set_key_value("brim_type", new ConfigOptionEnum<BrimType>(btOuterOnly));
|
||||
model().objects[0]->config.set_key_value("brim_width", new ConfigOptionFloat(3.0));
|
||||
model().objects[0]->config.set_key_value("brim_object_gap", new ConfigOptionFloat(0.0));
|
||||
@@ -10360,6 +10406,7 @@ void Plater::calib_junction_deviation(const Calib_Params& params)
|
||||
print_config->set_key_value("outer_wall_speed", new ConfigOptionFloat(200));
|
||||
print_config->set_key_value("default_acceleration", new ConfigOptionFloat(2000));
|
||||
print_config->set_key_value("outer_wall_acceleration", new ConfigOptionFloat(2000));
|
||||
print_config->set_key_value("default_jerk", new ConfigOptionFloat(0));
|
||||
print_config->set_key_value("default_junction_deviation", new ConfigOptionFloat(0.0));
|
||||
model().objects[0]->config.set_key_value("brim_type", new ConfigOptionEnum<BrimType>(btOuterOnly));
|
||||
model().objects[0]->config.set_key_value("brim_width", new ConfigOptionFloat(3.0));
|
||||
|
||||
Reference in New Issue
Block a user