slic3r / Slic3r

Open Source toolpath generator for 3D printers
https://slic3r.org/
GNU Affero General Public License v3.0
3.33k stars 1.29k forks source link

Crop skirt to bed dimensions #1098

Open MarkJB opened 11 years ago

MarkJB commented 11 years ago

If the objects to print are close to the edge of the bed and the automatically added skirt is off the edge of the print bed, then the whole print is shifted in the negative x and y direction.

No warning is given that the print exceeds the bed size.

Turning off the skirt results in the print printing as expected.

I realize there are ways around this, but I've been employing work-arounds for a while now. The problem is often evident when trying to maximize the number of objects on a small print bed (Huxley - 140x140mm). I'm currently using slic3r 0.9.9 but older versions display the same behavior. Also skirt partially printing off the print bed is not a problem with the ReprapPro Huxley and is better than half of the print trying to print in space.

daprice commented 11 years ago

I think the real problem is that slic3r ignores the bed size setting when generating the skirt — the resulting offset is just due to the way most firmware handles instructions that go out of bounds. In 0.9.9 this happens any time you place objects in the plater such that any part of the skirt falls outside the bed. I would say that the expected behavior would be to only generate the parts of the skirt that actually fit on the bed (the plater also does not show the parts of the skirt that are out of bounds, suggesting that they will not be generated).

Here's an example gcode file where the skirt tries to go out of bounds; the bed size in slic3r was set to 180x170mm and the skirt was supposed to be 6mm from the object. The resulting gcode has y moves less than 0 and greater than 170. The plater shows the skirt being cut off in those places instead of going past the edge: Screen Shot 2013-04-07 at 3 27 38 PM

alranel commented 11 years ago

Yes, what @daprice says is correct.

MarkJB commented 11 years ago

Ok, so ignoring the offset...

I agree that the expected behavior should be to only generate skirt that fits on the bed.

alranel commented 11 years ago

I updated the issue title to reflect the request but I'm not very sure about the wanted behavior, as cropping skirt would make for a not continuous skirt which totally defeats all of its purposes...

daprice commented 11 years ago

Would it be feasible to automatically reduce the distance between the object and skirt as necessary to make it fit on the bed? Going along with the ideas in #1173 it could also warn the user if any movement will go out of bounds and can't be automatically corrected.

MarkJB commented 11 years ago

I would opt for constraining the skirt to the bed dimensions over interrupting it.

Show a warning if the skirt collides with an object. A skirt/object collision might be tolerable if minor and the skirt is only one layer high...

uladz commented 9 years ago

Just hit this problem trying to print a several object together. Any update on this? Looks like this bug was put aside, gone cold, and was never fixed judging by the date when it was first reported and the fact that I'm using version 1.2.9 and it still have this problem.

VanessaE commented 7 years ago

I'd like to suggest that brim, raft, etc. also be cropped as well.

chkno commented 6 years ago

It looks like skirt, brim, and raft generation are entirely separate, so crop-to-bed would have to touch each of them:

There is skirt logic in

There is brim logic in

There is raft logic in