diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 5c03552bf..697f2f72c 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -299,7 +299,7 @@ extern float feedrate; extern int feedmultiply; extern int extrudemultiply; // Sets extrude multiply factor (in percent) for all extruders extern int extruder_multiply[EXTRUDERS]; // sets extrude multiply factor (in percent) for each extruder individually -extern float volumetric_multiplier[EXTRUDERS]; // reciprocal of cross-sectional area of filament (in square millimeters), stored this way to reduce computational burden in planner +extern float extruder_multiplier[EXTRUDERS]; // reciprocal of cross-sectional area of filament (in square millimeters), stored this way to reduce computational burden in planner extern float current_position[NUM_AXIS] ; extern float destination[NUM_AXIS] ; extern float min_pos[3]; diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index bc991fdf8..a994c74fd 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -1098,7 +1098,7 @@ Having the real displacement of the head, we can calculate the total movement le if (block->use_advance_lead) { // all extrusion moves with LA require a compression which is proportional to the // extrusion_length to distance ratio (e/D) - e_D_ratio = (e - position_float[E_AXIS]) / + e_D_ratio = ((e - position_float[E_AXIS]) / extruder_multiplier[extruder]) / sqrt(sq(x - position_float[X_AXIS]) + sq(y - position_float[Y_AXIS]) + sq(z - position_float[Z_AXIS]));