Positioning the printable area



  • I home my CoreXY machine with sensor less homing and I have the bump stops mounted so that I'm homed outside the printable area (nozzle can move outside of the bed). I can also move the nozzle outside on all the other edges with my current M208 S1 settings. This is how I want it to be since I can then use scripting for a wipe outside bed or tool changes for later. I also use home at the rear left corner of the printer.

    The Issue I got is how do I set the printable area to be inside the bed? My XY max is X414,Y423 and the printable area is X13-410 and Y18-416. If I use M208 I move my XY0 so I can't move behind the bed without M564 S0 but I don't want to disable that "security" for normal operations. I hope I can solve this in the duet and not the slicer.

    Sidenote: is it just me or is the coordinate offset from probe a complete mess when running true bed leveling/ mesh probing with a probe X/Y offset? If you don't mind the offset properly when making the config files for probing it moves OUTSIDE limits set by M208 and crashes the printer. When the axis max is set the printer should under no circumstances (except with M564 S0 enabled) do that IMO.


  • administrators

    @minim said in Positioning the printable area:

    I home my CoreXY machine with sensor less homing and I have the bump stops mounted so that I'm homed outside the printable area (nozzle can move outside of the bed). I can also move the nozzle outside on all the other edges with my current M208 S1 settings. This is how I want it to be since I can then use scripting for a wipe outside bed or tool changes for later. I also use home at the rear left corner of the printer.

    The Issue I got is how do I set the printable area to be inside the bed? My XY max is X414,Y423 and the printable area is X13-410 and Y18-416. If I use M208 I move my XY0 so I can't move behind the bed without M564 S0 but I don't want to disable that "security" for normal operations. I hope I can solve this in the duet and not the slicer.

    I suggest you use m208 so that X0 Y0 is either at one corner of the bed or in the centre, whichever you prefer (see https://duet3d.dozuki.com/Wiki/Centering_the_bed_or_setting_the_bed_origin). Allowing the printer to print off the bed is not particular worry and can be an advantage. I have done large prints for which the skirt is printed at least partially off the bed but the print itself is on the bed. I still want to print the skirt even though some of it is off the bed, to get the filament flowing smoothly.

    Sidenote: is it just me or is the coordinate offset from probe a complete mess when running true bed leveling/ mesh probing with a probe X/Y offset? If you don't mind the offset properly when making the config files for probing it moves OUTSIDE limits set by M208 and crashes the printer. When the axis max is set the printer should under no circumstances (except with M564 S0 enabled) do that IMO.

    Mesh probing will never probe outside the M208 limits. G30 probing (as used in the bed.g file invoked by G32) allows you to probe outside the limits because on delta printers this is often desirable.



  • That's true. I think I will keep M208 at zero then so I can print off if needed and just try to remember where my limits are for the first layers. I guess I'm to set on the cnc way of doing it with machine coordinates on the machine that's always the same and then work coords (G54+++) to cover placement over the workpiece and thought the bed could be solved in a similar maner.

    Maybe I recall wrong about the mesh crash as that's a long time ago now when I was changing the coordinate system last time. Today I crashed again due to a brainfart when I calced the offsets into the coordinates but that was in bed.g file and when doing true bed leveling. Idkn about the deltas but I consider the axis limits to be the safe area the printer can move within and as long as I don't use "M564 S0" it should be safe and not able to crash. If it's desired on delta's wouldn't it be better to allow it for that kinematic? It's not desirable to crash my corexy that I know 😄


  • administrators

    I'll consider applying M208 limits to G30 probing operations in a future firmware release.



  • @dc42 said in Positioning the printable area:

    I'll consider applying M208 limits to G30 probing operations in a future firmware release.

    that sounds great 🙂 Would be great to just have it as a flag on the M208 command so we could choose to use it or not 🙂 On my delta I'm using the smart effector so I think I would leave that security on for that one also.



  • @minim said in Positioning the printable area:

    That's true. I think I will keep M208 at zero then so I can print off if needed and just try to remember where my limits are for the first layers. I guess I'm to set on the cnc way of doing it with machine coordinates on the machine that's always the same and then work coords (G54+++) to cover placement over the workpiece and thought the bed could be solved in a similar maner.

    You actually can do this if you want. G10 L2 or L20, and G54 and so forth, all work fine in 3D print mode.

    Having said that, I typically M208 -nnn:nnn such that 0,0 is the corner of the bed. Actual coordinates from a CoreXY:

    M208 X-16.5:317 Y-10:385 Z-10:315
    M208 U0:180



  • @Danal said in Positioning the printable area:

    @minim said in Positioning the printable area:

    That's true. I think I will keep M208 at zero then so I can print off if needed and just try to remember where my limits are for the first layers. I guess I'm to set on the cnc way of doing it with machine coordinates on the machine that's always the same and then work coords (G54+++) to cover placement over the workpiece and thought the bed could be solved in a similar maner.

    You actually can do this if you want. G10 L2 or L20, and G54 and so forth, all work fine in 3D print mode.

    Having said that, I typically M208 -nnn:nnn such that 0,0 is the corner of the bed. Actual coordinates from a CoreXY:

    M208 X-16.5:317 Y-10:385 Z-10:315
    M208 U0:180

    And you still get to move to X-16.5 or do you run with M564 S0 to allow movement outside the bed? I don't have the printer here to test but I'll try this later.



  • Any/all slicer generated code should not ask to go negative... but... if something issued a "G1 X-10", it would go there. Which is fine, nothing jams, etc. The nozzle is off the edge of the bed, as requested.

    M564 S0 is not applicable to my statements above because everything we just talked about is within the axis limits. Another example: A "G1 X-20" would smoothly halt at physical -16.5. Again, no harm.

    Only if M564 S0 were in effect would a "G1 X-20" try to go there, and jam the machine. So, no, I never use M564 S0 command. In fact, to my knowledge, I have literally never issued that command, ever, on any CNC or printer.



  • In fact, keep in mind that some printers run with 0,0 in the middle of the bed. I have printers like this. For them, axis limits might be something like

    M208 X-150:150 Y-150:150.

    So G1 X0 puts the nozzle in the middle of the bed. G1 X-150 puts it on one edge, G1 X150 the other edge, and G1 X-160 would smoothly stop at -150.

    You tell the slicer where the origin is, and everything "just works".


Log in to reply