• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Print queue feature for true sequential printing

Scheduled Pinned Locked Moved
Duet Web Control
4
7
693
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    koaldesigns
    last edited by 19 Apr 2021, 16:38

    I have recently embarked on a printer SCARA printer which can print in a full circle/donut, meaning that it would be possible to print files one after the other as the arm moves around the circle. I was looking for a way to create a print queue where one print would finish and then another print would start automatically in a different zone of the print area.

    As of now I have done some research about the HTML responses that RRF uses to tell DWC what the current status of the printer is. I was thinking that it may be possible to either have some external server which polls the status of the printer, and if the printer is not actually printing, it would send a command to begin the next print in the queue and so forth.

    I was also looking at MultiDuetWebMonitor to see if some sort of print queue could be added to that. Has anyone ever attempted something like this and/or is it even possible?

    undefined undefined 2 Replies Last reply 19 Apr 2021, 17:51 Reply Quote 0
    • undefined
      nhof @koaldesigns
      last edited by 19 Apr 2021, 17:51

      Maybe you could implement zones using G10 workplace coordinate offsets? It should work well for mutually exclusive fixed size zones. Trickier bit would be a way to track which zones are ready to go and which are already used.

      I know Ultimaker has a print queue already implemented, you can enqueue several jobs, and the only user interaction after is a confirmation that the print area is ready to go (i.e. print removed, bed prepped between jobs). iirc It even supports multiple printers so you can just send all your jobs to a central queue from which they are dispatched to any available machine. Pretty nice.

      undefined 1 Reply Last reply 20 Apr 2021, 05:05 Reply Quote 0
      • undefined
        koaldesigns @nhof
        last edited by koaldesigns 20 Apr 2021, 05:05

        @nhof That Ultimaker queue feature sounds almost exactly like what I need, the only difference being that I wouldn't have to manually tell the printer to go.

        The cool thing about how the arm would rotate is that it could move to a completely unique position where it is impossible for it to interfere with the previous print (depending on the arm and previous print it could be 10-15° away from the previous print). The printer would print in zones to the left or right of the previous one so there really is not need to keep track of zones due to the nature of the machine.

        undefined 1 Reply Last reply 20 Apr 2021, 06:11 Reply Quote 0
        • undefined
          o_lampe @koaldesigns
          last edited by o_lampe 20 Apr 2021, 06:11

          @koaldesigns
          You can use the end-gcode of the slicer to have your arm move nn degree to one side and call it your new 0,0 (or whatever your homing position is) with G92.... or use the aforementioned workspace ccords

          Then automatically start the file you want to print next, with M98 P"filename.g"
          This method would run eternally without asking for confirmation.
          With the new access to variables, you could also add a while-(iteration)-loop to limit the number of prints.

          1 Reply Last reply Reply Quote 0
          • undefined
            MintyTrebor @koaldesigns
            last edited by 20 Apr 2021, 15:02

            @koaldesigns If you want to explore your original idea, my NodeDSF solution can help with monitoring the status and triggering actions based on criteria. It works for both standalone Duet & Duet+SBC(DSF) configurations.

            It runs on node-red so its easy to configure, plus node-red can run almost anywhere (docker, pi, windows etc) on your LAN. If your interested and need some assistance let me know.

            There is a full wiki on the repo (see my sig for link).

            NodeDSF - Native Node-Red integration with Duet boards.
            BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
            ReleaseMgr - Duet update info inside DWC.
            Repo

            undefined 1 Reply Last reply 20 Apr 2021, 17:05 Reply Quote 0
            • undefined
              koaldesigns @MintyTrebor
              last edited by 20 Apr 2021, 17:05

              @mintytrebor That sounds cool, I'll check it out. Is there anything I should know beforehand and/or a good way to implement the queue system.

              @o_lampe The plan was to use the G92 command to "recenter" or home the printer after it had moved to the next position, so it would be something like G1 H2 X(however many degrees you want the offset to be) and then G92 H2 X0.

              undefined 1 Reply Last reply 20 Apr 2021, 19:57 Reply Quote 0
              • undefined
                MintyTrebor @koaldesigns
                last edited by MintyTrebor 20 Apr 2021, 19:57

                @koaldesigns
                Here is a simple queue I put together with NodeDSF & BtnCmd. It just simulates each job as its a P.O.C, but it gets the idea across.

                Simple Q BtnCmd.png

                Short video of it running here

                And here is what it looks like in nodered with NodeDSF
                Simple Q NodeRed.png

                Edit: forgot to add, it triggers the next job in the Q when the system detects a status change to idle.

                NodeDSF - Native Node-Red integration with Duet boards.
                BtnCmd - Customise DWC with user defined buttons/layouts/panels (DWC Plugin)
                ReleaseMgr - Duet update info inside DWC.
                Repo

                1 Reply Last reply Reply Quote 1
                6 out of 7
                • First post
                  6/7
                  Last post
                Unless otherwise noted, all forum content is licensed under CC-BY-SA