Can have different bed.g?

  • Say that I have a Delta printer.

    and I wanted to ask if it is possible to have different versions of the "bed.g" file …. why?

    If I have not misunderstood, after reading the WiKi, in a Delta printer, the commands stored in the file "bed.g", are executed when a self-calibration of the printer is done (gcode G32), which is recommended to do it before of each print.

    To calibrate the printer, it measures the Z coordinate in the points stored in the G30 commands, which can be up to 32, I think ... and they are stored in the "bed.g" file, in the following way:

    G30 P0 X00.0 Y00.0 Z-99999
    G30 P1 X00.0 Y00.0 Z-99999
    G30 P2 X00.0 Y00.0 Z-99999
    ... at most until ...
    G30 P31 X00.0 Y00.0 Z-99999

    Well, I think it can be interesting, to have several versions of the "bed.g" file, and execute it depending on the impression that is made, for example:

    -A) If we are going to print a small object, we are not interested in having points in the outer perimeter, it can be counterproductive, because if those outer points are higher or lower than the central area, it may be that the first layer is not Fit well to the bed. We could have a file "bed_center.g"
    -B) If instead we print an object that has nothing in the center, or several objects located on the perimeter, we may be interested that the calibration points are on the outside of the bed ... we could have another file

    So, we could have several "bed_XXX.g" files, which would fit the object we were going to print ...

    Could this be done?
    How could it be done? With Macros?
    Do you think it can be useful?

  • Using slic3r I have this in my layerchange script

    M98 P/macros/Layerscripts/[filament_preset]/[layer_num]

    Similar you could use M98 to call bed_xxx.g instead of using G32, as the calculation is done with the last G30 (I think?). AFAIK slic3r also has a variable name for the current print profile (I use the filamen preset name here) so you could have a profile for small and big parts and it could generate your M98 accordingly (in the start gcode setting).

  • administrators

    You can have as many macro files that perform a similar function to bed.g as you like. If you put them in your /macros folder on the SD card, they appear in the menu. The only thing that is special about bed.g is that it gets run when you send G32 (which is what the "Auto calibration" button sends).

  • The neatest way IMO, is to have a number of bed files defined, I have


    Depending on how much bed surface I want to use (its quicker to calibrate just the centre, and much more precise).

    My standard bed.g file calls the macro I want to run

    ;run one of the following macros for bed size
    ;M98 Pbed80.g			;80mm
    ;M98 Pbed100.g			;100mm
    M98 Pbed200.g			;200mm
    ;M98 Pbed300.g			;300mm
    ;M98 Pbedtest.g			;test file

    So I just uncomment the one I want and then run G32 or use the delta autocalibration button on DWC/PanelDue whenever I want. Its much tidier than remembering to run M98xxxxx.g instead of sending G32.

  • ok….



Looks like your connection to Duet3D was lost, please wait while we try to reconnect.