<p>For Cura 3.1(?)+:</p>
<ol>
<li><p>Install the plugin: Menu / Plugins / Browse Plugins... / scroll to &quot;Z Offset plugin&quot; <strong>&lt;-- Install</strong></p>
</li>
<li><p>Configure the setting: <code>Printer Profile / Print Setup / Build Plate Adhesion / Z Offset</code></p>
</li>
</ol>
<ul>
<li>set positive value for nozzle liftup</li>
<li><strong>set negative value</strong> to bring nozzle lower for first layer (like -0.1 for your wanted scenario)</li>
</ul>
<p><strong>Note</strong>: The maximum/minimum value is the layer height of the first layer.</p>

CC BY-SA 4.0
2021-01-31T13:30:31.677Z
Could somebody update this for Cura 4.8?
Sixtyfive
CC BY-SA 4.0
2018-05-08T06:56:25.927Z
2024-07-14T13:17:26.363Z
2024-07-14T13:17:26.363Z
Saran
<p>I built my printer five years ago with a similar issue and I strongly suggest that the physical 0 will be the actual 0 instead of tweeking it into the system. Especially if you are exploring and testing new methods, i.e. Cura vs Slic3r settings. In Marlin, you can insert a z adjustment for the endstops but it can create future complications if you decide to upgrade the machine.</p>

<p>Keep it as simple as possible, if a sensor is misplaced don't try to reverse calculate it, the pressure of the motors will nudge it and after a while you'll have the same problem...</p>

CC BY-SA 4.0
2020-02-22T15:08:46.173Z
@ZoharKarabelnik technically you just said to set offset to match physical zero. Agreed, but now you need to suggest an alternative on how to provide the correct offset for nozzle distance to bed. That part you did not say. I would suggest those looking for an answer to set z-offset to match zero, and then look at Gcode G92 Z-xxx where -xxx is your preferred nozzle gap as a negative to create the gap.
redfox05
CC BY-SA 4.0
2018-05-08T16:57:16.493Z
2018-05-15T12:28:30.210Z
2018-05-15T12:28:30.210Z
Zohar Karabelnik
<p>You can trick the printer into applying an offset using the <code>G92</code> command:</p>

<pre><code>G0 Z0

G92 Z0.1
</code></pre>

<p>First, we move the nozzle to <code>Z=0</code>. Next, through the <code>G92</code> command, we tell the printer to, from now on, treat the current position as <code>Z=0.1</code>. This effectively applies an offset of <code>-0.1</code> to the Z-axis, since if we now executed <code>G0 Z0</code> again, the nozzle would move down <code>0.1mm</code>.</p>

<p>Note that this needs to be done after homing and leveling to be effective.</p>

<p>Of course, you don't necessarily need to move the nozzle to <code>Z=0</code> for this to work. You could also just insert <code>G92 Z15.1</code> after <code>G0 Z15</code> to get the same effect.</p>

CC BY-SA 3.0
2017-10-16T17:48:01.223Z
Should I add the line `G92 Z15.1` after the `G1 Z15.0 F6000` line (you write about G0 while G1 is there)?
Thomas S.
CC BY-SA 3.0
2017-10-16T18:41:54.973Z
Yes. `G0` and `G1` are the same thing. Formally, `G0` denotes a rapid move and `G1` a coordinated move, but Marlin doesn't make this distinction. It's just "move".
Tom van der Zanden
CC BY-SA 3.0
2017-10-16T14:54:54.080Z
2017-10-16T14:54:54.080Z
Tom van der Zanden
<p>I'm having a Prusa i3 derivative printer with a capacitive sensor for the z-axis. It switches a tiny bit before the nozzle hits the print bed and hence needs a z-offset to be configured.</p>

<p>In Slic3r I have configured the z-offset to <code>-0.1</code> on the <em>General</em> page of the <em>Printer Settings</em>, but currently I'm evaluating Cura and can't find such a setting. Slic3r seems to apply this setting directly to the generated z-values in the g-code, so it does not use a short version at the beginning of the g-code. My current (except of the auto-bed-leveling part default) g-code:</p>

