- 2021/03/04: fixing various bugs in
slicer4rtnas disovered printing more complex pieces, supporting
prusa-sliceras well aside
slic3r, pushing the limits with overhangs
- 2021/03/02: documenting my findings, a few photos, some early conclusions (not even one day old), conic sliced and tilted sliced.
It has been target of many efforts to print 90° overhangs without support on 3-axis 3D printers as with ordinary Z slicing, each layer requires a support underneath; hence, every overhang then needs a support structure if the model itself doesn’t provide it.
But if . . . one slices non-planar? That’s what I thought about for a couple of years and kept it in the back of my mind. In January 2021 I came across Rotating Tilted Nozzle (RTN) aka RotBot as developed by ZHAW University of Applied Sciences Zurich (Switzerland). I began to design my own approach of the printhead and then started to code my own conic slicer, as the paper which might explain it wasn’t published yet by ZHAW.
While reflecting on the output of the 4-axis conic sliced models, I thought what if I simply make the cone angle flatter than 45° but 20° or even less so the vertical nozzle can print it?
As part of my research I coded
gcode-sim.scad together so I can visualize G-code within OpenSCAD and position the 3-, 4- or 5-axis nozzle at any extrusion segment of the G-code:
Conic Slices Simulation
A simple overhang model (nr 3) conic sliced at 25° for 0.4mm nozzle, 0.2mm layer height:
Tilted Slices Simulation
The same overhang model (nr 3) tilted sliced at 25° for 0.4mm nozzle, 0.2mm layer height:
Conic Slices Print Tests
And on the afternoon of March 1st 2021 I ran my G-code for the first time on an ordinary 3-axis printer, a cheap CTC DIY I3 Pro B (Prusa-i3 like), in the attempt to print 90° overhangs, with a conic sliced overhang model:
Wow – it seems to have worked! There were still some issues, like the nozzle without extrusion moved into the print as I forgot map linear motions without extrusion also to conic coordinates as well, and some other minor things.
Next Day Attempts
The print is still pretty ugly due to the obvious under-extrusion, but the geometry seems to work overall. The overhang on the left-front isn’t evenly, as the outer wall print speed is still too high.
Very clean print so far but the overhang is limited to direction (see below of overall considerations).
Well, it works, but here are some limitations of using non-planar slicing:
- conic sliced overhangs need to be going out- or inward from a central point
- more complex pieces need to be volume decomposed or segmented, e.g. some sub-volume sliced ordinary vertically Z-wise, others conic sliced where needed – this is part of my research on 4-axis and 5-axis printers; and I was hoping some of the findings can be applied to 3-axis 3D printer as well (as this post shows)
- the printhead geometry with heatblock sock, partcooler, LED light they quickly come into way with larger pieces and larger overhangs
- this might look minor, but part coolers play significant role for quality prints, so they need to be optimized for non-planar printing
- cone angle
- 15° works, sufficient space around the nozzle, but on the edge for overhangs
- 20° works better, layers more stable beneath the overhang
- 25° works too, but is the limit on my E3D V6 clone
- single direction angled slice like with belt-printer
- only one direction overhang possible, but good quality
- tilt angle:
- 25° works good, yet, the heatblock comes into the way rather quickly with my sample overhang model
Conic vs Tilted Slices
Issues to Resolve
- more tests
- more beautiful prints
- fine tune flow-rate
- fine tune outer wall of overhangs, slow them down
- support more slicers
- Slic3r: supported since
- Prusa Slicer: supported since
- Cura Engine: not yet
- Print3r: not yet
- Slic3r: supported since
- support skirts (again): due the slicer algorithm the skirt must omitted before pre-processing but be added at last stage or post-processing
- redesign my part cooler so I can test print larger overhang pieces
- find collision algorithm (along with given parametric printhead geometry), that’s part of the 4-axis and 5-axis slicing procedure
I will update this blog-post as I progress.
2-sided overhang model nr 4
Trying out an overhang model which extends -Y and Y (as side-ways the part-cooler comes into the way)
There are still inconsistencies with extrusion calculation, but the prints getting cleaner.
4-sided overhang model nr 6
Sample print comes soon as I need to redesign my part cooler so I can print this piece.
1-sided long 4mm thick overhang model nr 3
Long 40mm overhang, just 4mm thick extending nose . . .
[ sample print with photos coming soon ]
1-sided long 2mm thick overhang model nr 3
Long 40mm overhang, just 2mm thin extending nose, let’s push the limits of what’s possible:
Very good print so far, much better than my previous attempt were I sliced with
Note: I started with
slic3r as core slicer, and just switched to test
prusa-slicer as core slicer of
slicer4rtn – I have to investigate a couple of thousands G-code lines to figure out what’s going on.
Short overhang (conic sliced)
slicer4rtn --angle=25 overhang3l-refined-center.stl ---slicer.max-fan-speed=50 --slicer.bed-temperature=50 --bed-center=80,60 --slicer.layer-height=0.2 --flow-rate=1.5 --slicer.retract-length=4 --output=o3l.gcode --zoff=-0.2
max-fan-speedreduced as there is no heatblock sock anymore
layer-height=0.2gives faster speed than 0.1, 0.3 output is too rough
flow-rateneeds further experimentation
angle=25seems the max, otherwise the hexagon on the nozzle will touch existing print
Short overhang (tilted sliced)
slicer4rtn --angle=25 overhang3l-refined-center.stl -k --axis=3 --slicer.max-fan-speed=50 --slicer.bed-temperature=50 -v --bed-center=80,60 --slicer.layer-height=0.2 --flow-rate=1.5 --slicer.retract-length=4 --output=overhang3l-axis=3.gcode --zoff=-0.2
slicer4rtnthere is no rotating tilted nozzle, so slice only tilted into one direction (by default -Y direction)
- heatblock geometry matters with this tilted sliced print much more than with conic sliced print above, print looks better than conic sliced mainly I haven’t had time to fine-tune conic sliced printing yet
Short bi-direction overhang (conic sliced)
slicer4rtn --angle=25 overhang4l-refined-center.stl -k --slicer.max-fan-speed=50 --slicer.bed-temperature=50 -v --bed-center=130,60 --slicer.layer-height=0.2 --flow-rate=1.5 --slicer.retract-length=4 --slicer.fill-density=10 --slicer.external-perimeter-speed=10% --output=overhang4l.gcode --zoff=-0.2
slicer.external-perimeter-speed=10%makes a significant difference with better overhangs (slower printed)
Long thin overhang (conic sliced)
slicer4rtn --angle=25 overhang3l2mm-refined.stl -k --slicer.max-fan-speed=50 --slicer.bed-temperature=50 -v --bed-center=130,70 --slicer.layer-height=0.2 --flow-rate=1.5 --slicer.retract-length=4 --slicer.fill-density=10 --slicer.external-perimeter-speed=10% --output=overhang3l2mm.gcode --slicer.nozzle-diameter=0.4 --zoff=-0.1 --slicer=slic3r
- very good print (much better than
slicer4rtn --angle=25 overhang3l2mm-refined.stl -k --slicer.max-fan-speed=50 --slicer.bed-temperature=50 -v --bed-center=130,70 --slicer.layer-height=0.2 --flow-rate=1.5 --slicer.retract-length=4 --slicer.fill-density=10 --slicer.external-perimeter-speed=10% --output=overhang3l2.gcode --slicer.nozzle-diameter=0.4 --slicer=prusa-slicer
- as the print progress it becomes worse, any inconsistency adds up, even though while it prints things look not that bad,
- but as the print cools off, the geometry deforms further, e.g. one the print finished, the piece keeps changing until room temperature is reached
slicer4rtntries to interpolate
Eextrusion, and if prusa-slicer had some fancy retract / forward procedure, it might mess up my algorithm (to be investigated)
- Conic Slicing for Rotating Tilted Nozzle (RTN)
- Rotating Tilted Nozzle (RTN)
- RotBot by ZHAW, the source of my inspiration