Apr 28, 2019

Z Offset (3D Printing) – How to Adjust It

Having trouble getting your prints to stick even after manually leveling the build plate? Would you like to print on top of an existing object? Try using Z offset to adjust where your 3D printer starts printing.

What Is Z Offset?

The offset can be positive or negative depending upon if the bed is too close or too far away. Source: bladefire doomsday / YouTube

For many 3D printing enthusiasts, getting the perfect initial layer dictates the quality of the resulting print. Z offset distance offers a method to ensure first layer perfection. Z offset is the distance between the hot end and the Z home position on 3D printers. Ideally, this would match the distance between the hot end and the print bed, as well. However, differences in limit switch position, homing probes, and manual bed leveling complicate this issue. The most common reason for adjusting the Z offset is to allow for the addition of a glass or thick bed material. Other reasons are listed below:

  • Printing directly on top of an existing object (for example, printing directly on glass to make a picture frame)
  • Embedding magnets inside a print (for example, by pausing the printer mid-print)
  • Fine-tuning the first layer for perfect printing

There are two methods of adjusting the Z offset. One method involves altering the G-code and the other directly inputting the offset in a slicer. Here we’ll explain both methods.

Adjusting With G-code

G-code can be used to adjust many different settings. Source: Robotics and Automation News

The key to adjusting Z offset using G-code is to home the printer first. This G-code will home the printer to the limit stop of the printer.

Homing printhead command: G28 Z0;

Next, the set position command can be used to set a manual Z offset for printing.

Set position command: G92 Z0.1;

In this case, the printer has set the current position (home position) to be Z = 0.1 mm. This will create a -0.1-mm offset in reality. The result is that any movement command after this will be lowered by 0.1 mm in the Z-axis. To raise the nozzle to print on a surface, you’ll want to use negative values of Z offset (Z-0.1). This will shift the head up (0.1 mm).

Adjusting With a Slicer

Z offset can be set under the "Build Plate Adhesion" menu item in Cura. Source: Benjamin Goldschmidt / All3DP

Adjusting the Z offset using the slicer can be much easier than doing it manually in G-code. The exact location of this feature will depend on the slicer you are using, but here we walk you through the steps for the commonly used Cura.

In Cura 4.0.0, go to the marketplace by clicking on the icon in the upper right-hand corner of the screen. This will bring up a box of downloadable plugins that can be used in Cura. Navigate to the bottom of the list and click on the icon called “Z offset setting”. Once installed, you can access the setting under the “Build plate adhesion” dropdown box to set the amount of offset.

Is It That Easy?

3D printing on an uneven object can cause the initial object to be knocked off by accidental collision with the printhead. Source: SirHodges / Reddit

Yes, it is that easy. However, there are a couple things to keep in mind.

First, problems can occur when inputting a Z offset that cause the printhead to hit the limit switch. The limit switch will prevent the offset from occurring as it overrides any written G-code. Secondly, problems can also occur if you are trying to print on a significantly uneven object. You need to remember that the printhead may run into the object as it travels to start 3D printing the first layer. This can be overcome with additional G-code. However, it will have to be specific to the object being printed on.

Overall, adjusting the Z offset is an easy process that will improve the types of things you can make. Using this guide, you’ll reach new heights in no time!

Feature image source: Restfulleo23 / Reddit

License: The text of "Z Offset (3D Printing) – How to Adjust It" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.

Subscribe to updates from All3DP

You are subscribed to updates from All3DP

You can’t subscribe to updates from All3DP. Learn more… Subscribe

You can’t subscribe to updates from All3DP. Learn more…

B719266D-CB2F-4571-9ABD-AFEC8A7D79DCB719266D-CB2F-4571-9ABD-AFEC8A7D79DCB719266D-CB2F-4571-9ABD-AFEC8A7D79DC