### What exactly does automatic bed leveling do?

• I get the concept of automatic bed leveling...the printer moves around the bed and uses a sensor to identify high and low spots, then "software compensates for differences".

But what exactly does "compensates" mean?

It is extruding more material in the low spots to build them up and thinning out the high spots? Is it adding or removing layers? Is it shifting layers as it goes up to compensate tilt? Or...?

In what ways will this affect the final outcome? Would it be valid to say that if you wanted an automatically leveled bed and dimensional accuracy you should always print to a raft?

it just sets the floor to a non-zero Z value, layers are all bumped up uniformly. iow, if you had 1mm layers, and 5 layers, it could use 1-6 instead of 0-5. it's more precise, but that's the main idea: min z height

This is a great question and I would really like to see some citations in some of these excellent answers.

Let's say your bed is tilted 5 degrees from the northwest corner to the southeast corner. This extreme example is to help with mental visualization. Will the ABL compensate to the point that all faces that are perpendicular to the XY plane in 3d space will be adjusted so they remain perpendicular to the build plate? I think the question about the raft is an excellent one and it does matter. A raft could potentially build up a truly flat surface that is parallel to the XY plane of the print head. I turned ABL off since I'm fine with leveling the bed before every print.

• Last first: use of a raft has nothing to do with bed levelling. It depends only on the features/shape/etc of the object being printed.

Now, as to what the auto-levelling does: the answer is, sadly "it depends." A simple algorithm will just find the Z-height of the four corners and apply a bilinear correction to Z as a function of {x,y} coordinates. A really good algorithm would map the entire build plate to some designated precision (perhaps 5 mm) and create a 2-dimensional lookup table to adjust Z over a curved build plate. What your printer's levelling software does is more likely the former.

Why? because if you try to correct over curves & bumps, then you will end up distorting your entire printed object (basically forcing every layer to follow those distorted axes). Far better to have some flattened or "fat" spots in the first layer printed, and then print proper planar layers after that.

Example: I know my bed (AnetA8 aluminum) is slightly bowed, peak in the center; so after levelling the overall bed I try to set the Z-zero so the outer extremes of my object have good adhesion, even if the center region of the first couple layers ends up non-extruding because the nozzle touches the bed.