bradcfisher / OctoPrint-ExcludeRegionPlugin

OctoPrint plugin that adds the ability to prevent printing within rectangular or circular regions of the currently active gcode file.
GNU Affero General Public License v3.0
55 stars 5 forks source link

Printing Pauses causing blobs to show #52

Open TWIISTED-STUDIOS opened 4 years ago

TWIISTED-STUDIOS commented 4 years ago

hello when you upload a file to the printer and you exclude part of that print when you are printing the pinter pauses on the part it can print doesn't move or nothing and then contuines this causes blobs to appear on the print. i do now know if I'm doing something wrong (some help would be awsome)

CaptainSweatpants commented 4 years ago

Im now noticing this too. When an area is excluded the nozzle will “park” on top of the last model piece until the time elapses it would take to finish the excluded region. This means the nozzle sits on the piece just cooking it for however long it would’ve taken to finish that excluded area.

Almost had myself a fire last night because of that. Woke up to burning plastic. This is a new issue suddenly. It never did this before. Previously it would just skip the excluded region and continue printing the rest of the models/pieces with no delay or pause.

TWIISTED-STUDIOS commented 3 years ago

@CaptainSweatpants I belive this to still be an issue to this day aswell I do not believe that this has been fixed as I ran into this issue again myself recently.

austin4bert commented 3 years ago

Can confirm this is still an issue. Issue seems to be slow processing of gcode commands. I filled a plate full of parts to print and excluded all but one, setting them to print all at once. Each layer takes 30 seconds to a minute to exclude all regions. image

This wasn't always a problem. I remember this plugin seamlessly skipping over excluded regions around 6 months ago.

DatenThielt commented 3 years ago

Can also confirm this is an issue, I print rather large plates, I excluded one that was failing and throughout the print whenever it would normally go over to the next plate it stayed still for 10 seconds, leaving a blob of filament at several sites on the plate

calvinbui commented 3 years ago

Mentioned here and here, try reducing the logging level to ERROR or CRITICAL

szimszon commented 3 years ago

I have no logging enabled still it seems that the extruder actively extruding the filament (lots of filament) while the head is not moving.

ThunderWolf19 commented 2 years ago

This is still happening, any updates on fixing this?

kevman28 commented 2 years ago

same issue here as well.

kevman28 commented 1 year ago

will this be address with the new developer? This is painful...

bradcfisher commented 1 year ago

@kevman28 @ThunderWolf19 @szimszon Would any of you be able to provide more details regarding the issues you are experiencing? For example:

kevman28 commented 1 year ago

@kevman28 @ThunderWolf19 @szimszon Would any of you be able to provide more details regarding the issues you are experiencing? For example:

  • Is filament actively being extruded when an excluded region is being processed (is the stepper pushing filament through), or is it just filament dripping from the hot nozzle due to the pause?
  • What hardware are you are running OctoPrint on? Slow hardware, such as a Pi Zero W may run the software, but will probably be too slow to keep up. That could cause oozing to be more of an issue as it would take longer to skip over excluded gcode.
  • What slicer was used? This plugin was developed for gcode from Cura, so it may have issues with output from other slicers if their gcode handles extrusion or retraction differently.
  • Can you provide a small gcode file and directions to reproduce the issue with it?
  1. I dont believe it is actually extruding, it just sits in place on top of an existing non-cancelled object, I noticed it does run a command at that spot but does nothing.
  2. I have 4 machines all using a Pi 4b , same behavior
  3. Prusaslicer
  4. ill have to look back, as I haven't used this in a while, but essentially anything I cancel will result in this behavior.
