Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make initial layer travel move acceleration and jerk configurable #6890

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

shyblower
Copy link

@shyblower shyblower commented Sep 23, 2024

Initial layer acceleration and jerk for travel moves should be configurable like the speed because when you have to reduce acceleration and jerk e.g. for flexible filaments, the travel moves should stay at high values to help mitigate stringing. This works great except for the first layer where acceleration and jerk use the low values configured for first layer printing moves.

This commit makes initial layer travel move acceleration and jerk configurable.
The defaults are set to 100% of the general acceleration and jerk values for travel moves.

image

@shyblower
Copy link
Author

fixes #2797 and #6253

@vgdh
Copy link
Contributor

vgdh commented Oct 3, 2024

this would be great. Now days I do it with additional script.

@vgdh
Copy link
Contributor

vgdh commented Oct 3, 2024

same issue: 4346 First Layer Travel Acceleration

@shyblower
Copy link
Author

@vgdh you can try it if you are on Linux or Windows as I've built releases with my features included. I cannot create a MacOS binary, though, since I don't own a Mac.
https://github.com/shyblower/OrcaSlicer/releases

@vovodroid
Copy link
Contributor

Are zero values also use defaults?

@shyblower
Copy link
Author

@vovodroid what I read from the
std::string GCodeWriter::set_acceleration_internal(Acceleration type, unsigned int acceleration))
function in GCodeWriter.cpp is, that no Gcode is written when the acceleration argument is 0, which results in using the previously set acceleration value which in turn results in the configured first layer acceleration being used as it was the case without my modifications. I've also cross checked this in a generated Gcode sample.

The same is true for the first layer travel jerk feature.

So yes, it uses the configured general first layer values when the parameters are zero, if that is what you meant.

@vovodroid
Copy link
Contributor

when the acceleration argument is 0, which results in using the previously set acceleration value which in turn results in the configured first layer acceleration being used

But this option is used for first layer. So zero should to use global default values, shouldn't it?

@shyblower
Copy link
Author

That's a topic for discussion.
IMHO it makes no sense to apply the slow first layer print move settings, which of course make sense there, also to first layer travel moves.

One of the advantages of fast and highly accelerated travel moves is the prevention of stringing and the reduction of possible oozing which is a real problem with e.g PETG and first and foremost TPU on the first layer when the old behaviour is applied.

I honestly cannot think of any situation where the old behaviour would make sense and thus would justify having the default set to 0.

In case I'm wrong, please elaborate.

@vovodroid
Copy link
Contributor

vovodroid commented Oct 15, 2024

no sense to apply the slow first layer print move settings,

Slow print speed makes sense as it assists to bed adhesion.

@shyblower
Copy link
Author

shyblower commented Oct 15, 2024

That's what I tried to express with my second sentence. I'm not a native English speaker and I tend to write excessive subordinate clause constructions, so it might have gone lost in translation.
You have to interpret it in the context of the whole sentence:
"IMHO it makes no sense to apply the slow first layer print move settings, which of course make sense there, also to first layer travel moves."
These semantics make sense in German but I don't know if my English translation works equally well.

But this pull request does not touch the first layer "print" speed, acceleration and jerk but their values for first layer "travel moves".
The first layer travel speed setting has, by the way, already been there for a while, implemented by someone else, but what is missing and is also essential, is to make this available for first layer travel acceleration and travel jerk as well and that's what my pull request accomplishes.
There also have been multiple requests for this feature apart from my own in the past.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants