Configurable volumetric extrusion rate slope.

This commit is contained in:
bubnikv 2016-09-13 15:02:28 +02:00
parent 620c6c7378
commit 15c1edd552
6 changed files with 39 additions and 9 deletions

View file

@ -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;