this post was submitted on 09 Aug 2024
14 points (100.0% liked)

3DPrinting

15751 readers
101 users here now

3DPrinting is a place where makers of all skill levels and walks of life can learn about and discuss 3D printing and development of 3D printed parts and devices.

The r/functionalprint community is now located at: or [email protected]

There are CAD communities available at: [email protected] or [email protected]

Rules

If you need an easy way to host pictures, https://catbox.moe may be an option. Be ethical about what you post and donate if you are able or use this a lot. It is just an individual hosting content, not a company. The image embedding syntax for Lemmy is ![](URL)

Moderation policy: Light, mostly invisible

founded 2 years ago
MODERATORS
14
submitted 4 months ago* (last edited 4 months ago) by LazaroFilm to c/3dprinting
 

Homing your printer systematically before a print is redundant, a waste of time and sometimes even an issue (if your homing probe is misbehaving and you’ve already dialed an offset by need to restart the print for a clean first layer for instance) I recently came upon this G28 macro that only homes of the printed is not already homed.

[gcode_macro G28]
# Only home if needed.
rename_existing: G28.1
gcode:
    {% if PA %}
        G28.1 {PA}
    {% else %}
        {% if printer.toolhead.homed_axes != "xyz" %}
            G28.1
        {% endif %}
    {% endif %}

All you have to do is add this to your macro.cfg file and it will override any G28 command from any gcode and only execute a home if needed. If you want to execute a home even if not needed, you can send the command G28.1 or give it a parameter, like G28 X, or G28 XYZ and it will force the homing

top 6 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 4 months ago (1 children)

Seems like a more efficient choice but be wary (weary?) that some printers will unlock the motors after sitting for X amount of time without any movement or commands, which will require you to home again anyways.

This seems ideal if you're running prints back to back though.

[–] LazaroFilm 2 points 4 months ago (1 children)

Then if the motors are released the home will activate. No issue there.

[–] [email protected] 3 points 4 months ago (1 children)

Yeah I meant it as more a heads up if someone finds themselves in a scenario like you described where their bed probe is on the fritz and they're hoping to work around that.

[–] LazaroFilm 1 points 4 months ago

Also, this is for Klipper you can change the behavior of your printer to do whatever you want.

[–] IMALlama 3 points 4 months ago

If you're having some level of variation in your z-offset, or you run an enclosed printer that grows some in z when it heats, this macro is great: https://github.com/protoloft/klipper_z_calibration

Just make sure your probe location is in the same spot as your bed mesh zero point.

Note that it's intended for klicky probes, but you could probably use it with other probes with some modification.

[–] papalonian 1 points 4 months ago

Yup, I got this set up when my BLTouch mount broke and I had to zip tie it to the print head resulting in less-than-perfect repeatability. Changing the default G28 command is a good way to do it, I did it by making a new macro CG28 and put that in my START_PRINT macro in place of G28.