I have my ZenXY in the lobby of my company’s corporate office. I have had TONS of compliments on how neat it is. People love watching it.
My problem is though, I hate having to start up prints all the time. I would love to be able to have it run through random gcode files from 7am - 5pm every day. Is there a good plugin or way of doing this?
I have just installed the “Print Scheduler” plugin, but you can only select the files once for one specific day and time. I cannot set it to run during a certain time period Monday thru Friday.
I recently started playing around with writing octoprint plugins. They’re not difficult. They do require experience with python, js, and jinja. I had limited js and jinja experience, but the example walks you through the basics. Then you can steal code from other plugins
I might start with a fork of the print scheduler plugin and see if you can remove the day/time and have it do it daily instead.
If you had a 10 hour long gcode, you could schedule it to start at 7am.
You can write gcode that calls other gcode. If the gcode is stored on the sdcard, the. There is gcode to read those other files. It is a bit tricky, because the files are named in dos format (8.3 length). It is honestly easier to rename your files to something like a1.gco than try to deal with squares~1.gco.
So you could time a few patterns, and then have one gcode file that says, play pattern a1.gco, play pattern b3.gco, etc for 10 hours and then schedule that playlist to run at 7am.
If that doesn’t work for some reason, you could also just concatenate the patterns together to make 10hr files. Starting with one and then if you’re bored, make new ones for each day of the week.
I am just going to pretend like this all registered in my brain and made sense. But from what I do understand, the calling of other gcode files would be a great idea. But that would be with running the machine offline with an SD card. I run my table solely off of OctoPrint so a plugin would be the most beneficial.
This would be what I am looking for. A modification of this current plugin so that instead of just selecting one day/time and the file exiting the queue when it is finished I could select M-F and have that schedule saved as a repeating playlist of sorts.
I have several sandify patterns where I make use of layers to draw one thing over another. They typically start with a wipe, and then go on to other things. I alternate outside to center patterns with center to edge ones to have good transitions.
Many pattern layers have small motif designs in the corners. I have ones that have playing card suits (spades, hearts, diamonds, clubs) and other ones are more randomised. Some patterns build up a message… I have a library of 12 or so that are more than an hour long.
Yeah I have files for the my machine that are 5+ hours. I have no problem with making a large gcode file that is layered with patterns. Just need to automate the start and stop of the machine with the time of day.
Now we are on to something. This combined with the autostart that Dan is talking about may be the best way to do it. Ideally, this is as hands-off as possible. Turning it on and off manually each morning is not ideal, so the smart outlet will handle that. Then I can use the autostart to run the gcode full of patterns for 8 or 9 hours until the outlet shuts off.
I have got it running exactly how I wanted. I have the Rasberry Pi on constant power, so the server is always up. But I have the table power on a smart plug. When the plug and table turn on, the latest uploaded print will begin. Then it turns off in the evening and repeats the next day.
I am using the PortLister plugin to autodetect when a new printer has connected (turned on) and then I am using the AutostartPrint plugin to begin the print after a connection is made.