szimszon commented 1 year ago
  1. For me it is actively extruding the extruder start skipping because the head is not moving at all. It is almost like it want's to extrude all the filament needed for the excluded part.
  2. Ender 3 v2 - RPI 4b
  3. Prusaslicer
  4. Right now I have no time to debug it sorry :( Printing mostly one part at a time...
bradcfisher commented 1 year ago

@kevman28 @szimszon Thanks for the feedback.

It looks like in both cases, the gcode being printed was produced by Prusaslicer. I haven't use that slicer myself, but I suspect some of the issues may be related to differences in the gcode produced by that slicer compared to the expectations of the plugin.

In the case of long pauses while excluding potentially causing slow oozing an leading to blobs, I could see that occurring if large amounts of gcode are excluded. OctoPrint and this plugin need to scan through all of the gcode in the file during printing, and the more gcode that is inspected, the longer that process takes. The plugin is also pretty inefficient with how it handles arc moves, so it is possible that gcode with lots of arcs could perform more poorly.

To avoid leaving the extruder directly over a printed part too long, I think it may be helpful to change the behavior to perform the initial move into the excluded region to move the extruder away from the last part. Perhaps any non-extruding moves after entering the excluded region should be executed, to ensure enough distance is gained. In some cases, that may help avoid damaging the part prior to the region, but it will still probably leave open a possibility of blobs or stringing on the next part due to the hot filament oozing.

If filament continues to be actively extruded when an excluded region is processed, that's a concerning issue. It likely means that extrusions specified by the gcode being processed within the region is not being processed correctly. If possible, it would be helpful is someone could post a sample gcode file that causes this behavior for analysis.

HackathonMaster commented 1 year ago

@kevman28 @ThunderWolf19 @szimszon Would any of you be able to provide more details regarding the issues you are experiencing? For example:

  • Is filament actively being extruded when an excluded region is being processed (is the stepper pushing filament through), or is it just filament dripping from the hot nozzle due to the pause?
  • What hardware are you are running OctoPrint on? Slow hardware, such as a Pi Zero W may run the software, but will probably be too slow to keep up. That could cause oozing to be more of an issue as it would take longer to skip over excluded gcode.
  • What slicer was used? This plugin was developed for gcode from Cura, so it may have issues with output from other slicers if their gcode handles extrusion or retraction differently.
  • Can you provide a small gcode file and directions to reproduce the issue with it?
  1. filament is NOT actively being extruded (other than the general oozing of filaments because of the heat which is standard behavior)
  2. Pi 3B+
  3. PrusaSlicer (doubt it has anything to do with gcode produced by prusaslicer as gcode is very standard. The bigger the exclusion area, the longer is takes for the pi to run through all the commands and the worse the blob gets)
  4. I currently do not have any gcode but here's a potential temporary solution: move the printer head up a but and inside the excluded region to avoid blobs on the actual print. It will still be a problem as filament will keep oozing out, the longer it takes to do the math but at least won't damage the print

Long term solution: find a more efficient way to do the math. When I look at the terminal, it seems like the raspberry pi internally runs the gcode but doesn't send it to the printer. Perhaps a way to avoid executing the code entirely?

kevman28 commented 1 year ago

maybe keeping a small circle/object going in the exclusion zone to keep it purging properly as an optional setting might work for some.

HackathonMaster commented 1 year ago

How is the math done exactly?

tomha2014 commented 1 year ago

Has anybody solved the problem? I was about to open a bug with Creality, HAHAHA. I started getting the issue this week Ender 2 Pro which is only 2 weeks old

Things I've tried All using the same gcode file, not recompiled or anything

Nothing has worked. I'm not a hardware guy but almost looks like a USB can not pass data fast enough and it has to cache.

I have 2 other printers Ender 3 V2 and Ender 3 Pro with OctoPrint and each on there own PI, they do not have problems

Not sure what to try next, Ideas anybody? Klipper comes to mind :)

johny-mnemonic commented 1 year ago

@tomha2014 I am afraid you are at a wrong place with your issue. What you describe is not related to Exclude region plugin but as you suggested it points to an issue with your printer being able to accept the commands fast enough on the USB link. My Ender 3 have same issue which usually manifests on rounded objects where standard G-Code creates the circle/curve from hundreds of short straight lines. This overloads the board and printer start to stutter resulting in blobs. The cure for that is called Arc Welder which replaces these short straight line moves with much smaller amount of arc moves lowering the amount of G-Code commands.

Poporacer commented 10 months ago

@bradcfisher I am experiencing the same blobbing issues and I see that you requested a file, but didn't see anyone posting one. To help here are my observations and file:

  1. Is filament actively being extruded when an excluded region is being processed (is the stepper pushing filament through), or is it just filament dripping from the hot nozzle due to the pause? Yes, the extruder is pushing filament, but it doesn't look like it is anywhere near the amount for the excluded region.
  2. What hardware are you are running OctoPrint on? Slow hardware, such as a Pi Zero W may run the software, but will probably be too slow to keep up. That could cause oozing to be more of an issue as it would take longer to skip over excluded gcode. Raspberry Pi 3B
  3. What slicer was used? This plugin was developed for gcode from Cura, so it may have issues with output from other slicers if their gcode handles extrusion or retraction differently. Orca slicer and I think that might be the problem, I have used this plug-in for quite a while and didn't see this behavior until just recently when I switched to Orca...Might be beneficial to support more than one slicer?
  4. Can you provide a small gcode file and directions to reproduce the issue with it? Attached Large Bulb BaseFinalPLA.28x4.zip