mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-16 03:07:55 -06:00
Add option to set jerk for infills
Signed-off-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
parent
5866d7b756
commit
b7bdb65fd3
7 changed files with 17 additions and 5 deletions
|
@ -3713,7 +3713,10 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description,
|
||||||
jerk = m_config.inner_wall_jerk.value;
|
jerk = m_config.inner_wall_jerk.value;
|
||||||
} else if (m_config.top_surface_jerk.value > 0 && is_top_surface(path.role())) {
|
} else if (m_config.top_surface_jerk.value > 0 && is_top_surface(path.role())) {
|
||||||
jerk = m_config.top_surface_jerk.value;
|
jerk = m_config.top_surface_jerk.value;
|
||||||
} else {
|
} else if (m_config.infill_jerk.value > 0 && is_infill(path.role())) {
|
||||||
|
jerk = m_config.infill_jerk.value;
|
||||||
|
}
|
||||||
|
else {
|
||||||
jerk = m_config.default_jerk.value;
|
jerk = m_config.default_jerk.value;
|
||||||
}
|
}
|
||||||
gcode += m_writer.set_jerk_xy((unsigned int)floor(jerk + 0.5));
|
gcode += m_writer.set_jerk_xy((unsigned int)floor(jerk + 0.5));
|
||||||
|
|
|
@ -750,7 +750,7 @@ static std::vector<std::string> s_Preset_print_options {
|
||||||
"wall_distribution_count", "min_feature_size", "min_bead_width",
|
"wall_distribution_count", "min_feature_size", "min_bead_width",
|
||||||
// SoftFever
|
// SoftFever
|
||||||
"small_perimeter_speed", "small_perimeter_threshold","bridge_angle", "filter_out_gap_fill", "post_process", "travel_acceleration","inner_wall_acceleration",
|
"small_perimeter_speed", "small_perimeter_threshold","bridge_angle", "filter_out_gap_fill", "post_process", "travel_acceleration","inner_wall_acceleration",
|
||||||
"default_jerk", "outer_wall_jerk", "inner_wall_jerk", "top_surface_jerk", "initial_layer_jerk","travel_jerk",
|
"default_jerk", "outer_wall_jerk", "inner_wall_jerk", "infill_jerk", "top_surface_jerk", "initial_layer_jerk","travel_jerk",
|
||||||
"top_solid_infill_flow_ratio","bottom_solid_infill_flow_ratio","only_one_wall_first_layer",
|
"top_solid_infill_flow_ratio","bottom_solid_infill_flow_ratio","only_one_wall_first_layer",
|
||||||
"print_flow_ratio","seam_gap","role_based_wipe_speed","wipe_speed"
|
"print_flow_ratio","seam_gap","role_based_wipe_speed","wipe_speed"
|
||||||
|
|
||||||
|
|
|
@ -1484,6 +1484,14 @@ void PrintConfigDef::init_fff_params()
|
||||||
def->mode = comAdvanced;
|
def->mode = comAdvanced;
|
||||||
def->set_default_value(new ConfigOptionFloat(9));
|
def->set_default_value(new ConfigOptionFloat(9));
|
||||||
|
|
||||||
|
def = this->add("infill_jerk", coFloat);
|
||||||
|
def->label = L("Infill");
|
||||||
|
def->tooltip = L("Jerk for infill");
|
||||||
|
def->sidetext = L("mm/s");
|
||||||
|
def->min = 1;
|
||||||
|
def->mode = comAdvanced;
|
||||||
|
def->set_default_value(new ConfigOptionFloat(9));
|
||||||
|
|
||||||
def = this->add("initial_layer_jerk", coFloat);
|
def = this->add("initial_layer_jerk", coFloat);
|
||||||
def->label = L("Initial layer");
|
def->label = L("Initial layer");
|
||||||
def->tooltip = L("Jerk for initial layer");
|
def->tooltip = L("Jerk for initial layer");
|
||||||
|
|
|
@ -906,6 +906,7 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
|
||||||
((ConfigOptionFloat, default_jerk))
|
((ConfigOptionFloat, default_jerk))
|
||||||
((ConfigOptionFloat, outer_wall_jerk))
|
((ConfigOptionFloat, outer_wall_jerk))
|
||||||
((ConfigOptionFloat, inner_wall_jerk))
|
((ConfigOptionFloat, inner_wall_jerk))
|
||||||
|
((ConfigOptionFloat, infill_jerk))
|
||||||
((ConfigOptionFloat, top_surface_jerk))
|
((ConfigOptionFloat, top_surface_jerk))
|
||||||
((ConfigOptionFloat, initial_layer_jerk))
|
((ConfigOptionFloat, initial_layer_jerk))
|
||||||
((ConfigOptionFloat, travel_jerk))
|
((ConfigOptionFloat, travel_jerk))
|
||||||
|
|
|
@ -548,7 +548,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
|
||||||
|
|
||||||
bool have_default_jerk = config->opt_float("default_jerk") > 0;
|
bool have_default_jerk = config->opt_float("default_jerk") > 0;
|
||||||
|
|
||||||
for (auto el : { "outer_wall_jerk", "inner_wall_jerk", "initial_layer_jerk", "top_surface_jerk","travel_jerk" })
|
for (auto el : { "outer_wall_jerk", "inner_wall_jerk", "initial_layer_jerk", "top_surface_jerk","travel_jerk", "infill_jerk"})
|
||||||
toggle_field(el, have_default_jerk);
|
toggle_field(el, have_default_jerk);
|
||||||
|
|
||||||
bool have_skirt = config->opt_int("skirt_loops") > 0;
|
bool have_skirt = config->opt_int("skirt_loops") > 0;
|
||||||
|
|
|
@ -7913,10 +7913,9 @@ void Plater::calib_pa(bool line_method, bool bowden) {
|
||||||
auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config;
|
auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config;
|
||||||
auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config;
|
auto filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config;
|
||||||
filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats{ 1.0f });
|
filament_config->set_key_value("slow_down_layer_time", new ConfigOptionFloats{ 1.0f });
|
||||||
print_config->set_key_value("default_jerk", new ConfigOptionFloat(1.0f));
|
print_config->set_key_value("default_jerk", new ConfigOptionFloat(9.0f));
|
||||||
print_config->set_key_value("outer_wall_jerk", new ConfigOptionFloat(1.0f));
|
print_config->set_key_value("outer_wall_jerk", new ConfigOptionFloat(1.0f));
|
||||||
print_config->set_key_value("inner_wall_jerk", new ConfigOptionFloat(1.0f));
|
print_config->set_key_value("inner_wall_jerk", new ConfigOptionFloat(1.0f));
|
||||||
print_config->set_key_value("top_surface_jerk", new ConfigOptionFloat(1.0f));
|
|
||||||
model().objects[0]->config.set_key_value("seam_position", new ConfigOptionEnum<SeamPosition>(spRear));
|
model().objects[0]->config.set_key_value("seam_position", new ConfigOptionEnum<SeamPosition>(spRear));
|
||||||
|
|
||||||
changed_objects({ 0 });
|
changed_objects({ 0 });
|
||||||
|
|
|
@ -1944,6 +1944,7 @@ void TabPrint::build()
|
||||||
optgroup->append_single_option_line("default_jerk");
|
optgroup->append_single_option_line("default_jerk");
|
||||||
optgroup->append_single_option_line("outer_wall_jerk");
|
optgroup->append_single_option_line("outer_wall_jerk");
|
||||||
optgroup->append_single_option_line("inner_wall_jerk");
|
optgroup->append_single_option_line("inner_wall_jerk");
|
||||||
|
optgroup->append_single_option_line("infill_jerk");
|
||||||
optgroup->append_single_option_line("top_surface_jerk");
|
optgroup->append_single_option_line("top_surface_jerk");
|
||||||
optgroup->append_single_option_line("initial_layer_jerk");
|
optgroup->append_single_option_line("initial_layer_jerk");
|
||||||
optgroup->append_single_option_line("travel_jerk");
|
optgroup->append_single_option_line("travel_jerk");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue