Originally posted by Vernon Barry
I just want you to get the terms right and understand this fully. You give the slicer a number of parameters plus the STL file. Those inputs inlcude actual measured filament diameter, nozzle size, layer height, and the STL. From the nozzle size and layer height. the slicer determines an extrusion width. See the nozzle is 0.4mm in diameter and squirts roughly that same size noodle of melted filament, however you will notice layer height generally follows the 1/2 to 3/4 ratio rule. By that I mean layer height is normally between 0.2mm to 0.3mm of a 0.4mm nozzle. Yes, you can go finer into the less than 1/2 ratio, but you increase extrusion pressure (0.1mm or less layer heights). Anyway, point is, the round noodle is smashed oval and becomes wider with more flat contact to the previous layer. So extrusion under ideal situations is wider than the nozzle. It's an assumed amount done by the math in the slicer. So really, we are talking extrusion width. Nozzle diameter is but an input plus the math results in the factor (extrusion width) that is used in all other parts of the slicing process. So think of extrusion width as the (how wide is my marker when drawing lines). Back to slicing, so the STL point cloud which is just a giant 3D connect the dots, is sliced in Z axis like meat on a meat slicer into 2D layers using the input value we set earlier for layer height. These layers are an outline drawing of dots for that layer. The next operation is the slicer then reads those 2D layers, takes the extrusion width (derived from nozzle size and layer height) and draws the out line permiter, and then any additional shells, and then the infill for a given layer. This creates the actual paths that the nozzle will follow. Now that we have the paths, we have the layer height, we have the extrusion width, we now can calculate a VOLUME of plastic to make any one of those lines or segments. This is where reverse math of knowing the filament diameter comes into play. The function is that plastic into the extruder = plastic out of the extruder on a volume basis. The incoming filament is a giant cylinder of a known diameter and infinite length. We already described the above for output how it's an oval cylinder, of a known cross section (layer height + extrusion width) and then for a segement, the length. So what happens here is any given segment has a known volume. The slicer then calculates I need X linear amount of 1.75mm (or whatever actual exact diameter is) and that represents a volume. So for that same line of gcode, we have the X Y Z motion start and stop distance, and now have a commanded E distance value for the extrusion as well. Now other steps happen in the slicer such as adding the start and end gcode sequences, speeds, and other things but will just kind of focus on the 2 that matter in this discussion, E extrusion values and the F values for feedrates.
When you change the REALTIME Tuning values on the screen of the printer, remember you are “playing back a gcode file”. The slicer created the values in the gcode and the printer simply “plays them as written”.
Changing feed rate is how fast the XYZE motion happens. You are simply taking whatever the F feedrate value is on every line of gcode and multiplying times the percentage value. 100% is NO change.
Flow rate ONLY adjusts the E extrusion values as a DISTANCE. Remember, filament volume of a Cylinder in (actual filament diameter time commanded E value distance is a cylinder of a known volume). So the E values actually played back becomes longer or shorter as you change Flow RATE. It's just a percentage so 100% is no change, 90% is less distance commanded, 110% is more filament distance commanded on a per gcode segment basis.
Discussions about ideaMaker and other printing software.
1 post • Page 1 of 1
Who is online
Users browsing this forum: No registered users and 1 guest