willefg wrote: ↑Thu Nov 11, 2021 8:41 pm
Regarding extrusion calibration and getting perfect measurements, I've been using following test file and the Excel spreadsheet that is linked there.
https://www.thingiverse.com/thing:1622868
This works great. Easy and fast. You just print the part 6 times in a single machine run, measure the inside and outside sizes, enter these measurements in the spreadsheet together with the extrusion multiplier and extrusion width from you slicer and it will calculate the best extrusion multiplier to get the best result. Worked great for me.
I just checked the gcode from s3d and slic3r again, confirming what Ryan Carlyle posted in the thread on stackexchange.
Take a 50mm cube, slice it using 0.5mm extrusion width. The resulting gcode from s3d will show this:
Code: Select all
; feature inner perimeter
G1 X75.500 Y50.750 F9000
G1 E0.6000 F2100
G1 X124.000 Y50.750 E2.5205 F1500
G1 X124.000 Y99.250 E2.5205
G1 X75.500 Y99.250 E2.5205
G1 X75.500 Y50.750 E2.5205
; feature outer perimeter
G1 X75.000 Y50.250 F9000
G1 X124.500 Y50.250 E2.5725 F1500
G1 X124.500 Y99.750 E2.5725
G1 X75.000 Y99.750 E2.5725
G1 X75.000 Y50.250 E2.5725
The outer perimeters are spaced apart 49.5mm from each other. The inner perimeters are spaced at
exactly 0.5mm from the outer ones. So if the extruded plastic was in a perfect rectangular shape this
would fit perfectly.
Now let's have a look at one picture from the above thread again:
So the extruded plastic has to be wider than what's defined as extrusion width in s3d. Otherwise the
strands wouldn't bond together, leaving empty spaces. And this extra material will slightly overlap the
objects boundaries on the outermost perimeters.
An extrusion width of 0.5mm in Slic3r will result in this:
Code: Select all
;TYPE:Perimeter
G1 F3600.000
G1 X85.796 Y99.404 E1.12751
G1 X85.796 Y50.796 E2.25502
G1 X134.404 Y50.796 E2.25502
G1 X134.404 Y99.404 E2.25502
G1 X110.160 Y99.404 E1.12473
G1 X110.100 Y99.850 F12000.000
;TYPE:External perimeter
G1 F3000.000
G1 X85.350 Y99.850 E1.14822
G1 X85.350 Y50.350 E2.29644
G1 X134.850 Y50.350 E2.29644
G1 X134.850 Y99.850 E2.29644
G1 X110.160 Y99.850 E1.14543
G1 X109.789 Y99.599 F12000.000
Just as in S3D the outermost perimeters will be spaced 49.5mm from each other. But to get the
proper amount of overlap the inner perimeter is only spaced 0.446mm from the outer one,
not 0.50mm as in s3d.
By decreasing the extrusion multiplier here in s3d one would simply thin out the strands of plastic until
their real width is barely 0.50mm, resulting in accurate outer dimensions of the object but almost completely
missing the required overlap to fill the gaps between the perimeters/strands spaced at 0.50mm. So if the real
width of the extruded plastic was 0.53mm (adding +0.03mm to the 0.50mm extrusion width) you'd end
up with outer perimeters "protruding" about 0.015mm, making the 50mm cube ~50.03mm when printed.
You want to inset the outer perimeters to compensate for this, not lower the extrusion mutliplier.
Using slic3r one could also use the thing/spreadsheet - but only for very minor differences, nowhere near
the 20% you're currently deviating. Because slic3r is using the real extruded width (including the extra material
for overlapping) in it's calculations it will very likely be closer to the objects dimensions when printing using
default profiles not fine tuned using horizontal size compensation.
If your extrusion multiplier was really off by 20% you should've seen massive ridges on solid infill layers
when printing at 1.0/100%...