<pre><code>G28 ;Home
G29 ; auto-bed-leveling
G1 Z15.0 F6000 ;Move the platform down 15mm
G92 E0
G1 F200 E3
G92 E0
</code></pre>

<p>Is there a way to configure Cura, e.g. using the <em>Start Gcode</em> options, to apply the z-offset?</p>

<ultimaker-cura><g-code>
Cura: set z-offset
Thomas S.
# Cura: set z-offset

(Asked by: username_0 on 2017-10-16)

I'm having a Prusa i3 derivative printer with a capacitive sensor for the z-axis. It switches a tiny bit before the nozzle hits the print bed and hence needs a z-offset to be configured.

In Slic3r I have configured the z-offset to `-0.1` on the *General* page of the *Printer Settings*, but currently I'm evaluating Cura and can't find such a setting. Slic3r seems to apply this setting directly to the generated z-values in the g-code, so it does not use a short version at the beginning of the g-code. My current (except of the auto-bed-leveling part default) g-code:

```
G28 ;Home
G29 ; auto-bed-leveling
G1 Z15.0 F6000 ;Move the platform down 15mm
G92 E0
G1 F200 E3
G92 E0

```

Is there a way to configure Cura, e.g. using the *Start Gcode* options, to apply the z-offset?

**Tags:** ultimaker-cura, g-code


---

## 3 answers

### Answer by username_5 on 2017-10-16. Score: 12 | Accepted answer

You can trick the printer into applying an offset using the `G92` command:

```
G0 Z0

G92 Z0.1

```

First, we move the nozzle to `Z=0`. Next, through the `G92` command, we tell the printer to, from now on, treat the current position as `Z=0.1`. This effectively applies an offset of `-0.1` to the Z-axis, since if we now executed `G0 Z0` again, the nozzle would move down `0.1mm`.

Note that this needs to be done after homing and leveling to be effective.

Of course, you don't necessarily need to move the nozzle to `Z=0` for this to work. You could also just insert `G92 Z15.1` after `G0 Z15` to get the same effect.

> **Comments:**
> **username_0**: Should I add the line `G92 Z15.1` after the `G1 Z15.0 F6000` line (you write about G0 while G1 is there)?  
> **username_5**: Yes. `G0` and `G1` are the same thing. Formally, `G0` denotes a rapid move and `G1` a coordinated move, but Marlin doesn't make this distinction. It's just "move".  

---

### Answer by username_1 on 2018-05-08. Score: 7

For Cura 3.1(?)+:

1. Install the plugin: Menu / Plugins / Browse Plugins... / scroll to "Z Offset plugin" **<-- Install**
2. Configure the setting: `Printer Profile / Print Setup / Build Plate Adhesion / Z Offset`

* set positive value for nozzle liftup
* **set negative value** to bring nozzle lower for first layer (like -0.1 for your wanted scenario)

**Note**: The maximum/minimum value is the layer height of the first layer.

> **Comments:**
> **username_2**: Could somebody update this for Cura 4.8?  

---

### Answer by username_3 on 2018-05-08. Score: -1

I built my printer five years ago with a similar issue and I strongly suggest that the physical 0 will be the actual 0 instead of tweeking it into the system. Especially if you are exploring and testing new methods, i.e. Cura vs Slic3r settings. In Marlin, you can insert a z adjustment for the endstops but it can create future complications if you decide to upgrade the machine.

Keep it as simple as possible, if a sensor is misplaced don't try to reverse calculate it, the pressure of the motors will nudge it and after a while you'll have the same problem...

> **Comments:**
> **username_4**: @username_3 technically you just said to set offset to match physical zero. Agreed, but now you need to suggest an alternative on how to provide the correct offset for nozzle distance to bed. That part you did not say. I would suggest those looking for an answer to set z-offset to match zero, and then look at Gcode G92 Z-xxx where -xxx is your preferred nozzle gap as a negative to create the gap.  

---

