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

Add analogue for Prusa-firmware's M862.1 #54

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

mmirate
Copy link
Contributor

@mmirate mmirate commented Mar 15, 2022

This gives a new, optional parameter to START_PRINT for the nozzle diameter. SuperSlicer can provide the value for this parameter using its own template-variable substitution. Then when START_PRINT is run with the parameter specified, it will check that the specified diameter is identical to what is in the configuration. Assuming the user remembers to change their configuration when they change their nozzle-diameter, this will prevent negligent usage of incorrect nozzle-diameter in the slicer (and negligent reuse of g-codes sliced for the incorrect nozzle-diameter).

I don't know how Klipper configures IDEX or toolchangers (let alone do I possess a Klipper-powered machine with such capability), so I doubt this code will work correctly for such multitool printers with multiple different nozzle-diameters.

@miklschmidt
Copy link
Member

miklschmidt commented Mar 19, 2022

This is actually a pretty good idea. I've wanted to use nozzle_diameter for priming macro's for a while, but also knew i couldn't rely on it because some people insists on keeping the nozzle_diameter set to their largest nozzle so they don't have to deal with it. Only downside here is that we'd then require people to specificy the correct nozzle_diameter in their config (while your current suggestion is optional, so it doesn't have that downside). Need to think about it a bit, but generally i like it.

@mmirate
Copy link
Contributor Author

mmirate commented Mar 19, 2022

Hmm, interesting, when I rebased to fix merge conflicts, my text editor blew away a bunch of trailing whitespace. Should go away if you ignore whitespace changes in the diff.

@mmirate
Copy link
Contributor Author

mmirate commented Mar 19, 2022

use nozzle_diameter for priming macro's for a while

Oh, duh, I'd never thought of that before, but in retrospect, it makes perfect sense - the intentionally overextruded prime line will not be quite so overextruded when the nozzle is bigger than 0.4mm, unless the prime line's E length is specifically adjusted for the nozzle diameter. Slicing Geometry 101.

Would you welcome some further commits here to plumb that same parameter through to PRIME_LINE and for PRIME_LINE to use it when present?

(I come from the world of PETG on a Prusa MK3, and am therefore 100% unfamiliar with the concepts that make the prime blob work correctly, let alone with sticky stuff like PETG. Sorry. 😦)

Scratch that; no can do; the mathematics for this are more complicated than I thought.

@mmirate
Copy link
Contributor Author

mmirate commented Apr 29, 2022

Okay, I finally got around to figuring out the mathematics. I put them in PRIME_LINE in a separate PR. I could make further changes to this one to send NOZZLE_DIAMETER down thru _START_PRINT_AFTER_HEATING_EXTRUDER, if that would be desirable.

@mmirate
Copy link
Contributor Author

mmirate commented Jul 31, 2024

Does v2 contain something like this? If not, then would a rebase/rewrite be welcome?

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.

2 participants