Do I need a Filament-Cutter?

TL;DR: Yes, you do!

I've came up with the idea of a Filament-Cutter in the early stages of the SMuFF development, but it took me a while to get it all right.
The reason why it's needed is pretty simple: To avoid retraction issues and fine threads in the bowden tube. 

The latter will mess up the bowden tube / SMuFF Selector and cause jamming but also, as the next filament gets pushed down to the hotend, those threads will get compressed and will build up a "fuzzy ball", which eventually causes jams in the heat break.

This doesn't happen on every tool change, but since a multi-material / multi-color model consists of hundreds of filament changes, it will happen eventually and thus ruin your print. Either partially (layers being missing) or completely (print has to be aborted).

Courtesy of LaidBackOldMan

Why is this so?

Eventually, it all comes down to what happens to the filament once it gets into the hot-zone a.k.a. the nozzle of the hotend. The tip of the filament gets molten (because that's the essence of 3D printing, right?) and looses it's shape. As long as the extruder pushes the filament in the direction of the nozzle, this is not a problem at all. It becomes a problem as soon as the filament gets retracted. I'm not talking here about retractions while printing (although they can cause the same issues if the retraction distance is too long), I'm talking about fully retracting the filament out of the extruder. 

Here's an example of what a filament tip may look like, after it has been retracted from the nozzle/extruder. As you can clearly see here, the tip has significantly deformed and got wider than the nominal value of 1.75 mm. Of course, the amount of bulging totally depends on the brand and type of filament being used (some bulge more, some less) and also some other parameters, i.e.: 

In the case shown here, the tip has a diameter of roughly 2.2 mm and taken that a PTFE bowden tube usually comes with an inner diameter of round about 2 mm, problems are already looming on the horizon. Keep in mind that some bowden tubes, such as the Capricorn brand, are even less than that (usually somewhere between 1.85 and 1.9 mm). Although the extruder might be able to pull that tip all the way through the standard PTFE tube, it most likely will fail on the Capricorn.
One could argue, using a PTFE tube with a larger diameter (i.e. 3 mm ID) will solve this problem. This is true but it will also bring up other issues, such as a higher back pressure and reducing the ability of printing (semi-) flexible materials.

Maybe you've experienced already having difficulties pulling such a deformed filament out of the tube manually and needing a lot of force to do so. In some cases, you can even feel the bowden tube getting stretched out as the tip comes along.

Even if the extruder is able to pull the filament completely, another problem pops up as this particular filament is about to be pushed back in (i.e. at the next filament swap). For one it's the same issue in the PTFE tube as described before, and for the other, a more delicate problem is the heat break itself. While the heat break won't show any signs of issue when pulling the filament out because it's still warm and thus a bit softer, it's definitely going to jam when pushed back in.

The reason for this is the bore diameter, which is usually 2.0 mm on a standard heat break. That's mainly the reason why every experienced maker / filament manufacturer recommends cutting off the filament tip (in a certain angle) before feeding it into the extruder/printer.  

Keep in mind that some heat breaks do have larger bores, such as the E3D heat break for Prusa MMU printers (2.1 mm), or the heat break of the MicroSwiss All-Metal hotend for Creality printers, which comes with a bore of 2.2 mm. Although, the larger the bore is, the wider  the filament can get when it's being pulled/retracted.

Since the filament is now cold and solid, it won't fit and thus, the extruder is not able to push it down to the nozzle. Keep in mind that at this position the heat break is supposed to be cold, so no heat here to soften the tip.

The result is: Either the extruder is skipping steps, or if it's a dual gear extruder, it'll grind off the filament and render the overall situation even worse.

The result of this can be clearly spotted in the picture down below, which is one of my "Lizard" prints I've used for testing the SMuFF.

The one layer that's obviously missing on the violett filament happened because the filament didn't get down to the nozzle and the printer was printing nothing more than hot air.
Also visible in this picture is another effect, which is hard to spot. A few layers above the missing layer appears what's called "color bleeding" or mixing colors of filaments. This issue can also be cause by a partially jammed filament path. Because the filament couldn't get fed completely, purging the old filament out didn't work as it was supposed to.

Although you now may say: "What the heck? It's only one layer!" this doesn't necessarily mean it's always one layer. If things get worse, you'll most probably stop mid print and start all over again, as it happened to me once or twice (or maybe even more than that). 

Btw.: The prints shown here were all made without any special tweaks, such as Filament-Cutter or Ramming. I was convinced that "My printers don't need that, since I'm using the SMuFF only to swap filaments at the beginning of a print!".

Now, how do we deal with that information? Firstly, it's important to keep these two findings in mind:

Secondly, there already were techniques out in the fields, even before the SMuFF landed. One of them, I've already briefly mentioned, is Ramming. 

What's Ramming and how does that help?

Ramming is a technique which uses a defined sequence of retracting and extruding the filament with certain lengths and speeds. The idea behind is to shape the tip of a filament using heating, cooling by dipping it into, retracting from the hot zone of the nozzle / heater block. Although this technique works pretty nice, once one has dialed in the sequence steps, there're a couple of drawbacks, namely:

The latter is because playing with different temperatures requires the process to wait for heating up/cooling down the hotend. Needless to say, that the time it needs to complete highly depends on the equipment you have (i.e. heater cartridge).
The first item on the list is because one doesn't see any effect or progress while the sequence is running. Simply because everything is happening in the hotend, in this case a "black box". You'll see whether or not it's successful only after the whole sequence has been processed.
The second item on the list is not much of a show stopper, as ylong as one uses the same brand and type of filament, which is usaully the case when printing with multiple materials.

As a conclusion I'd say: Ramming is fine if you don't mind waiting longer for your prints to finish. In some forums makers describe what sequence they use for their printer/material. Hence it's fairly easy to start with some pre-made sequence and fine tune it to match your printer/environment. Prusa Slicer has such sequence already defined in its settings, you only have to enable it. 

Cutting Edge Technology

That's what the Filament-Cutter is. Literally. 

Even though I was convinced from the start that cutting the filament is the way to go, I didn't know what the best method is. All I knew was that the Prusa MMU2 approach is not the road I wanted to take. Main reason was the "pulling bulged filament through the PTFE tube" argument I stated before. So, it became fairly clear that my Cutter has to be placed somewhere near the hotend.

So I started experimenting with different approaches, which concluded in the Filament-Cutter you see today in all my designs. Of course, my solution has drawbacks too:

The "filament wasting" is because the cutter sits above the hotend and leaves the lower part of the filament untouched. The amount of the wasted material (which needs to be purged out after the next filament has been loaded) depends on the distance between the position of the cutting blade and the nozzle. This highly depends on the hotend in use. A standard E3D-V6 hotend (or its clones) wastes the most because of the size of the E3D-V6 (64 mm compared to the 43 mm of a MicroSwiss All-Metal hotend for Creality printers).
To overcome the filament wasting problem, I've added a parameter in the firmware which allows the filament to be retracted before the cutter takes action. This enables the SMuFF to only cut the tip off, but it comes with the risk of jamming the heat break if the tip is way more bulged than the heat break is able to take (yes, it's the same problem here).

So far, I've had good results using this feature in conjunction with the MicroSwiss All-Metal heat break, which comes with a bore diameter of 2.2 mm.
If you activate this option, please be careful and watch the cutting process for the first couple of filament changes. If the cut-off tip jams your heat break, don't use it.

Even if you don't use this option, keep in mind that the waste of material you're getting by cutting the filament, is not nearly as much as you'll get by aborted and restarted prints.

Besides the drawbacks, it makes multi-material printing almost a no-brainer, since it totally eliminates the issues of bulged filament tips and fine strings. Thus, it allows stress free printing and a high success rate, no matter whether 100 or 100000 layers are being printed.
Also, because of the powerful servo used, the Cutter will not fail, even if it has to deal with high strength materials, such as PC or Carbon fiber filled PA (which I've tested, as you'll see in this video).

For your convenience, I've designed a couple of Filament-Cutter solutions (for example BIQU H2, Orbiter, E3D-V6), which I've also published on Thingiverse and Thangs. For those who need a specific solution for their hotend (i.e. none of mine fits), I've published the STEP file of the Base Cutter Module over on Thangs. This will help you making adoptions and mods to your hotend/Direct Drive Extruder, given you have some skills in 3D modelling. 

*Another thought that came to my mind: How does something like the new E3D Revo hotend behave here?  Since the heat break is directly bonded to the nozzle and there are no gaps in between, in theory chances are that tip bulging is not an issue here.
If that proves true, retracting before cutting will definitely help reducing the waste but also prevent building up those super fine threads mentioned earlier. 

Let me know your experience, if you get the chance attaching your SMuFF to a E3D Revo or any similar system that unites nozzle and heat break.

This video shows you my very first design of the Filament-Cutter I've built for testing.

I've chopped up a lot of filament of various brand and type with that little setup, just to make sure it's doing what it's supposed to.

Since then, the design has changed in order to make it smaller and more reliable but the basic technique is still the same.

How to print the Filament-Cutter parts?

Here's a suggestion in which orientation to print the various Filament-Cutter parts. Please notice that the Punch (leftmost part) needs to be printed with at least 10 top layers and 3-4 shells to get a really stiff piece. The amount of top layers matters here, because the servo/servo horn pushes the Punch with a lot of force. When using the usual 3-5 top layers, this part will wear out quickly and affect its function.
Supports are needed on the dove tails of Base (depends on the model variant)  and Servo-Mount only (but the latter can also be bridged, if your printer is tuned in well). For the Servo-Mount, best practice is using 4-5 shells and a somewhat sturdy material like PETG (or even better CF-PETG). 

As the blade use a piece of the standard Stanley-Knife blade (usually 8 x 25 mm) which you have to break off. Keep in mind, the better the quality of the blade, the longer it'll last.

For inserting or removing the blade into/from the Punch, please always use pliers because it's a very tight fit. Doing so by hand imposes the risk of injuring yourself. 

Filament-Cutter firmware settings

Keep in mind that you have to enable the Filament-Cutter option and also set up the servo angles in the SMuFF firmware. The degrees highly depend on the mounting position but the main point here is, that the angle difference between engaged and released has to be about 50 degrees.
For example, if you mount the Filament-Cutter-Horn at a 90 degree angle (which is the default position as the servos is un-powered), so that the tip of the servo horn points to the bottom (see picture), the correct angles would be 90 for released and 40 for the cutting position (90 - 50 = 40).

For good measure watch the Filament-Cutter for the first couple of cuts and make sure that the servo mount isn't lifting upwards as the Filament-Cutter-Horn reaches its cutting position. If it's lifting, it means that the servo is trying to push the Cutter-Punch further than it's physically possible and hence, the force applied by the servo is going the opposite direction. In such case, increase the cutting angle towards the released position in steps of 5 degrees. 

If the filament doesn't get fully cut and the servo mount isn't lifting, decrease the cutting position angle towards 0 in 5 degree steps.

If the servo mount is lifting slightly but the filament doesn't get cut, this could mean that your blade is too short.

Keep in mind that every blade will get dull over time. To be on the safe side, the SMuFF engages the servo 3 times when cutting. If the filament doesn't get cut after3 attempts, it's time to swap out the blade.