mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-22 16:21:24 -06:00
Configurable volumetric extrusion rate slope.
This commit is contained in:
parent
620c6c7378
commit
15c1edd552
6 changed files with 39 additions and 9 deletions
|
@ -44,11 +44,13 @@ void GCodePressureEqualizer::reset()
|
|||
}
|
||||
|
||||
m_max_segment_length = 20.f;
|
||||
// Volumetric rate of a 0.45mm x 0.2mm extrusion at 60mm/min XY movement: 0.45*0.2*60*60=5.4*60 = 324 mm^3/min
|
||||
// Volumetric rate of a 0.45mm x 0.2mm extrusion at 20mm/min XY movement: 0.45*0.2*20*60=1.8*60 = 108 mm^3/min
|
||||
// Slope of the volumetric rate, changing from 20mm^3/min to 60mm^3/min over 2 seconds: (5.4-1.8)*60*60/2=60*60*1.8 = 6480 mm^3/min^2
|
||||
m_max_volumetric_extrusion_rate_slope_positive = 6480.f;
|
||||
m_max_volumetric_extrusion_rate_slope_negative = 6480.f;
|
||||
// Volumetric rate of a 0.45mm x 0.2mm extrusion at 60mm/s XY movement: 0.45*0.2*60*60=5.4*60 = 324 mm^3/min
|
||||
// Volumetric rate of a 0.45mm x 0.2mm extrusion at 20mm/s XY movement: 0.45*0.2*20*60=1.8*60 = 108 mm^3/min
|
||||
// Slope of the volumetric rate, changing from 20mm/s to 60mm/s over 2 seconds: (5.4-1.8)*60*60/2=60*60*1.8 = 6480 mm^3/min^2 = 1.8 mm^3/s^2
|
||||
m_max_volumetric_extrusion_rate_slope_positive = (this->m_config == NULL) ? 6480.f :
|
||||
this->m_config->max_volumetric_extrusion_rate_slope_positive.value * 60. * 60.;
|
||||
m_max_volumetric_extrusion_rate_slope_negative = (this->m_config == NULL) ? 6480.f :
|
||||
this->m_config->max_volumetric_extrusion_rate_slope_negative.value * 60. * 60.;
|
||||
|
||||
for (size_t i = 0; i < numExtrusionRoles; ++ i) {
|
||||
m_max_volumetric_extrusion_rate_slopes[i].negative = m_max_volumetric_extrusion_rate_slope_negative;
|
||||
|
|
|
@ -595,6 +595,24 @@ PrintConfigDef::PrintConfigDef()
|
|||
def->min = 0;
|
||||
def->default_value = new ConfigOptionFloat(0);
|
||||
|
||||
def = this->add("max_volumetric_extrusion_rate_slope_positive", coFloat);
|
||||
def->label = "Max volumetric slope positive";
|
||||
def->tooltip = "This experimental setting is used to limit the speed of change in extrusion rate. A value of 1.8 mm³/s² ensures, that a change from the extrusion rate "
|
||||
"of 1.8 mm³/s (0.45mm extrusion width, 0.2mm extrusion height, feedrate 20 mm/s) to 5.4 mm³/s (feedrate 60 mm/s) will take at least 2 seconds.";
|
||||
def->sidetext = "mm³/s²";
|
||||
def->cli = "max-volumetric-extrusion-rate-slope-positive=f";
|
||||
def->min = 0;
|
||||
def->default_value = new ConfigOptionFloat(0);
|
||||
|
||||
def = this->add("max_volumetric_extrusion_rate_slope_negative", coFloat);
|
||||
def->label = "Max volumetric slope negative";
|
||||
def->tooltip = "This experimental setting is used to limit the speed of change in extrusion rate. A value of 1.8 mm³/s² ensures, that a change from the extrusion rate "
|
||||
"of 1.8 mm³/s (0.45mm extrusion width, 0.2mm extrusion height, feedrate 20 mm/s) to 5.4 mm³/s (feedrate 60 mm/s) will take at least 2 seconds.";
|
||||
def->sidetext = "mm³/s²";
|
||||
def->cli = "max-volumetric-extrusion-rate-slope-negative=f";
|
||||
def->min = 0;
|
||||
def->default_value = new ConfigOptionFloat(0);
|
||||
|
||||
def = this->add("min_fan_speed", coInt);
|
||||
def->label = "Min";
|
||||
def->tooltip = "This setting represents the minimum PWM your fan needs to work.";
|
||||
|
|
|
@ -289,6 +289,8 @@ class GCodeConfig : public virtual StaticPrintConfig
|
|||
ConfigOptionString layer_gcode;
|
||||
ConfigOptionFloat max_print_speed;
|
||||
ConfigOptionFloat max_volumetric_speed;
|
||||
ConfigOptionFloat max_volumetric_extrusion_rate_slope_positive;
|
||||
ConfigOptionFloat max_volumetric_extrusion_rate_slope_negative;
|
||||
ConfigOptionFloat pressure_advance;
|
||||
ConfigOptionFloats retract_length;
|
||||
ConfigOptionFloats retract_length_toolchange;
|
||||
|
@ -321,6 +323,8 @@ class GCodeConfig : public virtual StaticPrintConfig
|
|||
OPT_PTR(layer_gcode);
|
||||
OPT_PTR(max_print_speed);
|
||||
OPT_PTR(max_volumetric_speed);
|
||||
OPT_PTR(max_volumetric_extrusion_rate_slope_positive);
|
||||
OPT_PTR(max_volumetric_extrusion_rate_slope_negative);
|
||||
OPT_PTR(pressure_advance);
|
||||
OPT_PTR(retract_length);
|
||||
OPT_PTR(retract_length_toolchange);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue