Tag Archives: Part Cooler

Parametric Part Cooler

Status: fully tested, but not yet released


  • 2020/12/27: individual renderings for each application
  • 2020/12/21: improve documentation, with application variables
  • 2019/06/16: design solidified, multiple variants tested (Triple Micro Swiss, Dual Micro Swiss, Chimera, Cyclops NF, Dual V6, Single V6)


Back in May 2019 I started to customize dedicated printheads, e.g. combining CR10 hotends / Micro Swiss Hotends in dual and triple mode – and thereby required a dedicated Part Cooler. This lead me to develop my own Parametric Part Cooler in OpenSCAD, adapting the design of Radial Fan Fang by Lion4H as I used that one successful for E3D V6 – now a general approach coded entirely in OpenSCAD:

I started with the central heatsink fan in the geometric center, and route the pipes (symmetrically) around it, back to the nozzle; on top using 5015mm fan blower – after a couple of hours the basic form was defined.

As long I am in edit or tune mode, the part cooler is rendered with a few corners – yet, when exporting STL format, the pipe is calculated with refined spline and smooth surface:

Screenshot from 2019-06-17 07-21-14
Parametric Part Cooler for Triple Micro Swiss Hotends
Screenshot from 2019-06-17 07-22-05
Parametric Part Cooler for Triple Micro Swiss Hotends


part_cooler() takes following variables with their defaults:

  • m=40: size of heatsink fan
  • t=2: thickness of fan mount
  • zoff=17: z-offset of air outputs
  • yoff=8: y-offset of air outputs
  • ws=12: extra width space
  • wx=35: cutout width X at the bottom
  • sq2=0.6: relative squeeze Y-wise at air outputs
  • sq3=0.6: relative squeeze Z-wise at air outputs
  • zb=0.5: relative Z bend
  • smooth=false: switch of smooth pipe rendering (false: fast rendering / editing mode, true: export to STL)
  • name="noname": label on both sides
  • tscale=1: text/label x/y scale

Needless to say, to set or alter those variables you require the fan and the hotend as a model so you can model the part_cooler() around it.


After a couple of weeks the part_cooler() was designed for various hotends:

Parametric Part Cooler: Triple Micro Swiss, Chimera, Cyclops NF, Volcano, V6 Lite
  • Triple Micro Swiss (3x CR10 Hotends): largest part cooler, and first application
  • Chimera 2-in-2: two filament/material and two nozzles, yet, a small common heatsink with E3D V6 nozzles
  • Cyclops NF or Lerdge 2-in-1 V2: simple non-mixing 2-in-1 printhead – in use currently on the Ashtar C #1 (Core XY)
  • E3D Volcano: although designs exist, I just wanted to see how my cooler performs in comparison – in use currently on Ashtar K #1 (Prusa i3-like) with 0.6mm nozzle
  • E3D V6 Lite: just an excercise to make it work for this popular setup as well – in use currently on CTC DIY I3 Pro B Y3228

Application Variables

Triple Micro Swiss

name=”triple swiss”

* requires a dedicated fan mount: Triple Nozzle Printhead

Dual Micro Swiss

name=”dual swiss”

* requires a dedicated fan mount: Dual Nozzle Printhead

Chimera 2-in-2


Cyclops NF

name=”cyclops nf”

see Cyclops NF

E3D Volcano


E3D V6 Lite

name=”e3d v6″

Pros / Cons


  • parametric, reusable design
  • source code available (OpenSCAD) [not yet]
  • modular/stack use:


  • other parts must be available as models in order to determine parameters of the part cooler
  • heatblock(s) should wear silicon cover, as air outputs partially affect heatblock which should be avoided


https://www.thingiverse.com/thing:3680198 (not yet released)

Currently all my parts reside in a single large parts.scad for all Ashtar 3D printers, it helps me to improve designs quickly, but hinders me to release part designs in OpenSCAD source individually – it’s all interconnected and therefore avoid split it into separate files for now. As soon it’s resolved I will release the OpenSCAD sources.

For now three part coolers I released in STL downloadable on the dedicated pages:


I’m quite happy with the result and use this Parametric Part Cooler for all my planned use cases.



CAD & 3D Printing: Parametric CAD with OpenSCAD

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:


  • Custom Triple (& Dual) Micro Swiss hotends (3 nozzles, 3 heatsinks)
  • Chimera 2-in-2 (2 nozzles, 1 heatsink)
  • Cyclops NF 2-in-1 (2 intake, 1 nozzle, 1 heatsink, non-mixing)
  • 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

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.

That’s it.

PS: See Parametric Part Cooler project page for new developments.

3D Printing: Diamond Hotend Part Coolers Design Reviews

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
  • max cooling was 35% with my 5015 blowers

Rating: ★★★★

See details at Dual Short Fan Shrouds.

Ring Cooler

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.

Rating: ★★★

See details at Ring Cooler.

Single Directional Cooler

This rather simple design turned out the best option so far:

  • wide: 5015 blower runs at 80% without cooling the nozzle too much
  • narrow: 5015 blower runs at 50% without cooling the nozzle too much
  • creates sufficient disturbance around the nozzle to cool opposite side as well

and the XYZ 20mm Hollow Calibration Cubes came out quite well, on all 4 sides the letters were printed OK – not as good as E3D V6 and other printheads.

Rating: ★★★

See details at Directional Cooler.

Addendum: Dual Directional Cooler

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.

Rating: ★★★ 


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.

That’s it.

3D Printing: Diamond Hotend Directional Part Cooler

Diamond Hotend Part Coolers Design Reviews:

This is the 3rd option for a Part Cooler for Diamond Hotend I designed, a pointy directional approach using again 5015 blower:

Screenshot from 2019-09-11 08-55-14Screenshot from 2019-09-11 08-55-30


Functional Setup




  • diamond_cooler_shield_blower-2mounts
  • diamond_cooler_5015-mount-inset-right
  • diamond_direct_part_cooler
    • print without support but with additional brim to increase adhesion of 1st layer
    • print with 0.4mm nozzle / line-width, with a good slicer this gives 3 perimeters for the model with 0.2mm or 0.25mm layer-height
    • -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
  • optional:
  • optional (recommended):

Vitamins (Non-Printable):

  • 5010 fan (main heatsink fan)
  • 5015 blower
  • 3x M3x20
  • 2x M3 nuts




Throttle Fan & Positioning

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.


That’s it.

3D Printing: Diamond Hotend Ring Cooler

Diamond Hotend Part Coolers Design Reviews:

After the “Diamond Hotend with Dual 5015 Fans” I thought of using a Parametric Ring Cooler and use a single 5015 blower fan:

Screenshot from 2019-09-10 03-10-20

Screenshot from 2019-09-10 03-10-29

and actually printed and assembled:





Screenshot from 2019-09-10 11-22-25

  • 1x diamond_cooler_shield_blower-2mounts
  • 1x diamond_cooler_5015-mount-inset-right
  • 1x ring_part_cooler
  • 3x M3x20 to mount 5015 blower
  • optional (recommended):

Best print ring_part_cooler in white PLA, as it obstructs the nozzle quite a lot and if you use LED strip to lighten up the nozzle, white PLA might help to keep the brightness.


  • adjust vertical distance of ring to bed/nozzle


  • vertical position only adjustable when 5015 blower is deattached





Addendum: With LED Strip

If you like light near the nozzle, there is ring_part_cooler-x=12,led=true model which looks like this:

Use adhesive LED strip of 50mm length, and tape it underneath, and use some isolated wires to fasten the strip:


That’s it.