Hi. I have a Geeetech A10T Printer which has 3 extruders and 1 nozzle. I want to select specific percentages for each extruder for mixing. Can you let me know the g-code details and syntax to do this.
Great question! Unfortunately gcodes for mix ratio like you're asking aren't quite standardized across all printer models (for a long time every manufacturer who invented mixing extruders was making their own implementation until firmware developers caught up and started supporting them officially), but for the geetech it's likely to be done with M163. The S parameter sets the tool number (colour) and the P parameter sets the mix fraction. Here's an example:
M163 S0 P0.5 ; Set tool 0 (extruder) to 50% M163 S1 P0.5 ; Set tool 1 (extruder) to 50%
That should give you 50% extruder 1 and 50% extruder 2 and 0% extruder 3. Best way to confirm is to have the printer connected to your computer over serial, send those codes to it, and then check the LCD screen on the printer to verify the mix ratio. If the above gives an unexpected result, you might need to add M163 S2 P0 to enforce 0% for extruder 3 [on my zonestar dual-extruder printer it's smart enough to fill in the last percentage by itself, but it's not guaranteed to work on all printers so check how yours behaves].
After doing the above, you can use M164 to create a "virtual" extruder that prints with that mix ratio, but behaves like a single extruder to the slicer. Syntax in that case would be:
M164 S0 ; Invoke virtual tool 0 (extruder) for M163 defined mix
One example of an application for multiple virtual extruders is, say you loaded your extruders with cyan, magenta and yellow filaments, you can define several virtual extruders of different colours, so that you can call them at-will throughout the print. You can read more about it here: https://www.reprap.org/wiki/Repetier_Color_Mixing (halfway down the page is a sample script that generates a gamut of 15 colours all assigned to virtual extruders).
Some further explanation of the M163 command is here - https://marlinfw.org/docs/gcode/M163.html - note that multiple formats exist for the P factors, not necessarily just fractions. You can also feed it percentages and ratios.
If M163 doesn't work, your printer might use the older M165 command, explained here - https://marlinfw.org/docs/gcode/M165.html
Hope this helps! Let me know if it worked for you 🙂
Thanks Luke. I will get back to you.
As an aside to your reply, the Geeetech A10T firmware has a mixer setting but it is very crude. It prioritises Extruder 1 and if you adjust it, it will split what ever value remains from 100% equally across Extruders 2 & 3. ( with Ex 1 set at 70%, Ex 2 & 3 would be 35%). It will allow you to toggle the settings but that seems only to prioritise Extruder 3 instead of 1. This leaves Extruder 2 without any direct setting control.
Using your M 163 solution seems great. I will let you know how it goes.
I am going to use PVA filament for the support structures. I see on Cura that you can set the Extruder number for the supports separately to the primary Extruder.
Interesting behaviour - if you experiment a bit with the M163 you might find what it takes to get the right mix without the printer auto-setting undesired numbers on the other extruders (maybe it responds better to fractions rather than percentages, maybe it's a simple matter of three consecutive M163 commands).
For soluble PVA supports, most slicers support a setting where only the interface is printed out of PVA and the rest of the supports are printed out of normal filament, so it restricts the relatively expensive PVA to only the small sliver of the print where it's really needed rather than wasting it on the entirety of the support column.
Once you've tested the mix ratio and hopefully found a way that works, let me know if you want me to explain and demonstrate the support interface 🙂
Looking forward to hearing from you!
Hi Luke. The codes are M163 and 3 consecutive command lines in Cura would give the mix. I will need to experiment with this together with the M164 command. To stop the default mix in Cura I have simply put a semi-colon in front of the command line (M163) to make them comments rather than commands.
I have only been printing for about 10 weeks and have so much to learn. I will update you over time. Thanks
Glad to hear you're making progress 🙂
You might find it easier and better to try using PrusaSlicer - the software is free, supports all models of printers, and we cover it extensively as part of your course (so you'll get up to speed quickly). I find that compared to cura the interface is snappier, easier to use, faster, has a shorter learning curve, and as of the last few revisions has several functions that aren't in cura yet (like paint-on support). It's quite easy to manage multicolour prints in PrusaSlicer, so I would give it a go as well.
Hi Luke, I have installed PrusaSlicer but is does not seem to cater for multiple ewxtruders. I have a Geeetech A10T with 3 extruders and 1 hotend.
How can I configure PrusaSlicer for this.
Thanks & regards
Hi Peter, in response to your first reply, to enable multiple extruders, you must first enable "expert" mode (click the expert button with the red dot) then go to Printer Settings -> General -> Capabilities -> Extruders and change the number to 3, like so -
This will enable all the multi-extruder capabilities for this printer. From this point on it should be pretty straightforward, for example you pick which extruder to use from the Print Settings -> Multiple Extruders menu -
One feature which isn't very obvious is the purging volumes. Since you have a 3-in-one-out hotend, your printer will have to purge out the "old" colour so that the nozzle starts cleanly printing in the "new" colour. The settings for that are in the plater, by pressing the "purging volumes" button -
The reason it contains so many settings is because you can optimize purging volume depending on the colours you're using. Let's say you're switching from white to black filament. Black is much more strongly pigmented, so it takes very little purging until the nozzle is printing in black filament because any traces of white will have an imperceptible effect on the colour. However when changing in the reverse (black to white), you're going to have to purge a huge amount of white filament to get rid of all traces of black, because even the slightest trace will make the filament look noticeably grey. That's why the purging volume adjustment menu lets you define the volumes from one tool to the next (ironically I find the advanced settings more intuitive to set than the "simplified" settings) -
Another feature that's super useful and super well hidden is purging into an object's infill. Quick explanation - as discussed above, you'll want to purge out some filament when changing colour so that by the time you get to the outer skin of the part, you're printing cleanly in the correct colour. Purging is typically done into a block of filament beside the print (the wipe tower) which is then thrown away. Well, since infill will be invisible in the finished print, it's actually possible to perform some (or all) of the purging by printing infill instead of the wipe tower. That way you save material because you needed to print the infill anyway (so might as well do two things with the same filament - print infill and purge the nozzle for a colour change). Any additional required purging (to make up the set volume) is done into the wipe tower as normal.
So, to set an object's infill to be used for purging, you have to right click it in the object browser, then click "wipe options" at the bottom (NB - this menu only appears after you've saved the printer configuration after increasing the number of extruders; if you didn't save the configuration under printer settings, you won't see "wipe options" in this page) -
Once you click that, you can tick "wipe into this object's infill" to save some filament 🙂
Hope that helps, I will reply to your second question in the next post 🙂
So, about support interface. Let's say you had PLA on extruder 1 and PVA on extruder 2. The aim is to use extruder 1 everywhere (PLA for the model and the bulk of the support column) and extruder 2 (PVA) for the interface only.
Under support settings, set contact Z distance to 0 (soluble). This will also prompt you to turn on "synchronize with object layers) -
In the Multiple Extruders menu, set Support material extruder to 1 and Support material interface extruder to 2 (tweak as appropriate to match the physical layout of your printer depending on where you loaded your PLA and PVA):
That's it. Now you have PVA being used for the support interface only -
Now, since PVA dissolves in water, you can use extremely dense support settings for the interface (100% dense) because it doesn't have to be made fragile enough to break cleanly off the print (the water will take care of that by dissolving it), so "support pattern spacing" can actually be set to 0 to get fully dense support -
And here's the result -
Hope this helps, let me know how it goes! 🙂
That's brilliant Luke and so well explained. I only have one issue and that is that for some reason I could not download PrusaSlicer 2.3. It kept saying that there was a .dll file missing (without saying which one). So I downloaded 2.4.0 Alpha and everything is the same with the 3 extruders except for the purging volume and purge to the infil. It dealt with the wipe tower but look as I might I could not find it anywhere in the expert parameters.
Can you help?
Despite that I am starting to use PrusaSlicer.
With regard to the Support Interface, it looks to be the way to go and I will be using it. With PVA at almost 4x the cost of PLA it is certainly a money saver. Thanks
Can you clarify - were you able to get prusaslicer 2.4.0 installed? If not can you send screenshots of the error? It might help to right-click and use "run as administrator" when opening the setup file and when opening prusaslicer itself - there may be a read/write permissions issue. Other possibilities include a missing system DLL (which you could fix using SFC /scannow in the command line) or a missing dependency like Visual C++. I will advise once I get your feedback.
Regarding dual/triple extrusion, is it still not behaving as expected? If so please send screenshots of your settings pages and I will advise. Most of the settings I pointed out will only appear when properly saved as a multi-extrusion printer.
@lmf5000 Hi Luke,
I was able to load v2.4.0 and after using Run as Administrator V2.3.3 ran successfully. I set up thr printer as a custom printer. But in neither version after saving the 3 extruder configuration did I get the Purging Volume even when opening the software with 'Run as Administrator". See attached screenshot.
Glad you got it installed :). Can you send a screenshot of the printer settings -> General screen?
Since you've only got one filament dropdown visible in the Plater, it implies PrusaSlicer still thinks your printer is a single extruder.
Looking forward to your feedback 🙂
We’re a bunch of 3D printing and design nuts. We just want to make great 3D design available to everyone.
Good design takes time, great design takes a process. You can learn this with us, to build your skill set in this rapidly expanding market.