How to retrieve calibrated Z height to gcode section of Orcaslicer?

Basic Information:

Printer Model: Prusa i3MK3S+
MCU / Printerboard: Einsy
Host / SBC RPI 5

Describe your issue:

I used the paper method and probe_calibrate to find the Z value. Then, I used save_config to save it to printer.cfg.

When I printed a prime line at the front left, the nozzle was printing the line in air. I guess I need to lower the nozzle to the height obtained in the paper method. How do I get the Z calibrated value into the start Gcode section of OrcaSlicer so that when the nozzle is printing the prime line and subsequently the first layer of the printed object, it is at the correct calibrated height?

Hi @printeruser ,

You don’t need to put the Z-offset into your slicer. Klipper handles it automatically.

Can you try the below procedure and tell me what happens please?

  1. Home all axes
  2. Place paper below nozzle
  3. Using Mainsail/Fluidd/KlipperScreen, move the nozzle to Z0

Is the paper well-gripped between the nozzle and the bed?

If not, you can use the Z-offset function in your UI (screenshot shows Mainsail) to jog the nozzle up/down until the paper is well-gripped, but not impossible to move, below the nozzle. Then, click save (the save button appears only after you modify your Z-offset).

1 Like

What is Z0 in Step.3?

Yesterday and previously, I placed the paper in between the nozzle and the steel sheet. Then, used the UI to lower the nozzle until I felt friction between the paper and the nozzle while moving it. Then, clicked Accept followed by save_config to save the information to printer.cfg. I will repeat the procedure again once I know what you mean by Z0.

In the below screenshot, to move to Z0 (Z=0mm), click on the indicated textbox, type 0, and press enter.

1 Like

After I entered Z = 0 in Step.3, the paper is gripped between the nozzle and the bed. However, I can still move it around while feeling friction. Do I need to issue a: save_config?

I changed the start G-code. Now no mid air printing but as you see from the screen shot, the boundary was not made correctly and the 1st layer of support (large light green area) was not well made. I just terminated the print job.

Imgur

Here is the G-code under Machine start G-code section of OrcaSlicer:

M862.3 P "[printer_model]" ; printer model check
M862.1 P[nozzle_diameter] ; nozzle diameter check
M115 U3.13.0 ; tell printer latest fw version
G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S[first_layer_temperature] ; set extruder temp
M140 S[first_layer_bed_temperature] ; set bed temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 S[first_layer_temperature] ; wait for extruder temp
G28 W ; home all without mesh bed level
;G80  mesh bed leveling

; Always pass `ADAPTIVE_MARGIN=0` because Orca has already handled `adaptive_bed_mesh_margin` internally
; Make sure to set ADAPTIVE to 0 otherwise Klipper will use it's own adaptive bed mesh logic
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


{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}
G1 Z0.3 F720
G1 Y-3 F1000 ; go outside print area
G92 E0
G1 X60 E9 F1000 ; intro line
G1 X100 E9 F1000 ; intro line
{else}
G1 Z0.2 F720
G1 Y-3 F1000 ; go outside print area
G92 E0
G1 X60 E9 F1000 ; intro line
G1 X100 E12.5 F1000 ; intro line
{endif}
G92 E0
M221 S{if layer_height<0.075}100{else}95{endif}

If you didn’t need to babystep the Z, you don’t need to run SAVE_CONFIG.

Supports are a bit weird. Can you try with a normal print please?

1 Like

You mean without support?

Yes. A simple cube will work. In Orca, you can right-click → Add primitive → Cube.

1 Like

That is a good idea.

First layer also did not go well. I then cleaned the steel sheet and tried again. However, the situation does not improve. Please refer to the screenshots.

Am I supposed to issue the adaptive bed meshing in the start G-code? I just copied the Klipper example from:

adaptive bed mesh · SoftFever/OrcaSlicer Wiki

Meanwhile, am I supposed to comment out the following:

[bed_mesh]
probe_count: 7, 7

from printer.cfg?

I have tried various things without success.

I thought it might be due to a clogged nozzle but after using a needle and tightened the idler door, same problem. Reducing the print temperature from 230C to 220C did not help. Tried both standard and adaptive bed mesh leveling but same thing. The strange thing is that I made a successful print after I added Input Shaping yesterday but today when I made the same print, same poor first layer.

To make things simple, I uncommented calling of FLAP in printer.cfg. The printer printed the prime line in mid air again. Then, it lowered the nozzle until it reach the right region to print the object. Again, poor first layer.

I have no idea what is wrong.


The poor 1st layer strange problem is gone after I replaced all the files in the config folder by the ones I backup yesterday.

Now back to the original problem of printing the prime line mid-air. After Homing, it did an adaptive bed mesh leveling. Then, as the extruder moved from the right to the left, it printed a prime line mid-air. Then, printed another prime line from left to right. After that, it started printing.


The problem seems to be caused by the nozzle not being close enough to the steel sheet after adaptive bed mesh leveling. I manually added a G-code in the Start G-Code of the slicer to move the nozzle to 2mm in height in absolute coordinate. The the prime lines were printed on the steel sheet.

Please upload your images here and not to (another) fileserver.

2 Likes