Exit Full View
Up

/Printer/CalibrateY.foocad

CalibrateY
FooCAD Source Code
/*
Prints a bar which should be 100mm. Wait for it to cool.
I guess your printer should be recalibrate whenever you re-tensioning the belt, and
also periodically (as the belt will naturally loosen over time)???

If your printer needs adjusting, you can then use gcode  :

    M503     # View the current steps per unit
    M92 Ynnn # Set the new value for the steps per unit
    M500     # Save settings in EEPROM

Where nnn = currentSteps * 100 / actualLength

e.g. My test print was 98.5mm and M503 reported :
        echo:  M92 X78.74 Y78.74 Z2560.00 E105.00

    So
        78.74 * 100 / 98.5 = 79.97

    M92 Y79.97

Print the model again, and repeated the proccess till it is as accurate as you want.
Then M500 to save the settings in EEPROM.

    M500

See https://marlinfw.org/docs/gcode/M092.html

If your printer doesn't support saving settings, then you could add the M92
command as preamble gcode within your slicer settings. Or if you are adventurous,
you could re-flash the firmware with corrected values (You did buy a printer with
free software right? ;-)

*/
class CalibrateY : Model {
    
    var size = 100

    override fun build() : Shape3d {
        val cube = Cube(6).centerXY() - 
            Text( "Y", BOLD, 4 ).center().extrude(5).translateZ(5.6)

        return cube.translateY(size-cube.size.x).also().centerXY() +
            Cube( 3, size, 0.8 ).centerXY() +
            Cube( 0.8, size, 3 ).centerXY()
    }
}