prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.74k stars 1.93k forks source link

Inefficient printing when sections of parts long way from each other... #1291

Open AikiAviator opened 6 years ago

AikiAviator commented 6 years ago

Version

Slic3r PE 1.41.0+64Bit

Operating system type + version

WIndows 10 Pro 17134.285

Behavior

I have created a new stl file in FreeCAD and transferred it to Slic3rPE.

This file has two vertical sections at either end of the part. The printing does one layer at a time beginning at the same "end" of the part. Basically, it returns to the same position before commencing next layer.

This is very inefficient as if it could commence the next layer at the point of the last layer it would reduce the travel time for each layer by half.

The layer height that this commences is 5.2mm and continues up to 48mm. If each layer travel time is 2 seconds then the total savings for a part like this would be (42102 seconds) = 14 minutes on a print of 2 hr 34 mins. A savings of ~14%.

Basically if there was a shortest point calculation built into the gcode generation, this could have major impacts on the print times.

I am using "Nearest" for seam settings and it is effectively moving from corner to corner in a anticlockwise direction around the print.

Is this a new feature request? Not sure if Bug or New Feature...

STL/Config (.ZIP) where problem occurs

GCode https://www.dropbox.com/s/i1dm82l1roe8gbt/Fridge%20Filter%20Holder_0.2mm_PLA_MK3.gcode?dl=0

STL https://www.dropbox.com/s/ra5tgnj94429rpc/Fridge%20Filter%20Holder.stl?dl=0

Not sure where to get config from.

Sebastianv650 commented 6 years ago

There is a reason for the behaviour. This way, each of the two "towers" has the best time to cool between two layer. Otherwise Slic3r would have to check the layer time to see if this travel optimization can be done safely. If this is checked, it should be doable.

AikiAviator commented 6 years ago

Ok, that sounds reasonable. Thanks.

What is the "If this is checked, it should be doable." relate to... is there a bypass?

And how do we know when this bypass can be best used?

Regards, Andrew.

On Sun, Oct 7, 2018 at 6:27 PM Sebastianv650 notifications@github.com wrote:

There is a reason for the behaviour. This way, each of the two "towers" has the best time to cool between two layer. Otherwise Slic3r would have to check the layer time to see if this travel optimization can be done safely. If this is checked, it should be doable.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/prusa3d/Slic3r/issues/1291#issuecomment-427632165, or mute the thread https://github.com/notifications/unsubscribe-auth/AjjYy14U_vkX6A5qAjm7SRlcv5iqrCowks5uiazigaJpZM4XLmZ0 .

supermerill commented 6 years ago

also, it has to check if the extruder may collide with the first tower when printing the second one (see output options -> sequential printing)

Sebastianv650 commented 6 years ago

What is the "If this is checked, it should be doable." relate to... is there a bypass?

Bad wording. I meant if Slic3r is checking the layer time to see if we can afford the extra heat on one layer (eleminating a travel move) it should be possible to implement such a feature.

also, it has to check if the extruder may collide with the first tower when printing the second one (see output options -> sequential printing)

That's not a problem here. We are not talking about sequential printing, but eleminating some travel moves. If you print two objects (A and B), Slic3r does:

It's proposed to do:

supermerill commented 6 years ago

ok, my bad, it's that problem : https://en.wikipedia.org/wiki/Travelling_salesman_problem

Also, please take care for the cases where each objects/modifiers volumes doesn't have the same settings / the same extruder / the same filament.

AikiAviator commented 6 years ago

Yes it is the "Travelling Salesman model", just in three dimensions.. :-)

And Sebastianv650, your right on it. That is exactly what I mean. Thanks.

On Tue, Oct 9, 2018 at 2:30 AM Merill notifications@github.com wrote:

ok, it's that problem : https://en.wikipedia.org/wiki/Travelling_salesman_problem

Also, please take care for the cases where each objects/modifiers volumes doesn't have the same settings / the same extruder / the same filament.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/prusa3d/Slic3r/issues/1291#issuecomment-427879054, or mute the thread https://github.com/notifications/unsubscribe-auth/AjjYy6Idckqt3crVHwELURTWWlwgm391ks5ui2-SgaJpZM4XLmZ0 .