How to elegantly use Klipper's built-in tools to achieve unlimited printing in a semi infinite y-axis conveyor belt printer?

Basic Information:

Printer Model: basic corexy printer with klipper
MCU / Printerboard:lpc1768
klippy.log

Describe your issue:

For the needs of my own farm, I designed a conveyor belt type “Infinite Y” printer based on the modification of the Z-contact surface of a regular Corex printer. The hardware of the prototype has been basically finalized, and the printing output function is achieved through a custom stepper motor rolling conveyor belt.

I have temporarily sewn up the objects I want to print through self-learning programming techniques, such as stitching all gcodes in the same folder into a new gcode file and executing printing. When sewing, it is optional to leave the last printed piece on the hot bed instead of rolling it out.

So I have a question, as the title suggests, assuming that my raw materials can be supplied infinitely, how can I elegantly utilize Klipper’s built-in functions to generate a printing queue of at least 50 GCode files through automatic or manual drag and click, allowing me to perform a marathon scale 3D printing?

Is it the [job_queue] section for configuring moonraker.cnf?
How to configure a job_ Transition_ Gcode: ?
Do I need to define a gcode Marco in Moonraker. conf? Or directly call the gcode Marco of printer.cfg?

Machine video link:

You’re on the right track. Moonraker’s job_queue function is for this precise purpose. The documentation is here. In your case, it seems you would want to set automatic_transition to True and set job_transition_gcode to the name of a macro you create to execute the bed-clearing gcode.

Once it’s configured, then you can add files to the queue the same ways you would normally send a single file to print. This can be automated/scripted using the Moonraker API, or you can just upload files in sequence from your slicer or your frontend of choice.

Caveat: I don’t have any experience with this feature. I’m just answering based on the docs.

1 Like

Thank you at first.

I just want to know an example of the “job_ Transition_ Gcode:” setting. But the Moonranker documentation does not include this example…

[job_queue]
load_on_startup: True
automatic_transition: True
job_transition_gcode: 
    Do
    what
    you
    want
1 Like

just be like:
job_transition_gcode:
(tab)g28
(tab)g1 x1
(tab)m400

and so on? ty~~

i got it .ty vm~~~

It would be whatever gcode sequence you want to use to clear the bed and prep for the next print. On a conveyor belt I presume it would be something like a G1 with a Y coordinate that ejects the last print off the edge of the bed.

i had define a MANUAL_STEPPER and gcode marcoed for it ,in printer.cfg.

[gcode_macro rolling_once_prt2]
gcode:
    MANUAL_STEPPER STEPPER=my_stepper SET_POSITION=0 MOVE=350 SPEED=20
    #G4 P100
    M400

just use that gcode marco like

[job_queue]
load_on_startup: True  #打印机空闲时自动执行job queue中下一个。
automatic_transition: True  #自动执行时不弹出一个“需要人为点击”的对话框。
job_transition_delay:10  #自动执行间隔
job_transition_gcode:  #自动执行间隔结束后执行什么自定义gcode
    rolling_once_prt2

in moonraker.conf.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.