====== How to run a Bed Mesh ====== {{tag>faq}} ==== Defining the Bed Mesh ==== We have to have the bed mesh parameter's defined before running a bed mesh. They are stored in [[printer.cfg]] Example for [[Neptune 4]] and [[Neptune 4 Pro]]: [bed_mesh] mesh_min:10,21 mesh_max:210,211 probe_count: 9,9 algorithm:bicubic bicubic_tension:0.2 mesh_pps: 4, 4 split_delta_z: 0.020 fade_start: 4 fade_end: 12 See the [[Klipper]] docs for more detailed explanations of the parameters. | probe_count | The number of points in the probed mesh | | mesh_pps: 4, 4 | Sets the interpolated mesh points between the probed mesh points | === Fade === In the above example observe we have enabled bed mesh fade. This trims the amount of compensation the bed mesh is applying over a height range. Here the fade starts at Z=4mm and has been completely tapered off and eliminated by Z=12mm. ==== Full Bed Meshes ==== Full bed meshes aren't useful for production printing because they are stale almost immediately, yet they are useful to evaluate the shape of the bed. Having a large probe matrix, such as the Elegoo "Professional" size bed mesh, isn't going to tell us significantly more about the overall bed shape than a 6x6 or 9x9 mesh in less time. We'll want to be using Adaptive Bed Meshes run at print time for production prints and they'll have a denser mesh for just the object size. ==== G29 ==== Note: the G29 gocode is a marlin gcode and not an actual gcode in [[Klipper]], and in Elegoo's distribution of [[printer.cfg]] it may, or may not otherwise, be implemented as a [[macros]]. Klipper instead natively implements the ''BED_MESH_CALIBRATE'' command which features a richer set of parameters and can accomodate [[adaptive_bed_mesh]]. As such consider that using G29 instead of the Klipper command is unreliable and unpredictable as its behavior may change. There's no reason not to use the Klipper correct ''BED_MESH_CALIBRATE''. ==== Full Bed Mesh ==== Run the following in the [[console]] to generate a full bed mesh that you can use to evaluate how flat the bed is compared to the bed level. G28; Home (optional) BED_MESH_CLEAR BED_MESH_CALIBRATE ''BED_MESH_CLEAR'' is realistically optional as the ''BED_MESH_CALIBRATE'' will overwrite the ''default'' or named mesh. ==== Adaptive Bed Meshes ==== Use the following in Orca's Printer Machine Start gcode: BED_MESH_CLEAR BED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=0 ADAPTIVE_MARGIN=0 Read the Orca docs on [[https://github.com/SoftFever/OrcaSlicer/wiki/adaptive-bed-mesh|Direct Adaptive Bed Mesh Compensation]]