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

Factor most of the magic-numbers out of PRIME_LINE #62

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mmirate
Copy link
Contributor

@mmirate mmirate commented Apr 29, 2022

This PR allows customization of the line's origin, direction and length. Compared to the status quo, this should be a big help for the macro-customizing type of person in case they like to mindlessly fill the slicer plate with models without regard for the ~8mm of margin that the default hardcoded origin (5,10) requires. (Losing that space is honestly a bit of a bummer on the small plate of the Minion, especially coming from the Prusa world where the bed and flexplate have a few unadvertised extra millimeters in the negative-Y domain where the prime line can go without ever disturbing the printed objects.)

Additionally, this PR makes the line's E-values calculated entirely from simple physical facts, including the nozzle bore which can be passed in as a parameter if it's not 0.4mm, and the filament bore which is assumed to be 1.75 (because Jinja2 does not import the math library so instead I precomputed and hardcoded the filament's cross-sectional diameter).

Lastly, this includes a solution for an annoying problem where the nozzle consistently goes a bit cold during the prime line, causing SuperSlicer's insistently-inserted M109 to not immediately pass, causing a long pause after the prime line which defeats the purpose of the prime line by allowing the nozzle to deplete itself via oozing.

I've tested this on my V-Minion and its 0.4mm nozzle quite a bit, and it seems to produce similar results as the status quo.

This should work well with, but is otherwise independent of, my previous PR #54.

This allows customization of the line's origin, direction and length.
Compared to the status quo, this should be a big help for the
macro-customizing type of person in case they mindlessly fill the slicer
plate with models and disregard the ~8mm of margin that the default
hardcoded origin (5,10) requires.

Additionally, this makes the line's E-values calculated entirely from
simple physical facts, including the nozzle bore which can be passed in
as a parameter if it's not 0.4mm, and the filament bore which is assumed
to be 1.75 (because Jinja2 does not import the math library so instead
I precomputed and hardcoded the filament's cross-sectional diameter).

Lastly, this includes a solution for an annoying problem where the
nozzle consistently goes a bit cold during the prime line,
causing SuperSlicer's insistently-inserted M109 to not immediately pass,
causing a long pause after the prime line which defeats the purpose of
the prime line by allowing the nozzle to deplete itself via oozing.

I've tested this on my V-Minion quite a bit, and it seems to produce
similar results as the status quo.
Comment on lines +170 to +174
# nozzles of varying bores seem to have flats of constant wall-thickness;
# so if we used a percentage of nozzle-bore, then we'd be more likely to
# extrude past the flats, the bigger the nozzle we were being asked about.
# so it's unfortunate that SuperSlicer's width settings can't do
# what we're about to do here:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given the perennial problem of link rot, I don't know how to cram a photograph like this into a comment in the code.

Thus, I'll just put here an example that clearly shows the nozzle-flats at various bores of one popular line of nozzles, the Bondtech CHT in nickel-coated brass.

image

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.

1 participant