Coordinates offsets

I've been working around this, but I must be misunderstanding something basic about the environment. My printer homes off the bed to the left, so I have the X-axis and Y-axis printer setting home values set to -45 and -7 respectively in the printer EEPROM (and then these values are imported into repetier home/server). These values make 0,0 the lower left of the physical bed. However, when I printed objects via repetier server, they would always be offset considerably from the center of the bed, despite appearing centered during previews. I solved this by use of:

G92 X28 Y4

before a print while in home position. This pretty much centers the actual physical print on the bed. However, when viewing the print progress in repetier home (connected to repetier server) the 3D image is typically shown offset hanging off of the bed partially or completely.

What am I missing here? Thanks!


  • I think here is confusion about reachable coordinated vs. print area = bed. These are 2 different rectangles with hopefully bed inside reachable area. You have 2 solutions available. In firmware you could set "Endstop distance after homing" in config tool such that extruder moves away from endstops so it stops at edge of bed and setting xmin/ymin to 0,0. That is easy as slicers assume 0,0 to be either center or edge. Other solution is to set xmin/ymin so that 0,0 is still at bed edge and set bed position like that. In server you have the general tab setting reachable area while in shape tab you set where the bed is located for previewing.
  • I am working on a cartesian printer with a automatic hotend/extruder changer. The hotends have there parking position outside the printing area. I tried to use the x y z extruder offset, but only x and y is working correct, the z offset is not working.
    The moves for pick up of the hotends are made by the slicer software.
    For me the the  +- z Move of the z-offset on Tool Change is missing.
    Another question: are there different moves on G90 and G92?

  • G90 is just enabling absolute positioning. That only changes how incoming coordinates are handled but the big tail of processing keeps the same. G92 gets simply added to G0/1 move coordinates when in absolute mode.

    Extruder offsets influence how homing works so we can always change position. Z offset is relative to first extruder which should have 0 offset and works. Have a printer where z is different so I also need that. But not knowing what you all do with tool change I can imagine that the problem comes from the tool switch. Z gets either added before or after switch depending on bed movement required to not hit bed.

  • I just pulled out the actual settings. I definitely don't understand what's happening here, given the results I noted above. Updating the firmware would be ideal -- I'd like to do that for several reasons -- but is nontrivial since I don't have key configuration info for the printer -- in particular any data on the thermistors or temperature tables -- and I don't have time right now to deal with that from scratch. Even some of the workarounds to figure out new tables are tricky since the version I'm running has the bug that prevents me from seeing the extruder raw ADC values that I could use to build new tables for a new firmware build.

    Right now the Repetier server settings for the printer are X-Min -45, Y-Min -5 (these both match the EEPROM values in the printer). X-Max 210, Y-Max 205 (these are probably a bit low given the negative values previously noted). X-Home is 0, Y-Home is 0.

    For the record, in Repetier host (for the installation I use to position the builds, slice, and then upload to and monitor the build with the server) has the same settings for Xmin, Xmax, Ymin, and Ymax. Also Home X, Y, and Z are all set to 0. Print width is 255, depth 210, height 220.

    That's pretty much it. Is there some way I can alter the EEPROM, repetier server, and/or repetier host settings to avoid the anomalies that I discussed? Thanks!

  • Yes. Host has bed left/front value to adjust where bed lies and server has shape tab as already mentioned. So position the bed there so that it matches your printers bed position. Best is to home xy and then move right/top to find bed edge. For host you need distance moved and for server the coordinates returned by M114.
  • Repetier said:
     I can imagine that the problem comes from the tool switch. Z gets either added before or after switch depending on bed movement required to not hit bed.

    My workaround is following. I want to print with two or more Extruders which have an Z-Offset. Example T0 (0,0,0),  T1(3,0,6). Example: print starts with tool T0. After homeing all is ok. Now there is a Toolchange on the layer T0 -> T1. The Extruder T0 moves outside the printbed and the Extruder T1 is fetched and should start printing. (The commands for the Extruder changemoves are made by the slicer software). Therefore the z-offset (example 6) of Extruder T1 must be permanetly added to the actual Z-level (same as x y offset) still another z-offset is activ. Only a z-offset at print beginning is not enough. The difference between xy-offset and z-offset ist that there must be an extra G1 Z move after an z-offset change, because the next G1 command has no Z option.
  • Obviously I'm ignorant of some basic info here. How do these proposed settings changes relate to x-min, y-min, x-home, y-home, etc.? From your description, I do not understand exactly which settings in Server and Host I actually need to change, nor which ones need to be written back to the printer EEPROM. Sorry to be so dense about this.

  • Ok just tested simple switch

    and I can see z is moving during the switch. But please check what it is eeprom stored and remember extruder offsets are in steps and not mm, so 6 steps or not notable!.
  • I made another test. Ext1 offset = 0/0/0 Ext2 offset = 0/0/24000 (shown in Eeprom values). z axis step/mm = 2400.
    Here the tested g-code
    g1 z0.2
    g1 x10 y10
    g4 s3
    g1 x250  f1000
    g1 x180 y10.1
    g4 s2
    g1 x180 y200 f2000
    g1 x180 y100
    g4 s1
    g1 x50 y100 f1000
    g1 x80 y100

    The x moves are with T0 (Ext1) and the y moves with T1 (Ext2).
    it is the switch you tested. And what is the result?
    The first x moves are on level z0.2, the y moves are also on level2,
    after the toolchange the printbed goes to z10, the next x move g1 x50 y100 starts with Z10 and ends at Z0.2 and the last move is on level z0.2. (The LCD shows after all x=80.00, y=100.00, z=10.00 but the Hotend is in real on Z0.2!) The correct Z Level with offset must be z10.2 and not z10.00!

  • Ok, so first I read it does in fact move Z.

    Now how do you know it goes to Z=10 and not Z=10.2`? It should still write 0.2 on display as the offsets are not shown.

    Are you using dev version?
  • On my LCD the z niveau is displayed 10.00
    No I am not using the dev version.
  • Where can I get the dev version?

  • Also from config tool. First page offers to change version ans 0.92 offers dev version there. Or use this link directly:

  • Now i load the dev version and the offsets a working good.
  • After trying bltouch to work for 2 weeks I decided to opt it out. Now I purchased an 8mm inductive sensor and will try it. I had several problems with voltage, auto bed leveling, nozzle height. It works with Marlin but with Repetier I believe still needs some development.
Sign In or Register to comment.