The past year (2018/2019) I printed with my own designed 3D Printers with various printheads and required for each variant a dedicated Part Cooler, and I realized it was worth the time to approach this in a parametric manner using OpenSCAD, using the “bull horn” design and so I came up with a general approach, and as a result was able to create various variants for my use-cases:
E3D Volcano (1 nozzle, 1 heatsink, large nozzle diameter)
E3D V6 Lite (1 nozzle, 1 heatsink, small / medium nozzle diameter)
a few other specialized setups
Dual Micro Swiss
Dual E3D V6 Lite
Triple Micro Swiss
Single E3D V6 Lite
Needless to say, the proven design allowed me to quickly design and print a new variant, and have expected results when using the part cooler – which is a huge time saver.
Yet, one drawback is obvious: in order to adapt a new variant, one requires the surrounding parts like heat sink and nozzle as a model or design it yourself (which can be time consuming as well) so the proper variables can be found to render the part cooler for the setup.
After I designed my 3D Printers also in parametric manner, like the Ashtar K (Prusa i3-like) 380x300x300mm build volume or Ashtar C (Core XY) 380x400x380mm build volume, using this parametric approach for a Part Cooler as well, turned out quite successful too.
It makes sense to develop and design a parametric piece which
maintains a few constraints, a general form, a base functionality
requires a few variables to adapt certain customization, sometimes it makes sense to introduce a lot of variables, and while testing and adapting customized pieces, some variables may become constants and unforeseen variables become more important
It certainly requires expertise about the piece in order to discern the constraints from the variable aspects while still maintaining its base functionality.
You can define X offset via Gcode (e.g. as start gcode):
M218 T0 X0
M218 T1 X24 Y0
given T0/Extruder 1 is left, and T1/Extruder 2 is on the right.
Since “CR10 hotends” are really cheap and not precisely machined, there is too much margin in the mounting 3mm holes – hence, you likely have more or less of 24mm X offset, and possible even Y offset as well. Use a 2-color calibration model to tune the offsets.
The past weeks (2019/09) I adapted existing Part Cooler designs, and redesigned them in order to work with the Diamond Hotend, as I have been searching for a good part cooler option and did not succeed with what’s out there already.
So here my 3 designs so far with a short review of their use quality:
Dual (or Single) Short Fan Shrouds
At the first sight this looks a promising design, but in reality there were major drawbacks:
adjustment of height (vertical) was critical and required fine-tuning
tendency to cool down the nozzle instead of the molten filament, in particular at lower layers near the bed
As next I designed the ring cooler, with small holes around the nozzle, also adjustable in the height (Z), but the cooling wasn’t really sufficient, as the nozzle still was cooling off a lot (no more than 45% cooling fan with 5015 blower was possible) – quite a disappointment for the rather sophisticated setup, but this general “ring cooler” design has failed for me also for other printheads like E3D V6 or so, and I switched back to “bull horn” like fan shroud.
Although it seemed logical to use two direct cooler, but the amount of air around the nozzle in operation was too much, and it required 20% fan cooling so the nozzle was still properly heated, but this was too low to provide any sufficient part cooling. So this option, without silicon sock on the Diamond Hotend, is not suitable.
The winner is the Directional Part Cooler as it brings the cool air close enough where the molten filament exits the nozzle, without affecting the bare nozzle too much. As mentioned, either way a silicon sock would be recommended when using a part cooler with the Diamond Hotend – so far (2019/09) there is no commercial source but DIY approach with this thing.
As you can see I used simple E3D V6 Fan mount in combination of LED Strip holder to lighten up the tip of the nozzle and the printing operation.
Even though the air output is close to the nozzle tip, you might reduce the fan
-narrow: use ~50% fan cooling, position as low to the nozzle height as possible (e.g. 2mm above, not less, not more)
-wide: use ~80% fan cooling: more tolerant on vertical position / height
to avoid cooling the nozzle and run into “THERMAL RUNAWAY” error – or you use a Diamond Hotend silicon sock, then you likely are able to use 100% cooling fan.
XYZ Hollow Calibration Cube with 3 Colors Mixed
The actual success of this setup is seen in this test cube (printable with 0% infill):
The “X” and “Y” junctions are quite well printed, not as good with a “bull horn” part cooler as with E3D V6 setup.
Addendum: Dual Directional Cooler
Although this looks like a nice setup, the overall output of air to the nozzle is overpowering and cools off the nozzle too much. The cooling fan, in my case, required reduction to 20% to avoid “THERMAL RUNAWAY ERROR”, but at 20% the cooling effect on the extruded filament was less optional than with a single directional cooler – therefore this option isn’t recommended, unless you have a silicon sock over the nozzle.
The past months (2019/09) I used a temporary setup for part cooling as most designs I explored for part cooling for Diamond Hotend did not work for me – so I finally I remixed an existing design in order to use 5015 blower fans and the “BQ fan shroud”:
2x bq_extruder_Tobera or bq_extruder_Tobera-clean(air outputs)
“-clean” version requires glueing but has no internal obstacle
For the past 9 months (2019/08) I printed with two Ashtar K printers, where the X belt was routed above the 2020 extrusion:
easy access (X motor & X carriage belt mount)
stabilizes the X carriage vertically
bending of the mount
And the bending of the mount became an issue more and more, as I kept tighten the belt and bend the mount more; time to redesign the part.
Update 2021/01/19: I resurrected the piece for the Ashtar K/M IDEX and improved the strength for its use-case.
New Option: Routing Belt inside groove of 2020 Profile
First I used T shaped 2020 aluminium profiles and the nylon wheels did have little surface to ride, hence, I wanted the belt also function as vertical stabilizing. Once I replaced the X beam with V shaped 2020 profile, and V shaped wheel in the V modules riding on the profiles, I thought to reposition the belt into the groove of the V 2020 profile, and so reposition the X motor mount. So I merged the horizontal 2020 mount with the motor mount in one, plus adjustable Z stopper:
which gave the desired stiffness of the part I sought.
easy to mount & accessible (belt, Z stop screw)
larger part, 2020 mount and motor mount combined
X Carriage Beltmount
In order to route the belt in the groove of the 2020 profile for the X carriage itself, a rather delicate piece was required, mounted at the backside of the X carriage V-module; I use a M3 to fasten the belts:
Part names with variables:
xcarriage_short_hmount_motor_2020(zstop=true): main motor mount with 2020 profile mount combined
xcarriage_beltmount_2020(th=32.7): new belt mount on the X carriage, th default at 32.7mm, but one needs to measure the total thickness of the V modules acting as X carriage
pulley_holder_2020(): right side of the belt routing
After my bad experience with the “Cyclops/Chimera” clone (2-in-1 with mixing capability), I purchased (June 2019) the improved “Cyclops” which resembles the “Cyclops NF 2-in-1” or “LERDGE 2-in-1 V2” , so I name this variant “Cyclops NF 2-in-1“:
which can be ordered at AliExpress (affiliate links):
and uses E3D V6 nozzle (clone) and 30x10mm fan on top. The two mounting holes are 24mm apart and fit the Prusa i3 X-carriage.
Further, the two filaments cannot be mixed like the original Cyclops but either filament A or B can be fed into the nozzle, but not both at the same time. Also, one can print with one filament solely, a 2nd filament must not be present.
single filament printing possible without 2nd filament being present
cannot mix colors
long retraction required for tool change (>34mm)
long transition purge (~55mm)
custom PTFE or nylon piece in the heatbreak (not easy to source)
uncoordinated retraction can cause one filament blocking another
Model & Part Cooler
I quickly modeled the heatsink in OpenSCAD:
so I was able to adapt my Parametric Part Cooler with following settings part_cooler(name="cyclops nf",m=30,wx=25,yoff=10):
I finally turned the heatblock around (from the default orientation), so I could see the nozzle better and the LED strip shining more direct on the nozzle and bed.
The long tool switching retraction of > 34mm imposes quite additional risk of jamming combined with temperature sensitivity: depending on the temperature the pulled back of end of filament changes shape, and may not able to re-enter at next tool switch – so I’m a bit skeptical on the reliability – time will tell.
As I use print3r solely (without GUI), I set following in the printer profile:
# -- slicer=slic3r, slic3r-pe and prusa only:
retract_length_toolchange = 36
which I use as print3r @e2-nf-t1 ... in case I like to print with 2nd filament only:
T0: purge 20mm
T0: retract -36mm
T1: forward 36mm
T1: purge 60mm
reset E meter and go back to absolute positioning/extruding
go back to Y380 (absolute)
T1: retract extrusion -2mm
T1: retract -36mm quick
T0: forward 36mm quick
switch off heating and motors
This way I keep T0 as default, and on-demand switch to T1 only with @e2-nf-t1 macro in operations. One case is not covered: if I abort a print then T1 is still active in the printhead and manually needs to be retracted (future print3r version will resolve this).