How is the E argument calculated for a given G1 command?
Basically, all movements are (small) straight lines, the volume of a straight line is easily calculated as you already guessed.

To calculate the volume to be extruded you multiply the following parameters:


the layer height (h)
flow modifier (e.g. as pertectage) (SF)
extruder nozzle diameter (d)
distance of the straight line (l)


With this volume you can calculate how much filament you need to extrude. To get the length (thus the length defined by the E parameter), divide the obtained volume by surface area of your used filament by:


π * (filament radius)2 or alternatively π /4 * (filament diameter)2


To sum up, the value of E is given by: