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

Rapid Tip Shaping Algorithm - Feedback Welcome #25

Closed
1 of 5 tasks
3DCoded opened this issue Oct 23, 2024 · 17 comments
Closed
1 of 5 tasks

Rapid Tip Shaping Algorithm - Feedback Welcome #25

3DCoded opened this issue Oct 23, 2024 · 17 comments
Labels
enhancement New feature or request experimental Experimental implementation complete

Comments

@3DCoded
Copy link
Owner

3DCoded commented Oct 23, 2024

Introduction

Note

With the migration to Happy Hare firmware, this feature will become obsolete.

For the past couple of weeks, I have been working on a new method of performing tip shaping. Instead of running in the slicer, this method runs as a Klipper macro. This allows for quickly trying out new settings to see what works best for each of your filaments.

Before I explain more, I want to give credit where credit is due. The idea for tip shaping in a macro came from Happy Hare Firmware. The basis for this algorithm was originally from this post in the 3DChameleon forum.

So...how is it better than standard tip shaping?

  • Faster: In my testing, this method is around 1.5-2.5x faster than standard tip shaping, resulting in ~20s color swaps
  • Easier Tuning: As I mentioned earlier, this method allows for testing your tip shaping with a simple macro
  • More Reliable: In my testing, this method has proved significantly more reliable than standard tip shaping. This is likely because tuning tips with traditional tip shaping is a long process, so I settled for decent tips, not near-perfect ones. With this method, I kept tuning until my tips looked nearly perfect.

Filament Cutters

Before we go further, if you can install a mechanical filament cutter on your printer below your filament sensor (closer to the nozzle), please do that! Filament cutters are much, much faster and more reliable than tip shaping will ever be, and there's no tuning required.

Thank you @ImChrono for implementing this! The documentation is available here.

How it Works

If you aren't using a filament cutter, back to tip shaping. This algorithm uses only four G-Code moves. That means that while there are less things to tune, each setting can have a big impact on your filament tips.

I've broken them down below:

  1. Quickly push the filament out of the nozzle
    • This is essentially the ramming stage of standard tip shaping
    • This part actually forms the tip of the filament
    • This leaves a string of filament on the nozzle that is meant to be "caught" by the wipe tower (explained more later)
  2. Quickly retract the filament to the cooling tube
    • Tuning this speed is crucial to keeping the filament tip shape through the next step
  3. Slowly retract the filament through the cooling tube
    • This is similar to the cooling moves performed by standard tip shaping, however it doesn't move the filament back and forth
    • This step controls how flat/sharp/stringy the filament tip is
    • This also controls how molten the filament tip is when it exits the extruder
  4. Quickly retract the filament out of the extruder
    • This step isn't too important to tune if the previous three steps were done right

Documentation

Documentation for rapid tip shaping is available here.

TODO's for rapid tip shaping:

  • IN PROGRESS: Support for custom PARK and UNPARK macros
  • Any feedback given here

TODO's for the documentation:

  • Slicer setup
  • Pictures of filament tips
  • Any feedback given here

Feedback

Please feel free to give any feedback on this feature. This is still in development, so expect frequent changes.

@3DCoded 3DCoded added enhancement New feature or request experimental Experimental implementation complete labels Oct 23, 2024
@3DCoded 3DCoded changed the title Rapid Tip Shaping Algorithm Rapid Tip Shaping Algorithm - Feedback Welcome Oct 23, 2024
@3DCoded 3DCoded mentioned this issue Oct 23, 2024
3 tasks
@bsafh
Copy link

bsafh commented Nov 7, 2024

"Thank you @ImChrono for implementing this! The documentation is available here."

Which cutter can be used and how to connect it to the controller ???

To be more precise: for this direct drive extruder: https://www.tronxy3d.com/de/products/tronxy-3d-printer-parts-high-temperature-print-head-for-x5sa-series?variant=43828171833588 (320°C version) and this Klipper control unit https://www.tronxy3d.com/products/tronxy-klipper-firmware-upgrade-kits?variant=44680278671604 - it a Tronxy 5XSA Pro printer

@3DCoded
Copy link
Owner Author

3DCoded commented Nov 7, 2024

Any filament cutter that cuts below the filament sensor can be used. It is controlled by a mechanical switch that the printhead pushes against the frame/gantry of the printer to cut the filament.

@bsafh
Copy link

bsafh commented Nov 7, 2024

Ok ... limit still a bit lost how to find one, but well ...

@3DCoded
Copy link
Owner Author

3DCoded commented Nov 7, 2024

What printer are you using? There are some pre-designed filament cutters for certain printers (e.g. Filametrix cutter for Voron printers).

@bsafh
Copy link

bsafh commented Nov 7, 2024

@bsafh
Copy link

bsafh commented Nov 7, 2024 via email

@ImChrono
Copy link
Contributor

ImChrono commented Nov 8, 2024

I also have a Tronxy X5SA (not Pro) but modified the gantry with a custom setup using linear motion instead of rollers. Unfortunately, I don’t have the same print head, so I can’t help with designing a custom mechanical cutter. However, you could try remixing this model:
Small Filament Cutter.

I think there should be enough space to place the cutter between the extruder and the hotend

As a side note, I'm planning to release a second PR soon, which will include filament retraction between swaps to save filament, as well as support for a servo cutter.

I think a servo cutter might be an easier option for your printer since it would minimize the need to move the printhead, which looks a bit heavy...

@ImChrono
Copy link
Contributor

ImChrono commented Nov 8, 2024

I also suggest opening a new issue so that this thread can stay focused on tip shaping suggestions and improvements

@bsafh
Copy link

bsafh commented Nov 8, 2024

I also suggest opening a new issue so that this thread can stay focused on tip shaping suggestions and improvements

#27 (comment)

@3DCoded
Copy link
Owner Author

3DCoded commented Nov 8, 2024

As a side note, I'm planning to release a second PR soon, which will include filament retraction between swaps to save filament, as well as support for a servo cutter.

Before you spend too much time working your PR, the beta of Happy Hare v3 (which supports the 3MS) should be released very soon. All the existing 3MS macros will be archived after the final release of Happy Hare, including contributed code.

@bsafh
Copy link

bsafh commented Nov 8, 2024

Happy Hare should support that anyway, or not?

I'm happy to wait for that, no hurry.

@ImChrono
Copy link
Contributor

ImChrono commented Nov 8, 2024

That's great news! As you pointed out, Happy Hare is a solid alternative. Once TYPE B MMU gains full compatibility, I'll switch my new setup to that firmware as well.

@3DCoded
Copy link
Owner Author

3DCoded commented Nov 8, 2024

Happy Hare should support that anyway, or not?

I'm happy to wait for that, no hurry.

Yes. As with any servo-driven cutter, you will have to make your own macro, but it's super simple. Mine is here .

@bsafh
Copy link

bsafh commented Nov 8, 2024

🙂🙃

I'll see. Still new to Klipper...

@3DCoded
Copy link
Owner Author

3DCoded commented Nov 8, 2024

🙂🙃

I'll see. Still new to Klipper...

This is a really good guide for writing Klipper macros.

@bsafh
Copy link

bsafh commented Nov 8, 2024 via email

@3DCoded
Copy link
Owner Author

3DCoded commented Dec 10, 2024

Closing as the 3MS is now fully migrated to HH

@3DCoded 3DCoded closed this as completed Dec 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request experimental Experimental implementation complete
Projects
None yet
Development

No branches or pull requests

3 participants