General explanation about coordinate setup and preceedence



  • Hello,

    i got always in confusion with handling different G-Codes to setup my cartesian printer. I need to know the most important primitive G-Code to start with.

    vz0: (virtual zero 0,0,0)
    the virtual point 0,0 to define the front left corner of my print bed in relation to min, max of my X travel and y travel limited by endswitch
    (Is that M208?)

    vp0: virtual probe position
    offset from vp0. (Is there an appropriate command?)

    vt0, vt1,vt2: virtual offset from vp0 for Nozzle of tools.
    Somtimes the explanation of G31 is the offset between probe and nozzle. Bad - because of which nozzle?
    https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCartesianPrinter (Z-Probe section)

    i am confused with M208, G10, G1 G30 commands.
    Is M208 the most primitive definition?

    There are many unclear points:
    Example... Mesh grid:
    Is the definition for X- and Y-position of the probe vp0 or the bed pos vz0 or endswitch 0,0?

    interaction with slic3r:
    in slic3r i can set up the bed size size but the front left corner is defined as 0,0 (my vp0). But i see offsets to my bed. is this the M208 - Offset?

    thank you in Advance,
    BR,
    Thilo



  • @THaala said in General explanation about coordinate setup and preceedence:

    vz0: (virtual zero 0,0,0)

    This is the origin for the machine and is just the convention to have this in the lower front left corner.

    @THaala said in General explanation about coordinate setup and preceedence:

    vp0: virtual probe position
    offset from vp0. (Is there an appropriate command?)

    its the offset of the probe from the nozzle, unrelated to any of the coordinate systems. is set in your z-probe G31 command
    https://duet3d.dozuki.com/Wiki/Gcode#Section_G31_Set_or_Report_Current_Probe_status

    @THaala said in General explanation about coordinate setup and preceedence:

    i am confused with M208, G10, G1 G30 commands.
    Is M208 the most primitive definition?

    M208 defines the physical limits of the travel so the machine avoid moving too far.
    https://duet3d.dozuki.com/Wiki/Gcode#Section_M208_Set_axis_max_travel
    G10 has several functions, mostly relevant for multiple tools or cnc applications
    https://duet3d.dozuki.com/Wiki/Gcode#Section_G10_Tool_Offset
    G1 is a telling the printer to move, basically this controls the printing motion
    https://duet3d.dozuki.com/Wiki/Gcode#Section_G0_G1_Move
    G30 is not easy to summarize, but well documented
    https://duet3d.dozuki.com/Wiki/Gcode#Section_G30_Single_Z_Probe



  • Hello bearer,

    thank you for your interest.
    i have often read every of your mentioned G-Code articles. But i found there is room for questions.

    About vz0:

    if my endstop resides 20mm left of the bed then i forced to interpret ever X coordinate to add 20 mm reaching x=0 of the bed?
    And also i need to set M208 to xmin = - 20 right?

    About vp0:

    Help me to clarify:
    That means - on tool change i forced to set new offset of probe, related to the new tool?
    Whats about movements without tools?

    About G1 moves (with absolute positioning):
    Almost related from endstops positive? G1 X=20 means X=0 on the Bed?

    About mesh grid:
    Mesh grid also measured from endstops origin - are all coords measured from endstops origin?

    Whats about the tool and the probe offset while z-map generation?
    In fact on my printer i can deselect all tools an let run a mesh grid probe. if always the probe is related to a tool and i have none whats about measurements?
    In fact the probe is fix mounted and can measure the bed.

    About slic3r:
    I have to add the bed offset in mind?

    BR,
    Thilo



  • @THaala said in General explanation about coordinate setup and preceedence:

    if my endstop resides 20mm left of the bed then i forced to interpret ever X coordinate to add 20 mm reaching x=0 of the bed?
    And also i need to set M208 to xmin = - 20 right?

    if the nozzle is 20mm to the left of the bed when your X carriage hits the endstop, then yes, it would make sense to define M208 X-20:180 instead of say M208 X200

    @THaala said in General explanation about coordinate setup and preceedence:

    Help me to clarify:
    That means - on tool change i forced to set new offset of probe, related to the new tool?
    Whats about movements without tools?

    Are you bulding a 3d printer with multiple tools or a cnc machine? if not i don't think you need to worry about this.

    @THaala said in General explanation about coordinate setup and preceedence:

    Almost related from endstops positive? G1 X=20 means X=0 on the Bed?

    Not explicitly, but when you have the endstop on the left side, it will be true. (But for sake of completeness you could theoretically have the endstop on the right side, however the origin 0,0,0 would still be lower front left corner)

    @THaala said in General explanation about coordinate setup and preceedence:

    About mesh grid:
    Mesh grid also measured from endstops origin - are all coords measured from endstops origin?

    again its measured from where the tip of the tool is located when the machine is at 0,0,0. in a printer the tip of the tool is the tip of the nozzle, and it would usually be close to the front left corner of the bed even if the endstops are located off the bed to allow for the size of the carriage holding the whole hotend.

    @THaala said in General explanation about coordinate setup and preceedence:

    Whats about the tool and the probe offset while z-map generation?
    In fact on my printer i can deselect all tools an let run a mesh grid probe. if always the probe is related to a tool and i have none whats about measurements?
    In fact the probe is fix mounted and can measure the bed.

    not my cup of tea, but I'm sure you'll get other to respond or find the answers if you look through similar threads on the forum.



  • Hello,

    seems some things are more clear now. I have a printer with two double tools in parking position left and right.

    resuming your explanations i have always to deal with nozzle and bed and probe while tool change.
    if the toolhead is alone then i need to create a virtual nozzle having the probe point as origin to make clear z-mesh measurement map.

    if i took bed origin to 0,0 and send M208 x-20 then the slic3r should have same positions isn't it?

    thank you for explanations.

    BR,
    Thilo



  • @THaala said in General explanation about coordinate setup and preceedence:

    I have a printer with two double tools in parking position left and right.

    IDEX?

    @THaala said in General explanation about coordinate setup and preceedence:

    if i took bed origin to 0,0 and send M208 x-20 then the slic3r should have same positions isn't it?

    think something got lost in translation here. M208 x-20 is not a configuration i would advice, presumaby it would set the maximum x value to -20 and the minimum x value to 0, effectively mirroring the axis, or throw an error, not sure which.



  • Hello bearer,

    its as build like this one:
    https://www.youtube.com/watch?v=FiTmRHkiEUg

    The real x range is 270 mm but the bed is 214 mm - means that a travel of 28 mm on each side over the bed is possible. it would be good to deal with negative positions because of easier calculations about bed, nozzle, toolhead and probe...

    think something got lost in translation here. M208 x-20 is not a configuration i would advice, presumaby it would set the maximum x value
    to -20 and the minimum x value to 0, effectively mirroring the axis, or throw an error, not sure which.

    Thats confusing me again. For endstop definition there is no offset configuration possible. If M208 X-28 allows negative travelling - means that travel 28 mm over endstop signaling? I dont think so...

    I have had the hope that M208 defines the physical size of all axes to adjust origin base point 0,0,0 of the bed corner.
    But this implies that print move from x-homing (-28) position to x=20 needs to travel 48 mm and a G1 Move to 0,0,0 is a physical location fo X+28 away from the homing switch.

    In this example...
    https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCartesianPrinter
    ... this command was mentioned: "M208 X-8 Y0 Z-0.5 S1 ; set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)"

    It's my idea that M208 would be used always to calculate absolute positions all times - isnt't it?

    BR,
    Thilo



  • @THaala said in General explanation about coordinate setup and preceedence:

    think something got lost in translation here. think something got lost in translation here. M208 x-20 is not a configuration i would advice, presumaby
    it would set the maximum x value to -20 and the minimum x value to 0, effectively mirroring the axis, or throw an error, not sure which.

    Thats confusing me again. For endstop definition there is no offset configuration possible. If M208 X-28 allows negative travelling - means that travel 28 mm over endstop signaling? I dont think so...

    I have had the hope that M208 defines the physical size of all axes to adjust origin base point 0,0,0 of the bed corner.
    But this implies that print move from x-homing (-28) position to x=20 needs to travel 48 mm and a G1 Move to 0,0,0 is a physical location fo X+28 away from the homing switch.

    My point was that you should define both the minimum and maximum x value when using negative values, like suggested before.

    @bearer said in General explanation about coordinate setup and preceedence:

    @THaala said in General explanation about coordinate setup and preceedence:

    if my endstop resides 20mm left of the bed then i forced to interpret ever X coordinate to add 20 mm reaching x=0 of the bed?
    And also i need to set M208 to xmin = - 20 right?

    if the nozzle is 20mm to the left of the bed when your X carriage hits the endstop, then yes, it would make sense to define M208 X-20:180 instead of say M208 X200



  • Hello bearer,

    i have misinterpreted that. Sorry.
    Thanks,

    BR
    Thilo


Log in to reply