Just print 2 of those and snap on the top of the printer. Now you can bump the gantry on them to mechanically align your gantry.
You will also need 1 T-Nut and equivalent screw.
Ideal for Enders with 2 leadscrew but just 1 stepper driver controlling both motors. For Marlin you have to recompile firmware to enable Mechanical Gantry alignment. For Klipper you can use the following macro:
[gcode_macro MECHANICAL_GANTRY_CALIBRATION]
gcode:
### SET THIS DEFAULT CARFULLY - start really low
{% set my_current = params.CURRENT|default(0.3)|float %} ; adjust crash current on the fly :D
###
{% set oldcurrent = printer.configfile.settings["tmc2209 stepper_z"].run_current %} ; TODO: Find runtime current settings
{% set z_max = printer.toolhead.axis_maximum.z %}
{% set x_max = printer.toolhead.axis_maximum.x %}
{% set y_max = printer.toolhead.axis_maximum.y %}
{% set fast_move_z = printer.configfile.settings["printer"].max_z_velocity %}
{% set fast_move = printer.configfile.settings["printer"].max_velocity %}
{% if "xyz" not in printer.toolhead.homed_axes %}
G28 #Home All Axes
{% endif %}
G90 ; absolute
G0 X{x_max / 2} Y{y_max / 2} F{fast_move*0.8 * 60 } ;put toolhead in the center of the gantry
G0 Z{z_max} F{fast_move_z*0.8 * 60 } ; go to the Z-max at speed max z speed
SET_TMC_CURRENT STEPPER=stepper_z CURRENT={my_current} ; drop current on Z stepper
G4 P200 ; Probably not necessary, it is here just for sure
SET_KINEMATIC_POSITION Z={z_max - 10} ; Trick printer into beleiving the gantry is 12mm lower than it is
G1 Z{z_max} F{fast_move_z*0.5 * 60} ; try to move 10mm up
G4 P200 ; wait
G1 Z{z_max*0.2} F{fast_move_z*0.8 * 60} ; move 4mm down
G4 P200 ; same as the first one
SET_TMC_CURRENT STEPPER=stepper_z CURRENT={oldcurrent}
G4 P200 ; same as the first one
G28 Z ; we MUST home again as the ganty is really in the wrong place.
[gcode_macro G34]
gcode:
MECHANICAL_GANTRY_CALIBRATION
The author marked this model as their own original creation.