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?
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.
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.