Ignore an instance mid-print (The needs of the many outweigh the needs of the one)
 
Notifications
Clear all

Ignore an instance mid-print (The needs of the many outweigh the needs of the one)  

  RSS
oriddlero
(@oriddlero)
Eminent Member
Ignore an instance mid-print (The needs of the many outweigh the needs of the one)

I have multiple printers printing high quantities (100+) of small parts, sometimes 24/7.

Although my print jobs are obviously quite "tested" it seems there is still room for error as occasionally ONE of the small parts on a high-quantity print (100+) will become dislodged from the plate causing the entire print to fail. These prints are generally in the multi-day time range so it can be quite frustrating to have entire print fail because 1 out of 100 parts became dislodged, causing the other 99 to be garbage and countless hours lost.

Is there some kind of procedure (I am comfortable with coding) to possibly pause the print, and modify the code to ignore the instance that became dislodged so the print can continue to 100% for the remaining partially-printed parts?

Thank you kindly for any input on this matter!  

If my post helps you please consider downloading & making one of my most popular Prusa-Printables 3D models below:1. Ultimate Printer Knob Upgrade - The Best Knob of Both Worlds 2. Prusa MK3S Right…

Posted : 05/05/2022 12:30 pm
fuchsr
(@fuchsr)
Famed Member
RE: Ignore an instance mid-print (The needs of the many outweigh the needs of the one)

I can't think of any procedure to do that. 

It's an annoying problem. I also run regular jobs to print large numbers of game tokens. Couple of things I do to minimize the chance of one of them killing all the others.

For one, I try to find a good balance between printing as many as possible and as few as needed. There's no real time savings in printing more at the same time short of operator interventions so I want to print as many as possible to minimize the time needed to clear the sheet and start the next job. But at the same time, the impact of a failure is the more pronounced the more objects are on the sheet. There's no obvious formula for optimizing the trade off, too dependent on the specifics of the job,  but I never really fill the sheet for fear of losing a whole batch. 

The other thing I do for those print jobs is put a thin layer of Layerneer bed weld on the sheet. I use satin sheets and usually have excellent adhesion but, again, it's just one more little thing to increase the odds of all little pieces staying on the sheet. 

Posted : 05/05/2022 1:42 pm
Neophyl
(@neophyl)
Illustrious Member
RE: Ignore an instance mid-print (The needs of the many outweigh the needs of the one)

Thats a function possible with Octoprint.  You can use the verbose output when slicing which adds a model/instance code to all the gcode lines and then iirc theres a octoprint plugin that can then cancel those instances.  As Octo is the print server and spools out the gcode bit by bit it can skip the ones that fail.

I don't run octoprint personally so the details are fuzzy 🙂 but I know its possible.

Posted : 05/05/2022 1:47 pm
fuchsr
(@fuchsr)
Famed Member
RE: Ignore an instance mid-print (The needs of the many outweigh the needs of the one)

With all the plugins available for Octoprint that's quite possible. Good point.

Yet, at least in my experience the impact of a dislodged object is usually not constrained to that one object but as the print head moves that object around, it begins to hit other objects that then get dislodged et cetera. I feel like once the damage is done it's done, and the better approach is prevention rather than damage control. 

Posted : 05/05/2022 1:58 pm
oriddlero
(@oriddlero)
Eminent Member
Topic starter answered:
RE: Ignore an instance mid-print (The needs of the many outweigh the needs of the one)

Yes, so many variables! I print thousands of small components so I am constantly trying to push the envelope as to maximum amount I can fit on the sheet versus increasing the failure rate.

Some observations:

  • dislodging almost always occurs on the outer perimeter, the closer you get to the edge of the plate the higher the chance of dislodging. I suspect this is due to heat dissipation being inconsistent on the outer perimeter because of the exposure to the air around it. My first layer calibration is perfection across the entire surface of the plate

Material PETG w/ .25 nozzle.

Your post gave me an idea - perhaps satin sheets are the way to go, as:

  • smooth sheets makes them a major pain in the ass to remove with nearly a 100% success rate-
  • fully textured sheets has something like an 25% chance of dislodging and they come off super easy.  

Perhaps satin sheets can close the gap between the two extremes above and get me nearly 100% success rate with easier removal.

Back to the original topic:

After thinking about it a bit I think there is a way to recover from the failure just not sure how to go about doing it. My thoughts follow:

  1. observe the printers "z" position during printing, when a component gets dislodged note the position on the screen.
  2. Pause the print (this will keep the bed temperature warm until we finish doing what we are doing)
  3. Open up the print file and delete the instances that have become dislodged in the failure, export the G code to G code viewer
  4. On the right-hand slider scroll up to the noted "z" position and delete all of the code prior to this.
  5. Export the G code.
  6. "stop" the print
  7. Start the new modified G code print

In theory this procedure should minimize bed temperature fluctuation, if the parts remain stuck to the bed the printer should pick up where it left off ignoring the failed instances and completing the print.

Sounds a good procedure to me, however, I don't know how to do #4.

Can anyone help? Any input on the above procedure proposal?

If my post helps you please consider downloading & making one of my most popular Prusa-Printables 3D models below:1. Ultimate Printer Knob Upgrade - The Best Knob of Both Worlds 2. Prusa MK3S Right…

Posted : 05/05/2022 2:03 pm
Robin
(@robin)
Prominent Member
RE: Ignore an instance mid-print (The needs of the many outweigh the needs of the one)

You can cancel objects with this: https://plugins.octoprint.org/plugins/cancelobject/ as Neophyl described or areas with this: https://plugins.octoprint.org/plugins/excluderegion/  

That leaves only the problem of detecting the loose object and pause the print so you can exclude the problematic parts. 
This: https://www.thespaghettidetective.com might do the trick..

If at first you don't succeed, skydiving is not for you.

Posted : 05/05/2022 2:51 pm
oriddlero and bobstro liked
oriddlero
(@oriddlero)
Eminent Member
Topic starter answered:
RE:

Thank you, that is absolutely very cool that OctoPrint has that as a built-in as a function. My printers run in a den off of my home office and I can pretty much see if something becomes dislodged (during the day at least).... I have actually been on the waitlist for raspberry pie nano boards for around a month now and nobody seems to have them in stock within the Milky Way galaxy... I'm guessing this function is something that would only work when the printers are networked with real-time access to what they are doing, not stupid SD cards... lol 

 

This post was modified 2 years ago by oriddlero

If my post helps you please consider downloading & making one of my most popular Prusa-Printables 3D models below:1. Ultimate Printer Knob Upgrade - The Best Knob of Both Worlds 2. Prusa MK3S Right…

Posted : 05/05/2022 3:13 pm
Share: