<p>The inductive sensors trigger to the metal plate under the glass bed. This implies that if you remove the slate of glass, the distance between the trigger point and the print bed is increased by the thickness of the glass slate. But, the trigger point is still exactly the same as if there were a slate of glass (as it triggers on the metal bed underneath). This extra distance need to be compensated for.</p>

<p>The method you are using is incorrect in determining the distance between the nozzle and bed with respect to the sensor trigger point. <a href="/a/5858/">This answer</a> on question: <a href="/q/5857">"Z Offset on autoleveling sensor setup"</a> describes how you need to determine the distance between nozzle and bed from the trigger point. It includes a manual step to lower the nozzle a paper thickness above the build plate.</p>

<p>If you insist on using G-code (e.g. in your start G-code script), you can redefine the Z=0 level by adding a G-code <a href="https://reprap.org/wiki/G-code#G92:_Set_Position" rel="nofollow noreferrer"><code>G92</code></a>. In case of a 3&nbsp;mm glass plate, you should add after the homing (<code>G28</code>) and probing of the bed (<code>G29</code>) the following:</p>

<pre><code>G1 Z0  ; This will move the nozzle to Z=0 as if there was a slate of glass, 
         but in fact it is still 3 mm offset
G92 Z3 ; This redefines the old Z=0 (with glass) to be Z=3 mm
</code></pre>

CC BY-SA 4.0
2019-10-31T10:48:34.497Z
2019-10-31T11:06:58.647Z
2019-10-31T11:06:58.647Z
0scar
<p>So, I like to take off my glass build plate from my printer bed because I don't like to put any force on the bed bearings but this presents an issue. I have an inductive bed leveling probe and each time I remove the plate the Z offset seems to be off on the next print.</p>

<p>Instead of re-leveling my bed and setting the Z offset by hand, I thought of adding starting G-code to do that for me but I've hit a snag. I have an Ender 3 and use Slic3r.</p>

<p>The sequence of events I would like is as follows:</p>

<ol>
<li><code>G28</code> - home axis</li>
<li><code>G0 X150 Y130 Z5</code> - Moves to X150 Y130 Z5</li>
<li><code>G30 S1</code> - Performs a bed leveling probe at the current point. This raises the head 10&nbsp;mm and stops when the probe is triggered. The current Z height this stops at is what I want for the next command. </li>
<li><code>M851 Z</code>[insert Z height from prev command here]</li>
</ol>

<p>I know Slic3r has these placeholder values for some commands like <code>M109 S</code>[temperature_0] in the square brackets. Is there one for the current Z height?</p>

CC BY-SA 4.0
2019-10-31T04:58:02.320Z
Z value is the difference between sensing probe and nozzle height vs bed surface, for example M851 Z-2.0, for me since my probe is low sensitive vs glass thickness the value is -0.7. This value is inside the firmware instead setting each part I run G29. I'm using 3 bed glass same thickness
Fernando Baltazar
<marlin><creality-ender-3><slic3r>
Starting G-code for auto Z probe offset
CEO
# Starting G-code for auto Z probe offset

(Asked by: username_0 on 2019-10-31)

So, I like to take off my glass build plate from my printer bed because I don't like to put any force on the bed bearings but this presents an issue. I have an inductive bed leveling probe and each time I remove the plate the Z offset seems to be off on the next print.

Instead of re-leveling my bed and setting the Z offset by hand, I thought of adding starting G-code to do that for me but I've hit a snag. I have an Ender 3 and use Slic3r.

The sequence of events I would like is as follows:

1. `G28` - home axis
2. `G0 X150 Y130 Z5` - Moves to X150 Y130 Z5
3. `G30 S1` - Performs a bed leveling probe at the current point. This raises the head 10 mm and stops when the probe is triggered. The current Z height this stops at is what I want for the next command.
4. `M851 Z`[insert Z height from prev command here]

I know Slic3r has these placeholder values for some commands like `M109 S`[temperature\_0] in the square brackets. Is there one for the current Z height?

**Tags:** marlin, creality-ender-3, slic3r

> **Comments:**
> **username_1**: Z value is the difference between sensing probe and nozzle height vs bed surface, for example M851 Z-2.0, for me since my probe is low sensitive vs glass thickness the value is -0.7. This value is inside the firmware instead setting each part I run G29. I'm using 3 bed glass same thickness  

---

## 1 answers

### Answer by username_2 on 2019-10-31. Score: 1

The inductive sensors trigger to the metal plate under the glass bed. This implies that if you remove the slate of glass, the distance between the trigger point and the print bed is increased by the thickness of the glass slate. But, the trigger point is still exactly the same as if there were a slate of glass (as it triggers on the metal bed underneath). This extra distance need to be compensated for.

The method you are using is incorrect in determining the distance between the nozzle and bed with respect to the sensor trigger point. [This answer](/a/5858/) on question: ["Z Offset on autoleveling sensor setup"](/q/5857) describes how you need to determine the distance between nozzle and bed from the trigger point. It includes a manual step to lower the nozzle a paper thickness above the build plate.

If you insist on using G-code (e.g. in your start G-code script), you can redefine the Z=0 level by adding a G-code [`G92`](https://reprap.org/wiki/G-code#G92:_Set_Position). In case of a 3 mm glass plate, you should add after the homing (`G28`) and probing of the bed (`G29`) the following:

```
G1 Z0  ; This will move the nozzle to Z=0 as if there was a slate of glass, 
         but in fact it is still 3 mm offset
G92 Z3 ; This redefines the old Z=0 (with glass) to be Z=3 mm

```


---

