M671 relative to what?

  • I'm adjusting the M671 command for my Voron 2.1 printer and I just can't figure out what's the reference point for the motor's positions.

    Is it the nozzle at Z0? Is it the nozzle at homed position of the gantry (which, in my case, it's a negative value being the 0,0 the back right corner)?

  • I meant "Is it the nozzle at X0 Y0?"

  • Relative to overall X0Y0. The nozzle has nothing to do with it (other than showing your eye where 0,0 is, after performing an absolute move to those coordinates).

    Also, the nomenclature can be confusing. The documentation says these are the positions of the leadscrews (not motors). In reality, they are the position of the pivot point where the bed can move. This may or may not be the screws, depending on the printer design.

    Having said that, as long as the coordinates are close, and you are willing to do multiple passes, the results will converge on zero error with each pass.

  • @Danal Like this? The distance was measured according to your description about the pivot point (in my case the center of the belts)

    The resulting gcode is at the bottom, considering the sequence that the motors are connected to the Duex5


  • This looks correct, except I believe it is possible the signs are reversed. Printers with origin in back/right are normally rotations of front/left. The way you show it is a mirror, not a rotation. Maybe that's the way that particular printer works... the only one I have that has origin back/left works opposite of what you show.

    Phrased another way: If you wanted to move the nozzle near-ish the motor at the bottom left of the diagram as we are viewing it on the computer screen, would the command be:

    G1 X380 Y320


    Or would that G1 move need minus signs?

  • @Danal These are my printer coordinates. I have defined the M671 coords based on the X0,Y0 point. Now I see what I've got wrong about the signals.


  • Then, the right motors' coordinates should be:


  • That looks correct.

Log in to reply